第2课

Основы блокчейна Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Основы блокчейна в Filecoin

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

Актеры: Рабочие лошадки блокчейна Filecoin

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

Встроенные системные актеры

Сеть Filecoin управляется несколькими встроенными системными агентами, которые выполняют основные функции:

  • Системный актер: Выполняет общие сетевые операции.
  • Init Actor: Отвечает за инициализацию новых актеров и управление сетевыми соглашениями об именах.
  • Cron Actor: Действует как планировщик сети, запуская основные функции в каждую эпоху.
  • Актор учетной записи: Управляет учетными записями пользователей, выходящими за рамки шаблона singleton.
  • Актер Storage Miner: Координирует операции по добыче хранилища и проверяет доказательства наличия хранилища.
  • Актер рынка систем хранения: Управляет сделками по хранению данных на рынке сети.
  • Multisig Actor: Выполняет операции, связанные с кошельком Filecoin с несколькими подписями.
  • Актер платежных каналов: Управляет созданием и урегулированием платежных каналов.
  • Актер Datacap: Контролирует распределение и управление токенами datacap.
  • Актор верифицированного реестра: Управляет проверенными клиентами в сети.
  • EVM Account Actor: Представляет внешние идентификаторы Ethereum, облегчая взаимодействие с системами на базе Ethereum.

Программируемые пользователем актеры

По мере развития виртуальной машины Filecoin Virtual Machine (FVM) у разработчиков появится возможность писать и внедрять собственные акторы, аналогично смарт-контрактам в других блокчейнах. Эти программируемые пользователем действующие лица могут взаимодействовать со встроенными действующими лицами через экспортируемые API, что позволяет создавать широкий спектр приложений и сервисов на базе сети Filecoin.

Распределенная случайность в Filecoin

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

Узлы и их роли

Узлы в сети Filecoin в первую очередь классифицируются по услугам, которые они предоставляют:

  • Узлы-верификаторы цепочки: Удостоверяют блокчейн и обеспечивают соблюдение правил консенсуса.
  • Клиентские узлы: Взаимодействуйте с сетью для хранения и получения данных.
  • Узлы-поставщики хранилищ: Предложите сети емкость для хранения данных и подтвердите непрерывность хранения.
  • Узлы провайдера поиска: Быстро и надежно предоставляйте сохраненные данные по запросу.
  • Несколько реализаций протокола Filecoin сосуществуют для повышения безопасности и устойчивости сети, обеспечивая отсутствие единой точки отказа и способствуя здоровой децентрализации.

Адреса: Определение действующих лиц в Filecoin

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

  • Идентификационные адреса (f0): Числовые идентификаторы участников, обеспечивающие человекочитаемый способ ссылки на участников сети.
  • Адреса secp256k1 (f1): Производные от открытых ключей, использующих стандарт шифрования secp256k1, обычно используются для кошельков.
  • Актерские адреса (f2): Присваиваются смарт-контрактам и остаются надежными при всех развилках сети.
  • Адреса BLS (f3): Генерируются из открытых ключей BLS и используются для кошельков с шифрованием BLS.
  • Определяемые пользователем адреса акторов (f4): Гибкие адреса, которые могут быть назначены определяемыми пользователем субъектами управления адресами, что позволяет создавать пользовательские и расширяемые схемы адресации.
  • Каждый тип адреса служит определенной цели в экосистеме Filecoin, от облегчения транзакций до управления смарт-контрактами и взаимодействием с пользователями.

Наборы и блоки

Блокчейн Filecoin отклоняется от нормы линейной последовательности блоков. Здесь блоки группируются в "наборы советов", которые можно представить как моментальные снимки состояния сети в каждую эпоху, или фиксированный временной интервал на языке блокчейн. Эта модель позволяет создать более гибкий и эффективный блокчейн, позволяя одновременно производить несколько действительных блоков.

Анатомия блока Filecoin

