Minima — синоним слова «децентрализация»

Не так давно наткнулся в интернетах на один проект, с первого взгляда показавшийся очередной фантазией на тему того, как было бы хорошо, если бы мы могли «установить» блокчейн на свой смартфон. Сейчас многие пытаются спекулировать на этой теме. Подписавшись на их твиттер, я благополучно забыл о нем на месяц. На днях, просматривая своих подписчиков в твиттер, я увидел среди них аккаунт этого проекта —@Minima_Global. «Ну что ж, — подумал я, — давай попробуем познакомиться поближе».

Minima — синоним слова «децентрализация»

Minima — это сверхлёгкий блокчейн. Разработан, чтобы оставаться полностью децентрализованным. Узел Minima оптимизирован настолько, что будет эффективно работать даже на мобильном телефоне. Каждый пользователь способен запустить полный узел.

Обзор

Minima использует Tx-PoW блокчейн, позволяющий нескольким пользователям без требования доверия выполнять небольшие объёмы работы, а затем суммировать все эти части в полный PoW блок. При этом единое значение PoW равно сумме меньших частей. Все получают выгоду от общей проделанной работы. Это позволило построить протокол безопасности, основанный на транзакциях. Транзакции по отдельности выполняют небольшой объем работы, а затем суммировать всё это в отдельные блоки. Таким образом, Minima исключает майнеров, но сохраняет единый PoW-блокчейн: защищённый, упорядоченный по времени список событий.

Чем больше транзакций будет отправлено, тем будет выше сложность блока. Пользователи, желающие отправить транзакции, создают заголовок Tx-PoW, который, прежде всего, является записью их собственной транзакции, а в качестве дополнения — заголовок блока, отражающий их текущее представление о сети. Поскольку блоки хранят только хэши транзакций, их размер ничтожно мал. Для пользователя все это происходит незаметно — каждый раз, когда пользователь отправляет транзакцию, существует вероятность, что он также найдёт и блок.

Такой принцип работы означает, что если нет транзакций, то не может быть и блоков. Для поддержания надёжности блокчейна необходимо, чтобы минимальное количество транзакций достигло критической массы. При этом скорость транзакций должна быть достаточно высокой. Поскольку вся безопасность Minima зависит от количества транзакций, то, чем больше транзакций, тем более безопасна сеть. Таким образом, каждый пользователь участвует не только в проверке всей цепочки, но и в поддержании работоспособности сети, а также предотвращении атак цензуры. Все пользователи Minima выполняют как валидацию, так и построение блокчейна.

Для повышения безопасности сети Minima предлагает инновационное и уникальное решение:

  • Отказаться от основанной на комиссиях безопасности
  • Использовать второй уровень блокчейна для защиты первого

Архитектура блокчейна Minima состоит из двух уровней:

  • Уровень 1: Minima / on-chain / flood-fill / не масштабируется.
  • Уровень 2: Maxima / off-chain / point-to-point / масштабируется.

Minima обеспечивает передачу токенов. Maxima обеспечивает передачу информации

Minima — синоним слова «децентрализация»

Minima работает через одноранговую (P2P) сеть под названием Maxima. Каждый пользователь в сети подключён ко всем другим. Maxima реализовывает P2P связь с помощью простого сетевого API, чтобы пользователи могли передавать любые необходимые данные (не только транзакции Minima) другим пользователям Maxima методом «point-to-point», а не «flood-fill». Более того, пользователи Maxima, не имеющие Minima и ее токенов, всё равно могут помочь защитить сеть с помощью PoW, отправляя сообщения через Maxima. Все пользователи Maxima усиливают Minima. Все сообщения укрепляют PoW. Все PoW делают Minima безопаснее. Однако, помимо необходимых для PoW данных, Maxima позволяет передавать небольшие объёмы иных данных бесплатно (например если реализовать на блокчейне мессенджер), хотя возможна и маршрутизация больших объёмов данных (более подробно читайте об этом в белой книге).

Как Minima, так и Maxima требуют от пользователей совершения небольшого количества PoW при отправке транзакций. Чем их больше, тем эффективнее работа PoW. Чем эффективнее PoW, тем более безопасна сеть. Но что, если пользователь не отправляет никаких транзакций? Для этого в Minima функцию «Pulse», позволяющую посредством PING-сообщений передавать не только информации о работоспособности и состоянии узла, но и реализовывать небольшой объем работы PoW. Каждые 10 минут каждый пользователь Minima создаёт действительное Tx-PoW сообщение с текущими верными данными о блоке, но оставляет транзакцию пустой. Выполняется 10 секунд работы, затем это сообщение отправляется каждому из одноранговых узлов. Если сообщение не является действительным Tx-PoW сообщением, то узел отключается от сети. Если одноранговый узел не посылает Pulse сообщение каждые 10 минут, то он так же отключается от сети. Если Tx-PoW сообщение также является блоком, то оно передаётся остальной части сети. Это даёт ряд преимуществ:

  • Совместно используется мемпул одноранговых узлов — cписок транзакций, о которых известно, что они не входят в текущую самую длинную цепочку. Любые расхождения могут быть устранены, а недостающие транзакции переданы дальше.
  • Синхронизация одноранговых данных.
  • Показывается, что одноранговый узел является действующим узлом Minima, имеет рабочее сетевое соединение, является действительным маршрутизатором для сетевых сообщений и может помочь защитить сеть.
  • Повышается общая безопасность PoW сети.
  • Всё это — off-chain.

