Пост «Технологии распределенного реестра и механизмы консенсуса» впервые появился на Coinpedia Fintech News

Введение

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

Что такое технология распределенного реестра (DLT)? 

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

Ключевые характеристики

  • Децентрализация: 

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

  • Прозрачность:

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

  • Неизменяемость:

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

Сравнение с традиционными базами данных

Традиционные базы данных, такие как SQL и MongoDB, используют централизованные механизмы обслуживания и контроля, что передает все полномочия единому точечному источнику. Как правило, CRUD (создание, чтение, обновление и удаление) используется для выполнения любой операции с данными. Этот метод уязвим для взлома, повреждения и потери. С другой стороны, ТРР используют известные алгоритмы консенсуса для обеспечения прозрачности, целостности, безопасности и децентрализации при ведении и проверке записей.

Типы распределенных реестров  

  • Блокчейн:

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

    • Инструменты разработчика. Некоторые инструменты разработчика — это Geth, который запускает и развертывает контракты и код Ethereum. Parity — это быстрый, безопасный и надежный клиент Ethereum. Truffle Suite — это среда разработки для Ethereum. В последнее время развертывание dApps стало заметным вкладом.

  • Направленный ациклический граф (DAG):

    • Техническое объяснение: Если говорить о сетях, невозможно не упомянуть графы; одной из таких структур является DAG. Здесь транзакции связаны друг с другом, образуя ориентированный граф, не образующий цикла. Это обеспечивает масштабируемость и эффективность.

    • Инструменты разработчика: IOTA SDK предоставляет набор инструментов для сети IOTA, который использует DAG под названием Tangle.

  • Хэшграф:

    • Техническое объяснение: Hashgraph опирается на систему сплетен. Узлы общаются с другими узлами для обмена деталями (событиями). Затем виртуальное голосование помогает достичь соглашения.

    •  Инструменты разработчика: Hedera Hashgraph SDK. Содержит множество полезных инструментов для создания децентрализованных приложений в сети Hedera.

Важность механизмов консенсуса

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

Проблемы, решаемые механизмами консенсуса:

  • Двойные расходы. Это проблема, связанная с расходованием одного и того же актива более одного раза.

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

Вот пример известного метода PoW:

импортировать хеш-библиотеку

время импорта

defproof_of_work(блок, сложность=4):

    префикс = ‘0’ * сложность

    пока правда:

        блок['nonce'] += 1

        hash_result = hashlib.sha256(str(block).encode()).hexdigest()

        если hash_result.startswith(префикс):

            возвратный блок, hash_result

блок = {'транзакции': [], 'nonce': 0}

start_time = время.время()

новый_блок, блок_хэш = доказательство_работы(блок)

конечное_время = время.время()

print(f»Блок добыт: {block_hash}»)

print(f»Затраченное время: {end_time – start_time} секунд»)

Общие механизмы консенсуса 

  • Доказательство работы (PoW):

    • Техническое объяснение: Доказательство работы также известно как майнинг. В этом механизме консенсуса пользователи должны решать криптографические головоломки, которые вознаграждают их. Это соревнование, в котором тот, кто первым решит, сможет передать новый блок. Этот алгоритм использует хеширование для защиты блокчейна. 

    • Реализация разработчиком: инструменты для реализации PoW предоставляются средой разработки биткойнов, такой как Bitcoin Core.

  • Доказательство доли (PoS):

    • Техническое объяснение: Proof of Stake выбирает валидаторов на основе количества имеющихся у них монет и ставки в качестве залога. Процесс выбора зависит не только от ставки, но и от таких факторов, как возраст монеты и случайность. Для добавления нового блока выбираются валидаторы с наименьшим значением хеш-функции и наибольшей суммой ставки.

    • Реализация разработчика: инструменты и библиотеки для PoS предоставляются Ethereum 2.0 SDK.

  • Делегированное доказательство доли (DPoS):

    • Техническое объяснение:  использует голосование и делегирование для проверки транзакции и создания новых блоков.

    • Реализация разработчика: инструменты и библиотеки для DPoS предоставляются EOSIO SDK.

  • Практическая византийская отказоустойчивость (PBFT):

    • Техническое объяснение: PBFT обменивается сообщениями между узлами для достижения консенсуса. Он может управлять и терпеть до одной трети узлов.

    • Реализация разработчика: инструменты и библиотеки для PBFT предоставляются Hyperledger Fabric SDK.