Каждый блок в Filecoin - это пакет, содержащий заголовок и ряд сообщений, которые представляют собой действия, совершаемые участниками, например, транзакции или контрактные соглашения. Заголовок блока содержит такие метаданные, как адрес майнера, билет (доказательство работы) и CID родительских блоков. Сообщения - это "мясо" блока, в них записываются изменения состояния, такие как передача токенов и вызовы контрактов. Блоки связаны, по крайней мере, с одним родительским блоком, образуя непрерывную цепочку, восходящую к генезисному блоку.

Блоктайм: Синхронизация пульса сети

Время блокчейна в Filecoin установлено в среднем на уровне 30 секунд. Этот интервал был выбран стратегически, чтобы соблюсти баланс между оперативностью сети и практичностью ее работы. Более короткое время блокировки может увеличить скорость работы сети, но оно также будет предъявлять более высокие требования к аппаратному обеспечению и может привести к более частым сбоям во время блокировки. 30-секундное время блокировки позволяет провайдерам хранить достаточно времени для выполнения необходимых операций, таких как запечатывание секторов и генерация доказательств, не перегружая их оборудование.

Типсеты: Максимизация эффективности и вознаграждения

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

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

  • Увеличение пропускной способности сети: Используя все действительные блоки для определения состояния сети, Filecoin может обрабатывать больше данных и транзакций в каждую эпоху.
  • Вознаграждение за достоверную работу: Каждый поставщик хранилища, создавший действительный блок, получает вознаграждение, что стимулирует майнеров вносить свой вклад в работу сети и препятствует централизации.
  • Сотрудничество вместо конкуренции: Потенциальные производители блоков поощряются к сотрудничеству, так как структура набора советов не поощряет утаивание блоков, которые могут быть полезны для роста сети.
  • Устойчивость к форкам: Благодаря архитектуре tipset, Filecoin достигает более быстрой конвергенции во время форков, обеспечивая стабильность сети.
  • Ethereum JSON-RPC и Filecoin

Стоит отметить, что с интеграцией среды исполнения Filecoin EVM и принятием стандартов Ethereum JSON-RPC, понятие "набор советов" становится еще более удобным. В этом контексте, когда мы говорим о "хэше блока" в Ethereum JSON-RPC, мы на самом деле имеем в виду хэш набора блоков, который включает в себя совокупность изменений состояния всех блоков в этом наборе.

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

Консенсус файлкоина

Механизм консенсуса Filecoin, известный как Expected Consensus (EC), представляет собой краеугольный камень в его децентрализованной сети хранения данных. Цель этой главы - дать введение в EC, рассмотреть принципы его работы, технические характеристики и роль, которую он играет в поддержании целостности и надежности сети Filecoin.

Filecoin работает на основе уникального механизма консенсуса, называемого Expected Consensus (EC). В отличие от традиционных протоколов блокчейна, которые часто полагаются на Proof of Work (PoW) или Proof of Stake (PoS), EC сочетает в себе элементы случайности, мощности хранения и вероятностной византийской отказоустойчивости. По своей сути EC призван привести стимулы в соответствие с основной целью Filecoin: эффективное и надежное хранение данных.

Сущность EC

  • Децентрализация и надежность: Основная цель EC - создать децентрализованную среду, в которой хранение и поиск данных будут надежными и проверяемыми.
  • Подход, ориентированный на хранение данных: В отличие от традиционных блокчейнов, фокусирующихся на вычислительной мощности или количестве монет, EC Filecoin ставит во главу угла мощность хранения - способность хранить данные.

Основные механизмы ожидаемого консенсуса

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

  1. Вероятностная византийская отказоустойчивость:
  • EC включает в себя византийские механизмы отказоустойчивости, что делает его устойчивым к различным неблагоприятным условиям, включая злонамеренные действия узлов или выход их из сети.
  1. Выборы лидера и производство блоков:
  • В основе EC лежит процесс выборов лидера. В отличие от детерминированных процессов, наблюдаемых в других блокчейнах, EC использует вероятностный метод для выбора лидеров или майнеров, ответственных за создание блоков.
  1. Анонимность до тех пор, пока не будет доказано, что он избран:
  • Майнеры в EC остаются анонимными до тех пор, пока не докажут свой избирательный статус с помощью 'ElectionProof'. Это доказательство имеет решающее значение для обеспечения справедливости и непредсказуемости при производстве блоков.
  1. Доказательство хранения:
  • Майнеры должны предоставить 'WinningPoSt' (Proof of Spacetime), подтверждающий их вклад в объем хранилища сети.

