Алгоритмы консенсуса Писковский Виктор Олегович
←
→
Транскрипция содержимого страницы
Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже
Алгоритмы консенсуса Писковский Виктор Олегович 1
План Введение 1. История вопроса 2. Определения 3. Hash функция 4. Алгоритмы консенсуса Blockchain • Proof of work • Proof of Storage • Proof of Stake • Byzantine Fault Tolerance HashGraph DAG BlockDAG TxDAG 2
Определения Консенсус - процесс принятия решений группой, в котором все члены группы соглашаются поддержать решение в интересах целого. Hash функция - Функция свёртки, преобразующая массив входных данных в битовую строку заданной длины. 3
Hash функция. Требования 1. Сюръективность. 2. Простота и высокая скорость прямого вычисления функции. 3. NP-сложность нахождения прообраза по значению функции. 4. Лавинный критерий («Strict Avalanche Criterion»). 5. Стойкость к коллизиям. 6. Псевдослучайность. Примечание: Non-fungible Token (NFT), PCI-DSS 4
Blockchain. Proof of Work (PoW) Примен Про Название Описание ение изв. Необходимо обеспечить наличие большого количества вычислительных ресурсов с соответствующим энергопотреблением для Доказательство выполнения требований получению блока, BitCoin, работы 10 регулируется требованием к значению hash- Ehtereum (Nakamoto TPS функции. Цель использования таких требований, , Litecoin consensus) существенно замедляющих появление новых блоков – синхронизация новых блоков между узлами одноранговой сети Примечание: Прототип – Hashcache, защита от спама 5
Blockchain. Proof of Storage (PoStorage) Примен Произ Название Описание ение в. Proof of Capacity BurstCoi (PoC), Proof of Для определения права на получение блока nt, 140 Storage (PoStorage), сравнивается объём свободного места на жестком диске SpaceMi TPS Proof of Space вместо использования вычислительных ресурсов nt, Chia (PoSpace) Provable Data Для определения приоритета (в том числе для создания Possession (PDP) блока) на узел отправляется данные, а затем Filecoin доказательство периодически проверяют, хранит ли узел эти данные владения данными Proof-of- Тоже, что PDP, но добавляется возможность проверить, Retrievability что узел в состоянии восстановить испорченные Filecoin (PoRet) данные. Для определения приоритета (в том числе для создания Proof-of-Replication блока) используется доказательство того, что при Filecoin (PoRep) реплицированном хранении данных, каждая реплика хранится отдельно и независимо Chia, В отличие от алгоритма PoC учитывает и период Proof of Space and Spaceme времени, во время которого используется дисковое Time (PoST) sh, пространство Filecoin 6
Blockchain. Proof of Stake (PoS) Примен Произ Название Описание ение в. Peercoin, Proof-of-Stake (PoS Учитывается количество монет, депонируемых за Tezos, — Доказательство возможность создавать блоки, как гарантия "честности" PayCoin, 150 доли, владения) узла. После создания блока депозит возворащается Blackcoi TPS Proof of Stake Time владельцу n, Nxt, (PoST) Clobal. Delegated Proof-of- EOS, Узлы с большим количеством токенов выбирают узлы Stake (DPoS) BitShare для проверки транзакций и создания блока для цепи. (Делегированное s, Lisk, Каждый из выборанных узлов по круг (RoundRobin) доказательство Ark, собирают и подписывают блоки. доли) Steem Proof of Authority Авторизованные узлы создают блоки для цепи. Каждый (POA) из авторизованных узлов может образовывать блоки. Узлы с большим количеством токенов (выборщики) назначают лидеров на несколько раундов создания Ouroboros PoS Ada блоков, блоки создаются лидером по одному в определенный для этого лидера период времени. Тоже, что DPoS, но можно брать монеты в лизинг и тем Leased Proof of самым пользоваться привилегией выбирать узлы для Waves Stake (LPoS) проверки 7
Blockchain. Proof of Stake (PoS) Название Описание Применение . Proof-of-Activity (PoA) Симбиоз PoW и PoS, используются оба алгоритма, при Kovan, (Доказательство расхождении результатов вес блоков PoW больше. Decred активности) Proof-of-Devotion В сети действуют система ранжирования (Nebulas (PoD) ranking)узлов, учитывающая ликвидность и влияние в сети Nebulas доказательство Узлы с наибольшим рангом получают право создавать преданности блоки Proof-of-Importance Для определения узлов для создания блоков учитыаются (PoI) кроме наличия достаточного количества монет (PoS) также NEM (Доказательство репутация, определяемая по специальным правилам, важности) количество транзакций. PoS дополненная иформацией о географическом . Proof-of-Location расположении мобильных узлов. Используется для FOAM, Platin (PoL) исполнепния смарт-контрактов, например, подтверждения доставки товара по адресу из интернет магазина. Proof-of-Elapsed- Time (PoET) Узлы генерируют случайным образом время ожидания (Доказательство Узел, у которого это время закончилось раньше других Intel прошедшего создает новый блок в цепочке 8 времени)
Blockchain. Proof of Stake (PoS) Применени Название Описание е Proof of Burn (PoB) Для определения права на получение блока используется Slincoin доказательство отпварка токенов на кошелёк, к которому ни у кого нет доступа сжигания После обмена информацией которого заключается в устранении дисбаланса при обмене информацией между крупными и небольшими компаниями. Расчет баллов PoCS осуществляется после завершения членами Proof of Credit альянса процессов обмена данными. Оценивается PoCS в Share (PoCS) зависимости от частоты транзакций. Эти доказательство параметры учитываются для проведения оплаты. Те из членов доли кредита альянса, которые имеют меньший счет, будут вынуждены оплачивать более высокие комиссии. В то же время для участников с высокими счетами транзакционная комиссия будет снижаться. Proof-of- Signature Блоки подпсиываются всеми узлами, если узел замечен в (PoSign) соверщении атаки, то он исключается из сети и далее в XTRABYTES доказательство созхдании блоков не участвует подписи 9
Blockchain. Proof of Stake (PoS) Название Описание Применение Proof-of-Brain Чем более качественное содержание блока, тем больше доказательство Steemit, голосов получает узел, создавший блок, тем больше монет он «мозговой Golos может получить деятельности» Мастер-узлы депонируют не менее определенного количества монет за право участвовать в выборе узла для создания блока. Proof of Service Для участия в выборе мастер узел депонируют дополнительно Remme некоторое количество монет, которое получает обратно после образования нового блока Proof of Weight Используется механизм веса пользователей сети (узлов), чем (PoWeight) больше монет - тем больше вес 10
Blockchain. Byzantine Fault Tolerance (BFT) Применен Название Описание Пр-сть ие Practical Byzantine Fault Блок принимается даже, если у одной Tolerance (pBFT) (Реализация трети узлов, создающих блок, значения Hyperledger 700 TPS протокола задачи недоступны или отличаются. Round- , Chain византийских генералов) robin В отличие от pBFT протокол асинхронный, не требует лидеров для Honey Badger BFT (HBBFT) создания блока, все узлы предлагют NEO 1 000 TPS Democratic BFT свои блоки, использует эффективный протокол для обмена информацией между узлами небольшими порциями. Улучшенный HBBFT, не допускает Red Belly BFT (RBBC= Red 700 тцс. - 1 ответвлений, использует шардинг, Belly BFT Consensus) мле TPS параллельные вычисления ECDSA Голосование по доверенности: владелец монет назначает узел, Delegated Byzantine Fault которому он доверяет. Выбранная NEO, TON Tolerance (DBFT) таким образом группа узлов генерирует новые блоки 11
Blockchain. Byzantine Fault Tolerance (BFT) Примен Название Описание Пр-сть ение Определяются один генератор блоков и несколько подписчиков. Выбранный узел (генератор блоков) Simplified Byzantine собирает и проверяет предложенные транзакции, Fault Tolerance периодически объединяя их в новый блок. (SBFT) Выбранные подписчики блоков проверяют и ратифицируют новый блок. PBFT, дополненная иерархией узлов. Комитет занимается созданием блоков, Выбор узлов комитета подвержен специальной процедуре, обеспечивающей масштабирование системы. Если Scalable BFT 4 000 TPS в сети узлов много больше чем узлов, входящих в комитет, то зависимость скорость регистрации транзакций от числа узлов приближено к линейной. Federated Byzantine Agreement (FBA) Блок принимается, если он подписан заранее Stellar, (Федеративное определённым количеством квалифицированных Ripple византийское подписчиков соглашение 12
HashGraph.BFT Примен Название Описание Пр-сть ение Asynchronous BFT Используется подход асинхронного BFT в рамках 250 - 350 Hedera (ABFT) разработанного протокола gossip protocol. тыс. TPS Примечание: не устойчив к атакам Sybil 13
DAG.BlockDAG Примен Название Описание Пр-сть ение Каждый узел инициирует рекурсивного голосования для SPECTRE > 1 млн определения порядка доступных ему блоков TPS, Реализовано полностью линейное упорядочение практическ транзакций и блоков. Каждый узел ищет наибольший k- и PHANTOM кластер блоков, где k-степень узла, предопределена в безграничн реестре. K-кластер считается честным, и все блоки в нем ая линейно упорядочены масштабир в качестве главной цепи используется самая длинная Conflux уемость цепочка внутри самого тяжелого поддерева 14
DAG.TxDAG Применен Название Описание Пр-сть ие Разновидноcть Asynchronous BFT (ABFT). Любой узел может инициировать транзакцию, но для проверки он должен NXT IOTA проверить две предыдущие транзакции в реестре. Для Tangle, достижения консенсуса используется специально Holochain- Tangle асинхронный протокол. Чем длиннее ветвь проверяемой DLT, транзакции, тем больший вес оно имеет. Пользователь RADIX > 1 млн присоединяет хэши двух выбранных транзакций к новой (TEMPO) TPS, транзакции и выполняет работу PoW практиче Похож на PoS и aBFT. Выделена группа свидетелей, которые ски Byteball и образуют новые элементы (сообщения) в одно-ранговой Obyte безграни сети. чная Nano работает с блочно-решетчатой структурой. Каждый масштаб узел запускает локальную цепочку блоков, которая ируемост пересекается с другими. Транзакция выполняется двумя ь Nano Nano транзакциями: транзакция отправки в блокчейне отправителя и транзакция получения в блокчейне получателя. PoW Для защиты от спама используется подход PoW Avalanche Основан на BFT без лидера FBA 15
Вы также можете почитать