Как вы можете проверить, что блокчейн / DLT не был подделан? - PullRequest
0 голосов
/ 14 ноября 2018

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

Я также понимаю, как в контексте PoW / PoS / PoET / (вставьте здесь любой механизм ненадежного консенсуса) процесс проверки затрудняет для злоумышленника (или группы лиц) вмешиваться в блок, поскольку у него не было бы необходимого ресурсы для широковещательной передачи экземпляра регистра всем участникам сети, чтобы они обновили свою версию до неправильной.

Мой вопрос: если, скажем, кому-то удается изменить блок, происходит ли когда-нибудь процесс проверки целостности? Является ли это фактической частью механизма проверки и если да, то как далеко в истории это зашло? Нужно ли когда-либо проверять целостность, т. Е. Блока номер 500 из 10000, и если да, то как мне это сделать? Нужно ли начинать с блока 10000 и проверять все блоки оттуда до блока 500?

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018

Согласно этой статье, когда новый блок транслируется в сеть, целостность его транзакции проверяется и проверяется по истории транзакций. Проблема с проверкой целостности возникает только в том случае, если в сеть передается вредоносная длинная цепочка блоков. В этом случае протокол заставляет узлы принимать эту самую длинную цепочку. Обратите внимание, что эта самая длинная цепочка поддерживает свою собственную целостность и проверяется самостоятельно. Но это проверено против его собственной версии правды. Имейте в виду, что это возможно только в том случае, если злоумышленник имеет мощность хеширования, которая составляет не менее 51% от мощности хэширования сети. И этот вид власти предполагается практически невозможным. https://medium.com/coinmonks/what-is-a-51-attack-or-double-spend-attack-aa108db63474

0 голосов
/ 15 ноября 2018

У меня вопрос: если, скажем, кому-то удастся изменить блок, происходит ли когда-нибудь процесс проверки целостности?

Изменить блок , где ? Если вы хотите изменить мою копию блока на моем компьютере, как они это сделают? Взломав мой компьютер? И как это повлияет на кого-то еще?

Является ли это реальной частью механизма проверки, и если да, то как далеко в истории это зашло? Нужно ли когда-либо проверять целостность, т. Е. Блока номер 500 из 10000, и если да, то как мне это сделать? Нужно ли начинать с блока 10000 и проверять все блоки оттуда до блока 500?

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

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

0 голосов
/ 15 ноября 2018

Начнем с того, что вмешательство в блок не становится почти невозможным из-за нехватки ресурсов для широковещательной рассылки неправильного регистра всем узлам. Вещание не обязательно ресурсоемкое. Это цепная реакция, которую нужно только вызвать. Проблема с подделкой блоков с цепочками возникает из-за сложности повторного вычисления действительных хэшей (отвечающих уровню сложности блоков) всех последовательных блоков (блоков, которые следуют после того, как был изменен блок). Поскольку изменение блока изменяет его хэш, который, в свою очередь, изменяет предыдущий атрибут хэш-функции следующего блока, следовательно, делает недействительным его ранее правильный хэш и так далее до самого последнего блока. Если, скажем, последний индекс блока равен 1000. И если вы вмешаетесь в 990-й блок. Это подразумевает, что вам придется повторно майнить (пересчитать действительный хеш путем случайного изменения значения nonce) блоки с 990 до 1000. Само по себе это очень сложно сделать. Но, скажем так, как-то вам удалось это сделать, но к тому времени, когда вы передадите свою обновленную цепочку блоков, будут другие блоки (с индексом, скажем, 1001, 1002), добытые другими майнерами. Таким образом, ваш не будет самым длинным действительным блокчейном, и поэтому будет отклонен.

...