Технические характеристики EC

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

Случайность через DRAND:

  • EC использует DRAND, внешний маячок с непредвзятой случайностью, чтобы облегчить различные аспекты протокола, включая выборы лидера.

Проверяемая случайная функция (Verifiable Random Function, VRF):

  • Майнеры используют VRF, а также случайность, полученную от DRAND, для генерации своих ElectionProof.

ElectionProof и VRF Chain:

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

Storage Power и WinCount:

  • Сила майнера в сети пропорциональна объему его хранилища.
  • WinCount определяет количество блоков, которое может произвести майнер, основываясь на мощности его хранилища и результатах его VRF.
  • Безопасность и справедливость консенсуса

Безопасность и справедливость имеют первостепенное значение в EC, и существует несколько механизмов, защищающих эти принципы:

Консенсус Ошибки и штрафы:

EC определяет конкретные типы нарушений консенсуса (например, Double-Fork Mining, Time-Offset Mining) и налагает штрафы для предотвращения злонамеренного поведения.

Источник изображений: Документация Filecoin здесь: https://spec.filecoin.io/algorithms/expected_consensus/

Взвешивание и выбор цепочки:

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

Мягкая окончательность:

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

Дранд: Распределенная случайность в Filecoin

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

Как работает Drand

  • Многопартийные вычисления (MPC): Drand выполняет серию MPC для получения случайных значений. После фазы доверительной настройки группа известных узлов подписывает заданное сообщение с помощью пороговых BLS-подписей в последовательных раундах, происходящих через регулярные промежутки времени.
  • Пороговые подписи BLS: Процесс требует минимального количества узлов (t-of-n) для подписания сообщения. Любой узел, имеющий t подписей, может восстановить полную подпись BLS. Эта подпись, будучи хешированной, создает коллективное случайное значение, которое можно сверить с открытым ключом, полученным на этапе настройки.
  • Предположения безопасности: Дранд предполагает, что по крайней мере t узлов честны и находятся в режиме онлайн. Если этот порог нарушен, противник может остановить производство случайностей, но не может их изменить.

Выходы случайности Дранда

Формат значений дранда: Узлы Filecoin получают значения драндов в определенном формате. Основные компоненты включают:

  • Подпись: Подпись BLS на предыдущем значении подписи и номере текущего раунда.
  • ПредыдущаяПодпись: Подпись BLS из предыдущего раунда Drand.
  • Раунд: Показатель случайности в последовательности, созданной сетью Дранда.

Использование Дранда в Filecoin

  • Выборы лидера: Дранд используется для выборов лидера в Filecoin, предоставляя случайное значение в каждую эпоху. Эта случайность очень важна для алгоритма Ожидаемого Консенсуса (EC), обеспечивая справедливый и непредсказуемый выбор лидера.
  • Получение значений Дранда: Узлы Filecoin получают последнее значение случайности из Drand, используя специальные конечные точки. Затем эта информация интегрируется с данными на цепочке для поддержки механизма консенсуса Filecoin.

Доказательства: Обеспечение целостности и доверия

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

Типы доказательств в Filecoin

  • Доказательство репликации (Proof-of-Replication, PoRep): Используется во время первоначального хранения данных, PoRep подтверждает, что поставщик услуг хранения создал и хранит уникальную копию данных.
  • Proof-of-Spacetime (PoSt): Непрерывная проверка того, что поставщик хранилища поддерживает сохраненные данные в течение определенного времени. PoSt также подразделяется на WinningPoSt и WindowPoSt, служащие для различных целей проверки в сети.

Роль PoRep и PoSt

  • PoRep: проверяет первоначальную репликацию данных поставщиком услуг хранения, гарантируя, что данные уникально закодированы и запечатаны.
  • PoSt: WinningPoSt используется в процессе консенсуса блоков, а WindowPoSt постоянно проверяет поставщиков услуг хранения, обеспечивая постоянное соблюдение соглашений о хранении.

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

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。
目录
第2课

