Что такое биткойн?

Итак, я понимаю, как работают блокчейны[1]. Я понимаю, как работает доказательство работы[2]. И я понимаю, как они работают вместе. Я также понимаю (или, по крайней мере, я думаю, что понимаю :), как работают транзакции (блок может содержать внутри себя произвольные данные, поэтому он может содержать сообщение, подписанное A, о том, что он переводит 5 биткойнов B).

Но какое место в этой картине занимает сам биткойн?

Это пересчитываемое число каждый раз (так что, если A дает 1 биткойн B, то, если я хочу подтвердить, я проверяю, что у A есть 1 биткойн, чтобы отдать, проверяя, кто отправил ему что-нибудь, и удостоверяюсь, что у него есть что дать прочь и т.д. до награды майнера)? Если это так, то это нужно будет делать каждый раз, когда добывается блок (если нет, я (у которого 0 биткойнов в моем «кошельке») могу подтвердить, что я даю B 100 биткойнов, добываю блок и включаю эту транзакцию. блокчейн сам по себе все еще будет работать (это означает, что хэши работают и решают доказательство работы), бухгалтерский учет не будет).

Я имею смысл или я совсем не в себе?

[1]. Это связанный список, но вместо ссылок по адресам это ссылки по хешам.

[2]. Измените часть узла так, чтобы хеш узла начинался, например, со 100 нулей.

Ответы (1)

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

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

Кроме того, нет такого объекта, как биткойн. То, что люди называют биткойнами, — это просто ценности, связанные с результатами транзакций. Биткойнов на самом деле нет; он основан исключительно на транзакциях и их результатах.

транзакция не может создать больше ценности на своих выходах, чем она тратит на своих входах. Так как же сеть проверяет входы?
Транзакция создает выходные данные транзакции. Эти выходы транзакций используются как входы в других транзакциях. У них есть связанная ценность и набор условий, необходимых для того, чтобы потратить этот результат. Таким образом, проверка означает, что узел будет искать вывод транзакции, из которого тратятся (поскольку на него прямо ссылаются во входных данных), и убеждается, что транзакция, тратящая этот вывод, предоставляет необходимую информацию, необходимую для траты этого вывода, а также записывает его. значение для использования позже при проверке транзакции.
Итак, майнер проверяет контракт, который он помещает в блокчейн? А что, если он обманул и вставил его, даже если это было незаконно? Проверяет ли каждый майнер вверх по течению каждый контракт?
Не только майнеры, полные узлы (подмножеством которых являются майнеры) проверяют все блоки и транзакции. Если блок содержит недопустимую транзакцию, то все полные узлы (включая других майнеров) отклонят этот блок за нарушение правил консенсуса и продолжат работу, как если бы этот блок не существовал. Не майнеры определяют, действительна ли транзакция; полные узлы определяют это для себя.
Спасибо за этот ответ!! Всего один небольшой вопрос, согласно этому ответу , по состоянию на шесть лет назад в блокчейне было зафиксировано почти 10 миллионов транзакций. Насколько давно проверяется каждая транзакция (в официальном ПО)? И (просто любопытно) были ли (в дикой природе) попытки двойного расходования в сговоре с майнером, которые были остановлены другими?
Транзакции проверяются «от начала до конца», т. е. проверяется каждая транзакция в цепочке транзакций. Однако есть разумные способы сделать это помимо проверки каждой отдельной транзакции для каждой новой транзакции. Для Bitcoin Core поддерживается отдельная база данных, содержащая набор неизрасходованных выходных данных транзакций. Любой UTXO в этой базе данных означает, что он не израсходован и что транзакция, из которой он получен, была действительной. Таким образом, при проверке транзакции он может получить UTXO, которые он тратит. Если они существуют, можно с уверенностью предположить, что все транзакции в цепочке транзакций действительны.