💬 Безопасность, блокчейн и хешированные заголовки…

Безопасность, блокчейн и хешированные заголовки… 👑 Premium-робот: получай более 20-ти торговых идей в день!
Размер текста

Безопасность, блокчейн и хешированные заголовки…

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

Была создана и распространяется ложная мифология о том, что вам нужно запустить «полный узел» для защиты сетей блокчейна. Обману способствовали лица, связанные с BTC Core, стремящиеся сохранить контроль над соответствующей системой. Такие люди говорят вам, что вы помогаете управлять сетью, удерживая блоки. Они не указывают, что механизм консенсуса в Биткойне полностью основан на создании и распределении блоков. Узлы были определены в разделе 5 моего технического описания:

  • Новые транзакции рассылаются всем узлам.
  • Каждый узел собирает новые транзакции в блок.
  • Каждый узел работает над поиском сложного доказательства работы для своего блока.
  • Когда узел находит доказательство работы, он рассылает блок всем узлам.
  • Узлы принимают блок только в том случае, если все транзакции в нем действительны и еще не потрачены.
  • Узлы выражают свое принятие блока, работая над созданием следующего блока в цепочке, используя хэш принятого блока в качестве предыдущего хэша.
  • Для систем, не являющихся узлами, нет необходимости распространять блоки. Все узлы должны это делать. В Биткойне существует единственный механизм консенсуса: это создание действительного блока. Требуется, чтобы узлы не только создавали блок, но и поддерживали его в течение 100 блоков после проверки блока. То есть, если в момент времени T(0) узел n(i) обнаруживает блок, узел получает только оплату, и блок считается урегулированным только в момент времени T(100). Другими словами, период погашения в 100 блоков является частью механизма консенсуса Биткойн. Это не просто обнаружение блока, а построение всех доступных блоков, что формирует консенсус внутри Биткойн.

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

    Представьте, что Алиса, Боб и Чарльз голосуют на выборах. Каждый год результат будет зависеть от того, проголосуют ли Алиса, Боб и Чарльз за первый или второй вариант. Теперь в игру вступает Эдгар. Входит Эдгар и говорит: «Я не буду голосовать». Теперь Эдгар приводит тысячу друзей, и все они не голосуют. Результат остается полностью основанным на решении Алисы, Боба и Чарльза. Эдгар может сказать, что за ним стоит большинство людей, но никто из них не голосует, поэтому никто из них не имеет значения в процессе. Так работает Биткойн.

    В Биткойне может быть только несколько активных узлов. Биткойн распространяется как система Парето, при этом за любой период корректировки сложности может быть обнаружено не более 2016 блоков. Следовательно, поскольку система не является равноправной и поскольку она не может быть спроектирована так, чтобы быть равноправной, всегда будет несколько крупных корпораций, находящих решения для большинства блоков. В результате в любой момент времени может существовать от 25 до 200 узлов.

    А как насчет безопасности системы?

    Итак, мы знаем, что узлы имеют значение только тогда, когда они создают блоки. Как объяснялось, это единственная методология консенсуса в биткойнах. Аргумент против этого заключается в том, что «полные сетевые узлы», как они были ложно описаны, считаются важными для хранения полных копий блоков. Утверждается, что только с полными копиями блоков люди могут узнать, произошло ли изменение в сети. Аргумент может быть продемонстрирован как ложный.

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

    При анализе структуры заголовка блока читатель заметит, что корень Меркла (хеш-структура самого высокого уровня и алгоритм двоичного дерева) содержится в заголовке блока.

    Источник изображения: https://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html

    Структура блока Биткойн включает двоичное дерево или корень Меркла, который добавляется к хэшу предыдущего блока и другой информации. Информация в заголовке блока объединяется и хэшируется. Следовательно, если корень Merkle или какая-либо информация в заголовке блока каким-либо образом изменится, весь блок станет недействительным.

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

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

    Ирония заключается в том, что аргумент в пользу распределения всего блока по всем системам в сети Биткойн вместо использования упрощенной проверки платежей (SPV) свидетельствует о недоверии к алгоритму целостности и, следовательно, недоверии ко всей системе. Логически, если вы считаете, что изменение любой транзакции в блоке приводит к совершенно другому корню Меркла и, следовательно, к совершенно другому хеш-заголовку для блока, легко понять, что хранение только хеш-заголовка дает вам столько же информации. о целостности блока с течением времени, а также о хранении всего блока.

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

    Свежие новости по теме: Криптовалюта, NFT и криптобиржи

    🚀