Основы блокчейна Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Основы блокчейна в Filecoin

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

Актеры: Рабочие лошадки блокчейна Filecoin

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

Встроенные системные актеры

Сеть Filecoin управляется несколькими встроенными системными агентами, которые выполняют основные функции:

  • Системный актер: Выполняет общие сетевые операции.
  • Init Actor: Отвечает за инициализацию новых актеров и управление сетевыми соглашениями об именах.
  • Cron Actor: Действует как планировщик сети, запуская основные функции в каждую эпоху.
  • Актор учетной записи: Управляет учетными записями пользователей, выходящими за рамки шаблона singleton.
  • Актер Storage Miner: Координирует операции по добыче хранилища и проверяет доказательства наличия хранилища.
  • Актер рынка систем хранения: Управляет сделками по хранению данных на рынке сети.
  • Multisig Actor: Выполняет операции, связанные с кошельком Filecoin с несколькими подписями.
  • Актер платежных каналов: Управляет созданием и урегулированием платежных каналов.
  • Актер Datacap: Контролирует распределение и управление токенами datacap.
  • Актор верифицированного реестра: Управляет проверенными клиентами в сети.
  • EVM Account Actor: Представляет внешние идентификаторы Ethereum, облегчая взаимодействие с системами на базе Ethereum.

Программируемые пользователем актеры

По мере развития виртуальной машины Filecoin Virtual Machine (FVM) у разработчиков появится возможность писать и внедрять собственные акторы, аналогично смарт-контрактам в других блокчейнах. Эти программируемые пользователем действующие лица могут взаимодействовать со встроенными действующими лицами через экспортируемые API, что позволяет создавать широкий спектр приложений и сервисов на базе сети Filecoin.

Распределенная случайность в Filecoin

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

Узлы и их роли

Узлы в сети Filecoin в первую очередь классифицируются по услугам, которые они предоставляют:

  • Узлы-верификаторы цепочки: Удостоверяют блокчейн и обеспечивают соблюдение правил консенсуса.
  • Клиентские узлы: Взаимодействуйте с сетью для хранения и получения данных.
  • Узлы-поставщики хранилищ: Предложите сети емкость для хранения данных и подтвердите непрерывность хранения.
  • Узлы провайдера поиска: Быстро и надежно предоставляйте сохраненные данные по запросу.
  • Несколько реализаций протокола Filecoin сосуществуют для повышения безопасности и устойчивости сети, обеспечивая отсутствие единой точки отказа и способствуя здоровой децентрализации.

Адреса: Определение действующих лиц в Filecoin

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

  • Идентификационные адреса (f0): Числовые идентификаторы участников, обеспечивающие человекочитаемый способ ссылки на участников сети.
  • Адреса secp256k1 (f1): Производные от открытых ключей, использующих стандарт шифрования secp256k1, обычно используются для кошельков.
  • Актерские адреса (f2): Присваиваются смарт-контрактам и остаются надежными при всех развилках сети.
  • Адреса BLS (f3): Генерируются из открытых ключей BLS и используются для кошельков с шифрованием BLS.
  • Определяемые пользователем адреса акторов (f4): Гибкие адреса, которые могут быть назначены определяемыми пользователем субъектами управления адресами, что позволяет создавать пользовательские и расширяемые схемы адресации.
  • Каждый тип адреса служит определенной цели в экосистеме Filecoin, от облегчения транзакций до управления смарт-контрактами и взаимодействием с пользователями.

Наборы и блоки

Блокчейн Filecoin отклоняется от нормы линейной последовательности блоков. Здесь блоки группируются в "наборы советов", которые можно представить как моментальные снимки состояния сети в каждую эпоху, или фиксированный временной интервал на языке блокчейн. Эта модель позволяет создать более гибкий и эффективный блокчейн, позволяя одновременно производить несколько действительных блоков.

Анатомия блока Filecoin

