Grin — это предстоящий криптовалютный проект, ориентированный на конфиденциальность, масштабируемость и взаимозаменяемость, который построен на основе реализации блокчейна MimbleWimble с некоторыми различными оптимизациями.MimbleWimble — это увлекательный урезанный протокол блокчейна, предложенный Томом Элвисом Джедусором в июле 2016 года, который завоевал популярность среди многих сторонников Биткойна и конфиденциальности.
Grin — это проект с открытым исходным кодом, который предлагает обновленный списо ктого, чего он не будет делать, многие из которых противоречат текущим событиям на рынке криптовалют. Чтобы понять Grin и как он работает, важно сначала понять MimbleWimble и его преимущества.
Что такое MimbleWimble?
Первоначально предложенный Томом Элвисом Джедусором в 2016 году и впоследствии пересмотренный Адамом Полстрой несколько месяцев спустя, MimbleWimble представляет собой протокол цепочки блоков, который сочетает в себе несколько инновационных технологий для радикального изменения структуры транзакций в биткойне и уменьшения размера цепочки блоков.
MimbleWimble в первую очередь обращается к двум областям:
- Конфиденциальность
- Масштабируемость
В результате присущей ему конфиденциальности, MimbleWimble (а впоследствии и Grin) обладают высокой функциональностью.
Конфиденциальность
Транзакции в MimbleWimble непрозрачны, но все еще могут быть надлежащим образом проверены, несмотря на отсутствие адресов и суммы транзакций полностью скрыты.MimbleWimble использует свойства криптографии на основе эллиптических кривых (ECC) для структурирования транзакций, основанных на проверке нулевых сумм и владении секретными ключами.
Проверка транзакций с помощью Mimblewimble требует, чтобы сумма выходных данных транзакций за вычетом суммы входных данных всегда была равна нулю. Это достигается с помощью Конфиденциальных транзакций, которые подтверждают, что двойные затраты или создание новых средств не произошли с транзакцией при одновременном запутывании фактических сумм в транзакции. MimbleWimble основывает свою концепцию на этом на Конфиденциальных транзакциях (КТ) Грега Максвелла.
Подтверждение права собственности в MimbleWimble основано на слепых факторах, которые по сути являются закрытыми ключами пользователей и избыточными значениями, которые являются частью ядра транзакции. Этот ослепляющий фактор может быть использован для подтверждения права собственности на стоимость транзакции без раскрытия ее значений.
Концепция проверки транзакций без знания какого-либо из значений транзакций отражает доказательства с нулевым знанием и RingCT, используемые в ZCash и Monero, соответственно.
Однако в MimbleWimble нет адресов. Вместо этого два кошелька обмениваются данными друг с другом для обмена данными, когда получатель создает и отправляет адрес отправителю. Только участники могут видеть эти данные, и информация не может быть использована сторонними лицами. Участвующим сторонам даже не нужно быть онлайн одновременно.
Кроме того, блоки в блокчейне не перечисляют отдельные транзакции (даже если они запутаны — например, Monero ), а объединяются в одну транзакцию со смешанными входами и выходами. Просмотр блока не даст никакой информации о конкретной транзакции. Транзакции в MimbleWimble фактически являются неинтерактивным вариантом CoinJoin, который нельзя отделить друг от друга.
Подводя итог, можно сказать, что узлы могут проверять подлинность транзакций, не раскрывая передаваемые значения, нет адресов и идентифицируемой информации в транзакции.
Масштабируемость
Подход, который MimbleWimble применяет к масштабируемости, гораздо более прямой, чем более сложные решения второго уровня или увеличение пропускной способности в цепочке. Вместо этого MimbleWimble полагается на устранение старых и ненужных транзакций в блокчейне для повышения эффективности.
В частности, протокол удаляет израсходованные входные данные в блокчейне с течением времени путем объединения промежуточных транзакций, так что размер блокчейна резко сокращается. Протокол использует метод, называемый сквозным. Транзакция MimbleWimble состоит из следующих компонентов:
- Набор входов, которые ссылаются и провел набор предыдущих выходов
- Набор новых выходов ( Pedersen Commitments )
- Ядро транзакции, которое содержит избыток ядра и подпись транзакции.
В блоке MimbleWimble сквозные транзакции представлены только их ядром транзакции, и все выходные данные выглядят одинаково, потому что это просто большие числа, которые невозможно различить. Согласно введению MimbleWimble на Grin Github :
«Подобно транзакции, все, что нужно проверять в блоке, это то, что право собственности было доказано (что происходит из ядра транзакции) и что весь блок не добавил денежной массы (кроме того, что разрешено монетной базой).Следовательно, совпадающие входы и выходы могут быть исключены, так как их вклад в общую сумму сводится на нет … Обратите внимание, что вся структура транзакции была исключена и порядок входов и выходов больше не имеет значения. Однако сумма всех выходов в этом блоке, за исключением входов, по-прежнему гарантированно равна нулю ».
В результате невозможно сказать, какой вход соответствует какому выходу, сохраняя при этом возможность проверки транзакций в блоке. Узлы могут дополнительно проверять блоки путем перекрестной ссылки на сумму денег, созданную в результате майнинга, с общим предложением.
Тип сокращения, предоставляемый MimbleWimble, позволяет протоколу стать гораздо более масштабируемым, а пользователи могут быстро синхронизироваться с сетью.Важно отметить, что состояние всей цепочки может быть проверено аналогично полному узлу, даже если ни один пользователь не сохраняет большую часть исторических данных блокч%D