Как переназначаются биткойны?

Как перезаписываются биткойны, то есть, что происходит с транзакцией, делает «монету» более непригодной для использования отправителем и делает ее пригодной для использования получателем?

Алиса хочет послать биткойны Бобу. Кошелек Алисы собирает транзакции, первоначально отправленные Алисе, так что денежная сумма указанных транзакций составляет, по крайней мере, сумму, которую Алиса хочет отправить Бобу. Транзакция - это в основном сообщение, поэтому немного ECDSA над этим и бум, есть транзакция: только Алиса могла создать эту конкретную транзакцию (сообщение), и любой может проверить подпись Алисы для этой транзакции.

Теперь Боб «получает» деньги. Почему он может это использовать? (Действительно, почему Алиса могла использовать деньги выше ...). Цифровые подписи сами по себе не решают эту проблему, т. Е. Транзакция /сообщение вместе со своей подписью ничего не «переносят», должен быть какой-то другой компонент, но что это? Я не могу видеть или, по крайней мере, не понимать ответ в различных источниках, которые я читал.

Это должно быть что-то о частном ключе Боба, но я не вижу, как он используется, чтобы «разблокировать» деньги, которые он получил от Алисы. Я не знаю, какие транзакции выглядят точно, но предположим, что они в основном представляют собой форму tx_1 = (открытый ключ Алисы) + сумма + (открытый ключ Боба) - в кошельке Боба в основном говорилось «воспроизводить открытый ключ Боба, и вы можете получить доступ tx_1" ? Я предполагаю, что это сделало бы трюк, но потом снова Боб уже «вошел в систему» ​​в свой кошелек, чтобы он уже доказал способность воспроизводить открытый ключ Боба.

Хорошо, я думаю, что я опережаю себя. В любом случае, полученные транзакции, как они «разблокированы»? Спасибо.

(Да, я пробовал найти ответ на BSE и в другом месте уже.)

4 голоса | спросил Erik Vesterlund 22 MaramTue, 22 Mar 2016 02:17:28 +03002016-03-22T02:17:28+03:0002 2016, 02:17:28

1 ответ


3

Сделки скованы таким образом, что, когда Алиса тратит средства, она должна предоставить две части информации, первая из которых является доказательством того, что деньги были отправлены ей, а другая - задачам для тех, кто хочет потратить деньги она посылает, поэтому, когда Алиса получила свои монеты, она предоставила адрес, IE вызов или хеш проблемы, чтобы быть более точным.

Когда Бобс дает свой адрес, он делает то же самое, он предоставляет вызов, который нужно решить, чтобы потратить монеты.

Когда Боб генерирует адрес, то, что он делает, создает пару ключей, секретный ключ, который он держит в секрете, когда хочет потратить средства, а открытый ключ дважды хэшируется и закодирован в специальном формате (Base58Check) , и это закодированная хешированная ценность того, что он разделяет с Алисой.

Итак, когда Алиса платит Бобу, она создает новую транзакцию, которая ссылается на старую транзакцию, из которой она тратит, эта старая транзакция имеет хэш Alice's PublicKey, она платит тем, кто может продемонстрировать, что владеет частным ключом ECDSA который создал адрес Алисы. Это легко проверить, потому что Алиса предоставляет открытый ключ, который хэширует по этому адресу, и она подписывает транзакцию расходов с помощью закрытого ключа и добавляет подпись к транзакции, которая тратит средства.

Это означает, что ей нужно не только доказать, что у нее есть закрытый ключ, но она также должна доказать, что, имея частный ключ, она утверждает расходы, подписывая транзакцию, которая тратит ее средства.

ответил galileopy 22 MaramTue, 22 Mar 2016 02:39:40 +03002016-03-22T02:39:40+03:0002 2016, 02:39:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132