Один из протоколов, с которым нас часто путают, - это протокол Mina. Итак, в этом посте мы посвятим время объяснению того, как работает Mina и чем она отличается от Minima, кроме того, что в названии на две буквы меньше.
Давайте начнем с общего ознакомления с Mina.
Что такое Мина?
В середине 2017 года Эван Шапиро и Изаак изучили существующие блокчейны и поняли, что блокчейны являются жертвами их успеха. Они имели в виду, что чем больше людей используют блокчейн, тем больше становится бухгалтерская книга.
И чем больше бухгалтерская книга, тем выше становятся требования к хранению. В настоящее время синхронизация полного биткойн-узла требует более 300 ГБ места для хранения и может занять часы, если не дни.
Кроме того, они заметили, что большинство пользователей Ethereum (и аналогично для других сетей) полагаются на третью сторону, управляющую полным узлом, для использования сети. Мы видели недостатки, когда infura, поставщик узлов по умолчанию для MetaMask, ошибочно ограничил доступ пользователей из Венесуэлы.
Чтобы решить эти проблемы, они разработали протокол, который был бы достаточно легким, чтобы любой пользователь мог использовать его, не полагаясь на третьи стороны.
Первоначально они назвали свой проект Coda Protocol. После иска о товарном знаке, поданного R3, лабораторией разработчиков Corda (другого протокола блокчейна), в октябре 2020 года они переименовались в Mina protocol.
В целом, основатели привлекли 136 миллионов долларов от венчурных капиталистов, частных инвесторов и розничной торговли, чтобы создать то, что они называют минимальным “кратким блокчейном”.
Протокол Mina является самым легким блокчейном в мире, поскольку его размер сети ограничен всего 22 КБ.
Потерпите нас, так как с этого момента все станет техническим.
Как можно сохранить цепочку такой маленькой?
Ответ - zk-SNARKS (краткие неинтерактивные аргументы знаний с нулевым знанием). Они представляют собой форму криптографического доказательства, которое позволяет людям проверять информацию, не раскрывая ее.
Zk-SNARKS были впервые разработаны профессором Массачусетского технологического института и основателем Algorand Сильвио Микали и с тех пор нашли различные реализации в блокчейн и криптовалютных проектах, в том числе в Zcash и ZK-rollupsна Ethereum.
Mina вычисляет SNARKS, которые концентрируют последние несколько блоков, позволяя конечным пользователям проверять сжатые доказательства предыдущей истории вместо доступа ко всей истории транзакций блока.
Каждое доказательство представляет состояние всей цепочки, а не только последнего блока. Можно было бы рассматривать это как форму сокращения (уменьшение размера блокчейна, чтобы поместить его в различные устройства), которая не жертвует возможностью отслеживания до блока genesis, а вместо этого сохраняет его в виде доказательств, гарантирующих достоверность.
Теперь, когда у нас есть приблизительное представление о том, что такое Mina, мы перейдем к деталям того, как она сравнивается с Minima.
Участники сети
Mina: Один из способов достижения масштаба Mina - это распределение задач между участниками сети. В целом можно выделить три группы.
Проверяющие: Каждый пользователь Mina является проверяющим. Если вы взаимодействуете с доказательствами, вы являетесь верификатором — это относится к большинству обычных пользователей, что означает выполнение простых вещей, таких как отправка транзакций. Пока ваше устройство может обрабатывать 22 Кб блокчейна и несколько миллисекунд времени обработки, вы также можете быть верификатором.
Производители блоков: Производители блоков в Mina выполняют ту же роль, что и майнеры в цепочках PoW или стейкеры в цепочках PoS. Они объединяют транзакции в блоки и добавляют их в цепочку. Однако, в дополнение к объединению транзакций, они также должны перехватывать (сжимать) эквивалентное количество ранее совершенных сделок. Если нет, то их блоки являются неполными и отклоняются.
Snarkers: Они производят ZK-SNARK, используемые для проверки транзакций. Производители блоков платят им за транзакционные сборы. Snarkers конкурируют, создавая рынок, где они размещают ставки, привязанные к одной и той же транзакции, а производители блоков затем выбирают самую низкую.
Обратите внимание, что это не четкое различие. Производители блоков также могут решить сами создавать SNARKS и быть верификаторами всякий раз, когда они просто отправляют транзакции.
Приведенный ниже график, взятый из статьи Mina economics, показывает, как они работают вместе.
МИНИМА:
На Минимумах все равны. Здесь нет разделения задач. Каждый запускает полный узел на своем телефоне, проверяя, проверяя, создавая блоки и добавляя блоки в цепочку.
Не полагайтесь на каких-либо сторонних или внешних стейкеров для добавления транзакций за вас.
Алгоритм консенсуса
Mina: Mina использует реализацию Proof-of-Stake под названием Ouroboros Samasika, которая основана на механизме размещения ставок Ouroboros, представленном IOHK (организацией в экосистеме Cardano).
Цепочка делится на слоты (создается новый блок) и эпохи. Одна эпоха = 7 140 слотов. В настоящее время каждый слот длится 3 минуты, поэтому одна эпоха длится примерно 14 дней. В конце каждой эпохи распределение ставок пересчитывается заново. Он основан на том, что работники SNARK закончили делать в последнем блоке за две эпохи до этого. Таким образом, если в настоящее время эпоха равна 8, состояние блокчейна находится в последнем блоке 6-й эпохи.
Чтобы решить, какой производитель блоков создаст блок для слота, протокол полагается на проверяемую случайную функцию (VRF). Для запуска функции требуется закрытый ключ, и ее можно проверить с помощью открытого ключа. Это означает, что любой производитель блоков может тайно производить вычисления без ведома кого-либо еще, пока не будет создан фактический блок, что снижает риск целенаправленных DoS-атак.
Стоит отметить, что, как и в большинстве реализаций Proof-of-Stake, чем больше кола у определенного узла, тем выше его шансы быть выбранным для создания блока. Что, как правило, повышает авторитет влиятельных субъектов в экосистеме, в то же время предоставляя отдельным лицам меньше шансов внести значимый вклад в достижение консенсуса.
Минимумы: Tx-PoW или Подтверждение работы транзакции. В отличие от традиционного Proof-of-Work, пользователи Minima не соревнуются за решение хэша. Вместо этого каждый пользователь вносит небольшой вклад в доказательство работы, что в сумме составляет целый блок работы. Процесс похож на другие блокчейны — решение криптографической головоломки — но устраняет элемент конкуренции, еще больше снижая риски централизации, которые неизбежно следуют за конкурентным майнингом для уменьшения вознаграждения (для справки, ознакомьтесь с нашим постом на эту тему).
Позволяя любому человеку участвовать в проверке, валидации и построении цепочки, Minima позволяет пользователям быть по-настоящему независимыми, никогда не подвергаясь риску подвергнуться цензуре или не увидеть, что их транзакция добавлена в цепочку.
Место хранения
Здесь следует иметь в виду, что Mina использует модель, основанную на учетных записях, в то время как Minima - это цепочка UTxO.
На основе учетной записи: состояние блокчейна = совокупность остатков на всех счетах
UTxO: состояние блокчейна = все выходные данные транзакции
Мина: Как упоминалось выше, Mina использует zk-SNARKs, чтобы сделать скриншот состояния блокчейна и поделиться им с пользователями. Таким образом, они могут проверять без необходимости загружать всю цепочку. Каждый созданный блок делает снимок самого себя вместе с предыдущим состоянием в качестве фона. Затем это становится фоном для следующего блока и так далее (или, с технической точки зрения, блок содержит обязательство перед государством в виде дерева Меркла). Размер моментального снимка остается неизменным независимо от того, сколько информации он содержит. Таким образом, размер Mina может постоянно оставаться на уровне 22 КБ.
Минимумы: Минимумы также сильно сокращают блокчейн, чтобы любой мог запустить полный узел проверки и построения. Тем не менее, мы используем Каскадную цепочку, чтобы вести неопровержимый учет истории доказательств работы, которые были использованы при создании блокчейна, и базу данных Merkle Mountain Range (MMR) для эффективного отслеживания пользовательских монет (UTXOs), концепция, изобретенная Питером Тоддом.
MMR - это, по сути, дерево хэш-сумм, содержащее все доказательства для всех выходных данных транзакций (монет). Дерево доступно только для добавления, что означает, что оно обновляется только при расходовании и создании монет.
Пользователи отслеживают только те части дерева MMR, которые им нужны для создания доказательств своих собственных монет (неизрасходованные выходные данные). Они также должны хранить вершины и корни дерева для проверки доказательств монет другими пользователями.
Ниже приведена иллюстрация того, как это работает.
Оба протокола используют разные механизмы для достижения одной и той же цели, уменьшая размер блокчейна, чтобы сделать его более доступным. Однако Minima идет еще дальше, позволяя каждому запускать узел, который проверяет и создает цепочку.
Запуск полного узла
Мина: Можно подумать, что при сохранении такого маленького размера блокчейна вы наверняка сможете запустить узел на своем телефоне. Подумай еще раз.
Требования для запуска узла Mina в настоящее время следующие:
Система: macOS, Linux или любой хост с Docker. Windows в настоящее время не поддерживается
8-ядерный процессор
16 ГБ оперативной памяти
1 Мбит/с
Любой, кто хочет настроить узел, нуждается в некоторых знаниях Linux и необходимости использовать командную строку для настройки сервера и узла.
Минимум: Для запуска полноценного узла все, что вам нужно, - это телефон Android 9.0 и выше. В общей сложности приложение займет не более 25 МБАЙТ. Это включает в себя полный узел построения. Не просто верификатор.
Токеномика
Mina: Первоначальное предложение Mina составляло 1 миллиард долларов, при этом уровень инфляции начинался с 12% и снижался до 7% в течение первых 5 лет в mainnet. Любые дальнейшие темпы инфляции должны определяться путем голосования руководства.
Первый миллиард токенов распределяется следующим образом, при этом более 50% достается команде Mina, спонсорам и организациям. 42,3% идут в сообщество. Учитывая, что это протокол proof-of-stake, можно задаться вопросом, как будет выглядеть распределение, если предположить, что все делают ставки, чтобы избежать разбавления.
В настоящее время в обращении находится примерно 534 миллиона токенов, что означает, что они не поставлены на карту.
Минимумы: Предложение собственных токенов Minima ограничено 1 миллиардом. Никакие другие токены не поступят в обращение. В отличие от Mina, Minima является дефляционной валютой. Запись, которая регулирует сетевой трафик и предотвращает спам, со временем сократит количество минимумов, делая оставшиеся минимумы более ценными.
Кроме того, Минимумы будут завершены при запуске, поэтому руководству нет необходимости принимать решение о выдаче дополнительных вознаграждений. Мы считаем, что полный протокол - это единственный способ создать устойчивый децентрализованный фундамент, на котором другие могут опираться.
При нашем первоначальном распределении 51% токенов будет передано нашему сообществу. Остальное распределяется, как показано на следующей диаграмме
В заключение можно сказать, что Mina действительно освоила сжатие большого количества информации в 22 КБ, что позволяет любому проверить состояние цепочки. Но действительно ли проверки достаточно? Верификация не повышает устойчивость блокчейна к цензуре, в отличие от распространения производства блоков.
Мы считаем, что для того, чтобы любой мог извлечь выгоду из децентрализации, даже для того, чтобы обеспечить подлинную децентрализацию, мы все должны быть равны. Это означает запуск полного узла, который может добавлять блоки в цепочку, не полагаясь ни на какие третьи стороны, ни на производителей блоков (потому что мы сами являемся производителями блоков), ни на стейкеров.
Если вам понравилось это сравнение и вы хотели бы увидеть, как другие сети сравниваются с нами, дайте нам знать, прокомментировав здесь или сообщив нам на нашем сервере discord.
Для получения более подробной информации о минимумах ознакомьтесь с нашей документацией.
на данный момент кол-во нод превышает 350 000 установленных узлов. В связи с этим регистрация новых временно приостановлена до середины Августа 2022 года для тестирования имеющихся.