Пост «Технологии распределенного реестра и механизмы консенсуса» впервые появился на 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.
Выбор правильного механизма консенсуса для вашего проекта
Факторы, которые следует учитывать:
Технические требования: убедитесь, что механизмы соответствуют пользовательским требованиям, например, объему и скорости транзакций.
Потребности в безопасности: убедитесь, что безопасность и целостность данных не поставлены под угрозу.
Масштабируемость. Насколько хорошо выбранный вами механизм способен справиться с ростом количества транзакций?
Энергоэффективность: перед выбором убедитесь в эффективности и доступности ресурсов.
Случаи использования:
dApps: Pos используется для безопасных децентрализованных приложений.
Смарт-контракты: PoS можно использовать для смарт-контрактов Ethereum.
Цепочка поставок: 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 является основой инноваций в области блокчейна