Требования к отправке Pulse сообщения очень малы. Если одноранговый узел не может отправить Pulse сообщение (с ним что-то не так), то нет смысла тратить на него ресурсы. Когда неполадка будет устранена, узел сможет снова подключиться к сети. Тот, кто рассчитывает, что не будет выполнять PoW, будет просто отключён от сети.

Для защиты от распределённых DDoS-атак в Minima решено было применить сжигание. Поскольку оно уменьшает общее количество Minima в обращении, так как все монеты были созданы в генезис-блоке, атака становится экономически нецелесообразной.

В Minima нет базы данных (или большой книги), в которой хранятся все выходы неизрасходованных транзакций — вместо этого используется не требующая хранения доказательная база данных MMR Питера Тодда. Каждый пользователь блокчейна сам отслеживает свои собственные монеты, что подразумевает маленький объем потока данных по сравнению со всем блокчейном. Если пользователь не будет отслеживать свои монеты, они не будут потеряны, но ему понадобится третья сторона, которая поможет их восстановить. Пользователю необходимо будет либо найти архивный узел, хранящий все данные, либо предварительно создать группу друзей или чат для отслеживания монет (проверка монет не создаёт проблем с безопасностью) и попросить их заново открыть отдельные MMR-доказательства для своих монет.

Minima переходит в MMR в режиме реального времени. Каждый блок фиксируется в текущем состоянии MMR для этого блока. Каждый пользователь отправляет свои транзакции с недавним MMR-доказательством того, что транзакция действительна. Пользователи могут проверить эти сведения в своей последней базе данных MMR и при необходимости обновить её, когда блок будет принят. Этот процесс должен выполняться очень быстро. База данных MMR хранит несколько перекрывающихся состояний MMR, по одному для каждого блока, и она должна иметь возможность сокращать и удалять данные MMR и быстро получать доказательства для нескольких изменяющихся состояний.

Блокчейном поддерживаются токены, а транзакции хотя и похожи на Bitcoin-транзакции, усовершенствованы в функциональности и мощности. Они включают в себя список входных данных, список выходных и некоторые регистры для хранения пользовательских данных. Сумма выходных данных должна быть меньше или равна сумме входных данных. Каждый ввод имеет адрес, сумму, TokenID, CoinID и может иметь различные пользовательские параметры. Каждый адрес фактически является смарт-контрактом, представленным в виде хэш скрипта Minima. Вся эта транзакция может быть подписана 1 или более публичным ключом. При отправке транзакции пользователь добавляет MMR-доказательства, показывающие, что входные данные существуют и не израсходованы, и тратит ~10 секунд на майнинг, прежде чем отправить полное Tx-PoW сообщение по сети. Каждая транзакция представляет собой автономную криптографическую единицу, которую можно проверить независимо, используя только недавний корневой MMR хэш, или найденный в памяти. Это очень быстро и эффективно. Minima использует простой, но мощный язык сценариев. Minima также включает простые переменные состояния для каждой транзакции, доступные для входных сценариев, чтобы последовательность транзакций могла выполняться при отслеживании изменяющихся переменных. Это позволяет создавать такие сложные смарт-контракты с отслеживанием состояния, как у Ethereum, при этом сохраняя и даже повышая скорость и эффективность транзакций модели UTXO у Bitcoin.

Заключение

Когда я впервые прочитал белую книгу Minima это в хорошем смысле «взорвало» мой мозг! В этом проекте применено множество элегантных решений, позволяющих сделать блокчейн компактным, масштабируемым и программируемым, нода которого с легкостью запускается на среднем смартфоне! При это он обладает стабильной, открытой, глобальной и устойчивой к цензурированию P2P-сетью со встроенным блокчейном базового уровня для транзакций «без доверия», работы смарт-контрактов и токенов. Я думаю многие криптовалютные пользователи с воодушевлением отнесутся к распределённому PoW-блокчейну без майнеров, отвергающему парадигму основанной на комиссиях централизованной, ориентированной на майнеров системы.

У пользователей Minima есть все необходимые инструменты для децентрализованного взаимодействия. Каждый пользователь может самостоятельно отслеживать, хранить, делиться, проверять и строить блокчейн. Ответственность ложится непосредственно на пользователей, без майнеров, мастер-нод, делегатов, координаторов или каких-либо других «авторитетов», которые могли бы взять её на себя.

Пару месяцев назад стартовала программа IncentiveCash вознаграждающая пользователей за запуск и обслуживание полного узла в сети Minima. Запустив ноду на своем устройстве вы будете получать по 1 токену Minima в день. Советую не терять время и присоединиться к программе уже сегодня!

О токеномике проекта можно узнать здесь.

Белая книга Minima Protocol

Ищете больше интересных статей?

Подписывайтесь на мой Medium и Twitter

11
Начать дискуссию