Проект Algorand разработал криптографический алгоритм Pointproofs. Команда называет его «усовершенствованной версией доказательств Меркла, используемых во многих блокчейнах».

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

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

Этот подход все еще требует наличия узлов, которые хранят все состояние, однако они больше не нужны для консенсуса. Руководитель направления развития криптографии Algorand Сергей Горбунов отметил:

«Разделяя обязанности по хранению состояния и управлению консенсусом, вы позволяете большему числу людей участвовать в самом консенсусе».

Традиционный способ применения доказательств Меркла добавляет значительные ограничения для каждой транзакции. Горбунов объяснил, что каждая транзакция требует 320 байт данных для одного доказательства. Например, 10 000 транзакций «в конечном итоге требуют 3.2 мегабайта, если использовать деревья Меркла», объяснил Горбунов.

Один из недостатков этого подхода – значительное увеличение пропускной способности сети при распространении новых блоков, что может снизить производительность блокчейна. На этом этапе появляются Pointproofs. Они используют криптографию на основе пар для обеспечения возможности объединения нескольких доказательств. Как отмечает Горбунов, этот метод имеет значительные преимущества:

«Каждое доказательство, представленное отдельными пользователями, занимает всего 48 байт. Затем можно взять 10 000 доказательств в блоке транзакций и объединить их снова».

В результате используется одно доказательство размером 48 байт для всех транзакций. Деревья Меркла работают во многих блокчейнах, в том числе в Биткоине. Горбунов объяснил, что Биткоину вряд ли понадобятся Pointproofs из-за наличия только одного дерева Меркла на блок, но он полагает, что реализация не фиксирующего состояния клиента может быть полезна Эфириуму.

Он также добавил, что разработчики Эфириума рассматривают другое решение – полиномиальные обязательства, «которое сложно назвать идеальным». Он утверждает, что Pointproofs имеет больший потенциал и призывает разработчиков Эфириума рассмотреть возможность включения этой криптографии в свой блокчейн.