Каждый блок в Filecoin - это пакет, содержащий заголовок и ряд сообщений, которые представляют собой действия, совершаемые участниками, например, транзакции или контрактные соглашения. Заголовок блока содержит такие метаданные, как адрес майнера, билет (доказательство работы) и CID родительских блоков. Сообщения - это "мясо" блока, в них записываются изменения состояния, такие как передача токенов и вызовы контрактов. Блоки связаны, по крайней мере, с одним родительским блоком, образуя непрерывную цепочку, восходящую к генезисному блоку.

Блоктайм: Синхронизация пульса сети

Время блокчейна в Filecoin установлено в среднем на уровне 30 секунд. Этот интервал был выбран стратегически, чтобы соблюсти баланс между оперативностью сети и практичностью ее работы. Более короткое время блокировки может увеличить скорость работы сети, но оно также будет предъявлять более высокие требования к аппаратному обеспечению и может привести к более частым сбоям во время блокировки. 30-секундное время блокировки позволяет провайдерам хранить достаточно времени для выполнения необходимых операций, таких как запечатывание секторов и генерация доказательств, не перегружая их оборудование.

Типсеты: Максимизация эффективности и вознаграждения

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

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

  • Увеличение пропускной способности сети: Используя все действительные блоки для определения состояния сети, Filecoin может обрабатывать больше данных и транзакций в каждую эпоху.
  • Вознаграждение за достоверную работу: Каждый поставщик хранилища, создавший действительный блок, получает вознаграждение, что стимулирует майнеров вносить свой вклад в работу сети и препятствует централизации.
  • Сотрудничество вместо конкуренции: Потенциальные производители блоков поощряются к сотрудничеству, так как структура набора советов не поощряет утаивание блоков, которые могут быть полезны для роста сети.
  • Устойчивость к форкам: Благодаря архитектуре tipset, Filecoin достигает более быстрой конвергенции во время форков, обеспечивая стабильность сети.
  • Ethereum JSON-RPC и Filecoin

Стоит отметить, что с интеграцией среды исполнения Filecoin EVM и принятием стандартов Ethereum JSON-RPC, понятие "набор советов" становится еще более удобным. В этом контексте, когда мы говорим о "хэше блока" в Ethereum JSON-RPC, мы на самом деле имеем в виду хэш набора блоков, который включает в себя совокупность изменений состояния всех блоков в этом наборе.

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

Консенсус файлкоина

Механизм консенсуса Filecoin, известный как Expected Consensus (EC), представляет собой краеугольный камень в его децентрализованной сети хранения данных. Цель этой главы - дать введение в EC, рассмотреть принципы его работы, технические характеристики и роль, которую он играет в поддержании целостности и надежности сети Filecoin.

Filecoin работает на основе уникального механизма консенсуса, называемого Expected Consensus (EC). В отличие от традиционных протоколов блокчейна, которые часто полагаются на Proof of Work (PoW) или Proof of Stake (PoS), EC сочетает в себе элементы случайности, мощности хранения и вероятностной византийской отказоустойчивости. По своей сути EC призван привести стимулы в соответствие с основной целью Filecoin: эффективное и надежное хранение данных.

Сущность EC

  • Децентрализация и надежность: Основная цель EC - создать децентрализованную среду, в которой хранение и поиск данных будут надежными и проверяемыми.
  • Подход, ориентированный на хранение данных: В отличие от традиционных блокчейнов, фокусирующихся на вычислительной мощности или количестве монет, EC Filecoin ставит во главу угла мощность хранения - способность хранить данные.

Основные механизмы ожидаемого консенсуса

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

  1. Вероятностная византийская отказоустойчивость:
  • EC включает в себя византийские механизмы отказоустойчивости, что делает его устойчивым к различным неблагоприятным условиям, включая злонамеренные действия узлов или выход их из сети.
  1. Выборы лидера и производство блоков:
  • В основе EC лежит процесс выборов лидера. В отличие от детерминированных процессов, наблюдаемых в других блокчейнах, EC использует вероятностный метод для выбора лидеров или майнеров, ответственных за создание блоков.
  1. Анонимность до тех пор, пока не будет доказано, что он избран:
  • Майнеры в EC остаются анонимными до тех пор, пока не докажут свой избирательный статус с помощью 'ElectionProof'. Это доказательство имеет решающее значение для обеспечения справедливости и непредсказуемости при производстве блоков.
  1. Доказательство хранения:
  • Майнеры должны предоставить 'WinningPoSt' (Proof of Spacetime), подтверждающий их вклад в объем хранилища сети.

