Categories: All - блокчейн - безопасность

by Роман Чумаков 3 years ago

324

Блокчейн

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

Блокчейн

Блокчейн

Типы блокчейна

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

Возможности блокчейна

Уникальность
Неизменяемость
Обеспечение безопасности
Умная собственность
Генерация криптовалюты
Передача активов между участниками
Платформа для умных контрактов
Верификация транзакций
Распределенный консенсус
Механизм консенсуса – это ряд шагов, предпринимаемых всеми или почтим всеми узлами в блокчейновой сети для достижения планируемого состояния или значения.
Консенсус – это процесс согласования финального состояния данных между узлами, не доверяющими друг другу.
Благодаря этому механизму блокчейн позволяет согласовать истину, признаваемую всеми сторонами без привлечения централизованного авторитета.

Распределенные системы

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

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

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

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

фатальный отказ: происходит, когда узел попросту рухнул.

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

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

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

Доступность достигается, если оба узла работоспособны и функционируют, а в ответ на запросы посылают наиболее актуальную копию данных

Достоинства и недостатки блокчейна

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

Первичный блок

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

Определение

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

Основные свойства

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

Цепочка - последовательность блоков (записей).

Общие элементы блокчейна

Узел
Узел в блокчейновой сети выполняет различные функции в зависимости от принимаемой роли. Узел может предлагать и проверять транзакции, выполнять майнинг для обеспечения консенсуса и защищать блокчейн.
Скриптовый язык или язык программирования
Скрипты или программы совершают с транзакцией различные операции для обеспечения тех или иных функций.
Пиринговая сеть
Речь идет о такой сетевой топологии, где все участники сети могут общаться друг с другом, отправлять и получать сообщения.
Блок
Состоит из множества транзакций и других элементов, таких как хеш предыдущего блока (указатель хеша), метка времени и случайное число.
Транзакция
Это передача актива с одного адреса на другой.
Это фундаментальный элемент блокчейна.
Адрес
Это уникальные идентификаторы, применяемые при блокчейновой транзакции для обозначения отправителя и получателя.