Алгоритмы консенсуса Писковский Виктор Олегович

Страница создана Анатолий Егоров
 
ПРОДОЛЖИТЬ ЧТЕНИЕ
Алгоритмы консенсуса

Писковский Виктор Олегович

                             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
Вы также можете почитать