Как работает транзакция в блокчейне? Пошаговое прохождение - PullRequest
0 голосов
/ 29 июня 2018

Я действительно новичок в Blockchain и в том, как работает биткойн, и я действительно не могу найти ни одного источника, который бы подробно описывал, как транзакция в blockchain работает, и пошагово.

Итак, вот то, что я собрал на многих сайтах, и я до сих пор не уверен, что это правильно, потому что, кажется, все говорят разные вещи.

Пожалуйста, дайте мне знать, если я где-то ошибаюсь:

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

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

Эта подпись передается всем членам сети, то есть узлам.

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

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

Заголовок блока - это, по сути, хеш корневого хеша, хеша предыдущих блоков и одноразового номера.

1 Ответ

0 голосов
/ 01 июля 2018

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

Правильно, но не совсем точно. Вы можете иметь несколько открытых ключей, которые принадлежат одному закрытому ключу. Закрытый ключ по сути является вашим «кошельком», а также необходим для подсчета всех принадлежащих вам монет. Это дает доступ ко всем вашим средствам.

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

Также здесь вам понадобится ваш личный ключ, так как вы также можете отправить с нескольких входов

Вы используете взаимозаменяемость проверки здесь, но я думаю, есть два вида:

  • создание действительной транзакции (которую можно выполнить в автономном режиме с помощью ваших ключей)

  • с подтвержденной сетью транзакцией (что происходит в режиме онлайн, когда она включена в блок)

После проверки моя подпись или хэш моей транзакции вместе с моим личным ключом отправляется майнерам ...

Надеюсь, ваш закрытый ключ никуда не отправляется. Вы отправляете транзакцию, которая содержит ваш открытый ключ и подписана с частным ключом. Еще раз, это возможно и даже рекомендуется делать в автономном режиме, чтобы не раскрывать свой закрытый ключ. Подписанная транзакция может быть безопасно отправлена ​​в сеть без раскрытия каких-либо ключей. Это функция безопасности аппаратных кошельков, таких как Ledger

.. которые тоже получают много других транзакций.

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

Эти транзакции хэшируются с использованием дерева меркле и, наконец, создается заголовок блока. Заголовок блока проверяется другими майнерами, чтобы убедиться, что он действителен или нет. Если это так, то он добавляется в блокчейн.

Да, звучит примерно так.

...