Satoshi принят "выход подход" в Bitcoin, что означает выход транзакции должен быть полностью израсходованы, а также различные выходы одного и того же адреса должны быть потрачены отдельно. Есть некоторые известные проблемы этого подхода:
1. scriptSig тягучесть: Так как ссылка на UTXO зависит от хэш транзакции, scriptSig податливость нарушит цепочку непроверенных сделок.
2. Не оптимально для микроплатежей. Поскольку выходы являются дискретными, это не экономично тратить крошечные выходы
Здесь я предлагаю иной подход, то "балансовый счет подход"
1. Только P2SH принимается. ScriptPubKey просто скрипт хэш. Люди будут посылать Bitcoin по адресам, так же как и то, что мы делаем сейчас.
2. Вместо того, чтобы хранить индекс UTXO, минер будет хранить индекс ненулевой баланс-адрес (NZBA). Когда адрес получает Bitcoin, шахтер либо создать новую запись в наборе NZBA (если адрес не существует) или добавить полученную сумму на соответствующий адрес
3. Для того, чтобы провести Bitcoin, частный владелец ключ должен предоставить подписи и сценарий, так же как текущий P2SH. Кроме того, отправитель должен явно указать количество Bitcoin, чтобы провести
4. Отправитель указывает только, сколько Bitcoin отправляется на указанный адрес. Отправитель не заботится окончательный баланс получателя.
5. Когда шахтер видит сделку, он будет хэшированией сценария и искать соответствующий хэш в наборе NZBA. Если отработанное количество не больше, чем остаток адреса, шахтер проверит подпись.
6. При оценке баланса адреса, все неподтвержденные транзакции будут рассматриваться. Таким образом, люди могли бы провести вновь получили Bitcoin, до тех пор, пока оба приемных и расходы операции включается в том же блоке.
7. Блок действует до тех пор, как все сценарии являются действительными и ни один из адресов баланса не является отрицательной
Это лучше, чем текущий выходной подход, потому что:
1. Там нет ссылки на TXID. scriptSig податливость не аннулирует цепь неподтвержденной сделки
2. Оптимально для микроплатежей. Адрес с 100000000 месторождений 1 Satoshi будет занимать только 1 запись в наборе NZBA, и можно было бы потратить как 1 Bitcoin с одной подписью
3. Даже без микроплатежей, это экономит пространство, потому что не будет ссылка TXID (32 байта) на входе. Вместо этого, стоимость сделки требуется, которая принимает 8bytes. Таким образом, по крайней мере, 24bytes сохраняются для каждого входа.
4. Изменение выходного сигнала не требуется, как баланс счета можно потратить частично.
5. Если люди не хотят, чтобы повторно использовать адрес причине конфиденциальности, они всегда могут полностью провести остаток адреса и создать изменения, так же как и то, что мы делаем сейчас. (Space все еще сохраняются, поскольку TXID не используется)
Тем не менее, я не уверен, если подход баланса лицевого счета, как вычислительно эффективным в качестве выходного подхода (с точки зрения использования памяти и т.д.) Кроме того, я не уверен в своей причастности к тонким клиентам.
Любые комментарии?