Технические характеристики EC

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

Случайность через DRAND:

  • EC использует DRAND, внешний маячок с непредвзятой случайностью, чтобы облегчить различные аспекты протокола, включая выборы лидера.

Проверяемая случайная функция (Verifiable Random Function, VRF):

  • Майнеры используют VRF, а также случайность, полученную от DRAND, для генерации своих ElectionProof.

ElectionProof и VRF Chain:

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

Storage Power и WinCount:

  • Сила майнера в сети пропорциональна объему его хранилища.
  • WinCount определяет количество блоков, которое может произвести майнер, основываясь на мощности его хранилища и результатах его VRF.
  • Безопасность и справедливость консенсуса

Безопасность и справедливость имеют первостепенное значение в EC, и существует несколько механизмов, защищающих эти принципы:

Консенсус Ошибки и штрафы:

EC определяет конкретные типы нарушений консенсуса (например, Double-Fork Mining, Time-Offset Mining) и налагает штрафы для предотвращения злонамеренного поведения.

Источник изображений: Документация Filecoin здесь: https://spec.filecoin.io/algorithms/expected_consensus/

Взвешивание и выбор цепочки:

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

Мягкая окончательность:

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

Дранд: Распределенная случайность в Filecoin

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

Как работает Drand

  • Многопартийные вычисления (MPC): Drand выполняет серию MPC для получения случайных значений. После фазы доверительной настройки группа известных узлов подписывает заданное сообщение с помощью пороговых BLS-подписей в последовательных раундах, происходящих через регулярные промежутки времени.
  • Пороговые подписи BLS: Процесс требует минимального количества узлов (t-of-n) для подписания сообщения. Любой узел, имеющий t подписей, может восстановить полную подпись BLS. Эта подпись, будучи хешированной, создает коллективное случайное значение, которое можно сверить с открытым ключом, полученным на этапе настройки.
  • Предположения безопасности: Дранд предполагает, что по крайней мере t узлов честны и находятся в режиме онлайн. Если этот порог нарушен, противник может остановить производство случайностей, но не может их изменить.

Выходы случайности Дранда

Формат значений дранда: Узлы Filecoin получают значения драндов в определенном формате. Основные компоненты включают:

  • Подпись: Подпись BLS на предыдущем значении подписи и номере текущего раунда.
  • ПредыдущаяПодпись: Подпись BLS из предыдущего раунда Drand.
  • Раунд: Показатель случайности в последовательности, созданной сетью Дранда.

Использование Дранда в Filecoin

  • Выборы лидера: Дранд используется для выборов лидера в Filecoin, предоставляя случайное значение в каждую эпоху. Эта случайность очень важна для алгоритма Ожидаемого Консенсуса (EC), обеспечивая справедливый и непредсказуемый выбор лидера.
  • Получение значений Дранда: Узлы Filecoin получают последнее значение случайности из Drand, используя специальные конечные точки. Затем эта информация интегрируется с данными на цепочке для поддержки механизма консенсуса Filecoin.

Доказательства: Обеспечение целостности и доверия

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

Типы доказательств в Filecoin

  • Доказательство репликации (Proof-of-Replication, PoRep): Используется во время первоначального хранения данных, PoRep подтверждает, что поставщик услуг хранения создал и хранит уникальную копию данных.
  • Proof-of-Spacetime (PoSt): Непрерывная проверка того, что поставщик хранилища поддерживает сохраненные данные в течение определенного времени. PoSt также подразделяется на WinningPoSt и WindowPoSt, служащие для различных целей проверки в сети.

Роль PoRep и PoSt

  • PoRep: проверяет первоначальную репликацию данных поставщиком услуг хранения, гарантируя, что данные уникально закодированы и запечатаны.
  • PoSt: WinningPoSt используется в процессе консенсуса блоков, а WindowPoSt постоянно проверяет поставщиков услуг хранения, обеспечивая постоянное соблюдение соглашений о хранении.

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

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。