Что делает блоки в блокчейне безопасными, если у нас уже есть хэш? - PullRequest
0 голосов
/ 03 июня 2019

Что я понимаю о блокчейне, так это:
Блоки защищены хешем.
Транзакции защищены маркером.

Означает ли это, что дерево маркеров вообще не участвует в защите блоков?

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

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

1 Ответ

0 голосов
/ 03 июня 2019

Блоки защищены доказательством работы.Доказательством работы является мера, связанная с тем, сколько хешей (в среднем) потребуется, чтобы получить хеш блока, равный целевому значению сети.Чем ниже целевое значение, тем больше работы было выполнено с блоком, и тем сложнее изменить или «взломать» данные в блоке и при этом остаться действительным блоком (потому что вы должны выполнить работу снова).

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

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

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

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