Содержание
- Что такое алгоритм достижения консенсуса
- Доказательство выполнения работы (PoW)
- Доказательство доли владения (PoS)
- Делегированное доказательство доли владения (DPoS)
- Стратегия византийских генералов (BFT)
- Новые консенсусные алгоритмы
- Вывод
В основе блокчейна лежит алгоритм достижения консенсуса. Он должен быть одновременно эффективным и безопасным, обеспечивать корректность записанной информации и защищать данные от подтасовки. Рассказываем, как работают алгоритмы достижения консенсуса, какими они бывают и в блокчейнах каких криптовалют используются.
Один из важнейших аспектов децентрализованной криптовалюты — используемый в ней алгоритм достижения консенсуса, ведь именно он призван предотвращать двойное расходование (до появления блокчейна именно эта проблема была ключевым препятствием к развитию цифровых валют).
Поскольку криптовалюты реализуются в виде общедоступных децентрализованных реестров, где записи только добавляются, но никогда не удаляются и не меняются задним числом, алгоритм консенсуса служит для согласования «единой версии истины» и для исключения злоупотреблений.
Что такое алгоритм достижения консенсуса
Используем определение издания TechTarget: «В информатике консенсусным алгоритмом называется процесс достижения согласия по поводу значения определенного набора данных в распределенных системах или процессах, который необходим для обеспечения надежности в сети с участием нескольких ненадежных узлов, что важно при выполнении распределенных вычислений и в многоагентных системах. При решении этой проблемы обязательно исходят из предположения, что некоторые процессы и системы будут недоступны, и что некоторые сообщения не будут получены адресатами. Таким образом, консенсусные алгоритмы должны быть отказоустойчивыми — обычно предполагается, что должны ответить как минимум 51% узлов сети».
В контексте криптовалют консенсусные алгоритмы предназначены для обеспечения достоверности транзакций, причем проверка должна быть распределена между многими участниками сети, и отказоустойчивости системы за счет избыточности.
Сегодня мы знаем четыре наиболее перспективных алгоритма, каждый со своими достоинствами и недостатками.
Доказательство выполнения работы (PoW)
Это был первый успешно реализованный в блокчейне децентрализованный алгоритм, и он по-прежнему используется в сетях Bitcoin, Ethereum (Ethereum планирует перейти на доказательство доли владения, подробнее в следующем разделе), Litecoin, ZCash, Monero и многих других.
Алгоритм требует выполнения сложных вычислений, результат которых может быть легко проверен другими участниками сети. В случае с биткоином (Bitcoin) майнеры конкурируют за добавление очередной «пачки» транзакций, которая называется блоком, в общий блокчейн, поддерживаемый сетью. Чтобы сделать это, майнеру нужно первым вычислить последовательность символов в конце строки, хеш от которой будет начинаться с определенного количества нулей.
Важнейшее преимущество этой реализации — надежность, проверенная несколькими годами реальной эксплуатации, чего нельзя сказать про многие другие консенсусные алгоритмы. Однако у нее есть и недостатки: это огромное количество энергии, уходящей на вычисления, и низкая производительность сети.
Доказательство доли владения (PoS)
На сегодняшний день предложено уже множество возможных реализаций этого алгоритма. Во всех случаях от участника требуется «доля», часть монет, которые он хранит в сети, для проверки транзакций.
Вместо майнинга участники блокируют свои монеты, делая ставку на завершение блока. Участник, которому дается право завершить блок, обычно выбирается либо по размеру ставки, либо по длительности блокировки средств, либо иным образом, так, чтобы его интересы максимально совпадали с долгосрочными интересами сети.
Если в алгоритме доказательства выполнения работы злоупотребления невыгодны, поскольку очень затратны, то здесь бремя проверки ложится на тех, кто в наибольшей степени заинтересован в благополучии сети. Кроме того, участники, делающие ставку на версию цепочки с поддельными транзакциями, теряют свои ставки.
Доказательство доли владения сегодня реализовано в Peercoin, Decred, и готовится к внедрению в сети Ethereum — эта сеть планирует переключиться с одного алгоритма на другой. Преимущества PoS в более высокой энергоэффективности и, возможно, в более успешном предотвращении атак, но он еще не был реализован ни в одном крупном проекте, и не проверен временем.
Делегированное доказательство доли владения (DPoS)
Несмотря на сходство названия с предыдущим алгоритмом, детали реализации здесь существенно различаются. В DPoS держатели токенов не делают ставки на проверку транзакций, а голосуют за группу, которая будет их проверять.
DPoS остается децентрализованным, поскольку все участники сети участвуют в выборе проверяющих узлов, но в то же время отчасти и централизованным, поскольку решения принимает меньшая группа, что ускоряет проверку и обработку транзакций.
Различные реализации DPoS поддерживают институт репутации, постоянный процесс голосования и систему перетасовки, которая делает избранных «валидаторов» ответственными и честными.
Преимущества DPoS состоят в том, что эта система хорошо масштабируется и обеспечивает быструю проверку транзакций, а недостаток — это некоторая централизация, а также отсутствие тестирования на крупном проекте. DPoS используется в сетях Steemit, EOS и BitShares.
Стратегия византийских генералов (BFT)
Это довольно сложная концепция, но если вкратце: алгоритм позволяет генералам (валидаторам) управлять состоянием сети и обмениваться сообщениями, и таким образом обеспечивает честность и позволяет выбрать правильную версию транзакции.
BFT реализуется компанией Ripple (где валидаторы предварительно выбираются фондом Ripple) и Stellar (здесь любой может стать валидатором, а доверие вырабатывается сообща).
Среди преимуществ BFT — масштабируемость и дешевые транзакции, среди недостатков — некоторая централизация.
Новые консенсусные алгоритмы
Вероятно, в будущем появятся новые алгоритмы со своими достоинствами и недостатками, и заменят те варианты, которые известны нам сейчас. Например, перспективным решением кажутся направленные ациклические графы (DAG) и их реализации Hashgraph, Tangle и Block-lattice.
Вывод
Известные нам консенсусные алгоритмы — это компромисс между масштабируемостью и степенью централизации (хотя двухуровневые сети могут добиваться большей масштабируемости в рамках тех же алгоритмов).
Очень интересно будет увидеть, какие механизмы окажутся наиболее эффективны для построения масштабных сетей с распределенным участием и стабильным управлением; не менее увлекательным будет и процесс адаптации общества к внедрению этих разработок.