Реализация механизмов консенсуса 

Примеры кода 

Вот пример фрагмента Pos-кода:

Валидатор класса:

    def __init__(сам, ставка):

        self.stake = ставка

        саморепутация = 0

валидаторы = [Валидатор(доля) для ставки в [100, 50, 30]]

selected_validator = max(валидаторы, key=lambda v: v.stake + v.reputation)

print(f»Выбранный валидатор со ставкой: {selected_validator.stake}»)

Инструменты и платформы разработчика 

Вот некоторые из инструментов разработчика:

  • Truffle Suite: поддерживает разработку Ethereum.

  • EOSIO SDK: используется в приложениях DPos.

  • Hyperledger Fabric SDK: используется в корпоративном блокчейне с использованием PBFT.

Вопросы производительности:

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

Выбор правильного механизма консенсуса для вашего проекта  

  • Факторы, которые следует учитывать:

  1. Технические требования: убедитесь, что механизмы соответствуют пользовательским требованиям, например, объему и скорости транзакций.

  2. Потребности в безопасности: убедитесь, что безопасность и целостность данных не поставлены под угрозу.

  3. Масштабируемость. Насколько хорошо выбранный вами механизм способен справиться с ростом количества транзакций?

  4. Энергоэффективность: перед выбором убедитесь в эффективности и доступности ресурсов.

  • Случаи использования: 

  1. dApps: Pos используется для безопасных децентрализованных приложений.

  2. Смарт-контракты: PoS можно использовать для смарт-контрактов Ethereum.

  3. Цепочка поставок:  Hyperledger Fabric (PBFT) используется для корпоративных решений, требующих высокой пропускной способности и безопасности.

Будущие тенденции в механизмах консенсуса  

Инновации 

  • Доказательство полномочий (PoA): этот механизм использует заранее выбранные объекты для проверки. Используется в VeChain.

  • Гибридные механизмы: комбинация различных элементов, таких как PoS и PoW, используется для создания универсальных и настраиваемых механизмов консенсуса.

Решения по масштабируемости

  • Решения уровня 2:

Lightning Network: Биткойн использует это исправление вне сети для более быстрых и дешевых переводов. Он устанавливает пути оплаты между пользователями. Плазма и роллапы: Ethereum масштабируется с помощью этих инструментов. Они обрабатывают сделки вне сети и дают краткую информацию об основной сети. Это сокращает работу основного блокчейна.

  • Шардинг:

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

Параллельная обработка: шарды могут одновременно обрабатывать сделки. Это значительно увеличивает количество сделок, которые может обработать сеть.

Практические примеры и тематические исследования 

Реальные приложения

Некоторыми реальными приложениями этих механизмов являются биткойны, использующие Pow, Ethereum 2.0, использующий PoS, и Hyoperledger Fabric, используемая IBM и различными другими предприятиями для частных блокчейнов.

Пошаговые руководства по коду: 

Ниже приведен фрагмент кода смарт-контракта Ethereum: (используется Pos)

прагма солидность ^0.8.0;

контракт SimpleStorage {

    uint256 общедоступные сохраненные данные;

    функция set(uint256 x) public {

        сохраненныеДанные = х;

    }

    функция get() возвращает public view (uint256) {

        вернуть сохраненные данные;

    }

}

Заключение

Мы рассмотрели основные идеи, лежащие в основе различных видов распределенных реестров DLT, а также различные способы достижения консенсуса. Мы говорили о том, почему эти методы важны для обеспечения безопасности и точности данных. Также мы дали несколько полезных советов, как применить их на практике. Узнайте больше о DLT и консенсусе. Попробуйте различные инструменты и системы и помогите сделать децентрализованные технологии популярнее. Ваша следующая большая идея ждет вас!

Читайте также: Почему язык программирования Rust является основой инноваций в области блокчейна