Направленный ациклический граф (DAG) Universa – внутреннее содержание

Давайте глубже погрузимся в блокчейн Universa. В предыдущих статьях вы можете прочитать, почему данный протокол быстрый, дешевый и безопасный. Но что по сути представляет собой протокол Universa Blockchain, и как выглядит архитектура?

Блокчейн, в большинстве случаев, является скорее модным словом и общим названием для самых разных цифровых систем, чем просто цепочкой блоков. Давайте начнем с первого блокчейна: Биткойн.

Биткойн – линейный блокчейн

Более десяти лет назад Сатоши Накамото создал первый цифровой блокчейн. Всё в целом очень просто: это блок цепочек со всеми транзакциями внутри него.

На данный момент блокчейн Биткойн состоит из более чем 640 000 блоков. За каждым блоком появляется новый, и так постоянно, примерно каждые 10 минут. Майнер, имеющий право генерировать конкретный блок, выбирает транзакции из mempool и добавляет их в блок.

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

Каждый блок не просто имеет «ссылку» на предыдущий блок в цепочке, но фактически хранит хэш и, следовательно, ссылается на его хэшированное содержимое. Кроме того, любопытно, что вы не можете редактировать какой-либо блок, потому что если вы отредактируете его, его хэш изменится; поэтому он не будет соответствовать хешу, сохраненному в следующем блоке. И если вы попытаетесь отредактировать следующий блок (и исправить хеш в нем) – хеш следующего блока после него тоже изменится. И так далее, и так далее. Таким образом, вы просто больше ничего не можете изменить в истории, потому что хеши данных хранятся в последующих блоках. Такая цепочка хэшей делает историю неизменной.

Блокчейн 2.0

Биткойн изобретен и предназначен для новых цифровых денег. Его цель – быть цифровыми деньгами. Поэтому через некоторое время возникло множество инновацийонных, пытавшихся использовать блокчейн и для других целей.

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

Это привело к новому типу блокчейнов с различными параметрами и допущениями. После Биткойн-блокчейна наступила эра Эфириума. Но архитектуру этого блокчейна по-прежнему можно сравнить с блокчейном Bitcoin: он также имеет линейную структуру.

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

Чтобы решить эту проблему, внутри архитектуры блокчейна появляются новые решения:

  • Шардинг: Это разделение данных на группы и выделение их на отдельные сервера
  • Сайдчейн (от англ. side chain – боковая цепь) — находящаяся на стадии активного развития технология, позволяющая токенам и другим цифровым активам одного блокчейна безопасным образом использоваться в другом блокчейне и затем (в случае необходимости) быть возвращенными в оригинальный блокчейн. Изначально концепция сайдчейнов была описана в 2014 году в white paper, написанном разработчиками компании Blockstream — Enabling Blockchain Innovations with Pegged Sidechains.
  • Направленные ациклические графы (DAG): регистрация транзакций в независимых нелинейных связанных блоках.

Но решение, которое использует Universa, является довольно уникальным и при этом ни одним из вышеперечисленных. В протоколе Universa Blockchain используется еще лучшее решение: множество DAG. В мире Universa каждая история контрактов является полностью независимым DAG.

Направленный ациклический граф (DAG)

В Bitcoin / Ethereum существует единственная линейная графовая структура, в которой хранятся все транзакции. В блокчейн-системах на основе DAG, все транзакции объединяются в один нелинейный граф. В сети Bitcoin/Ethereum каждый блок может иметь только 1 родителя и только 1 ребенка. В DAG каждый блок может иметь нескольких родителей и даже нескольких детей.

Как вы могли прочитать в предыдущих статьях, каждая транзакция в Universa Blockchain содержит ревизию корневого смарт-контракта. Таким образом, с Universa каждый смарт-контракт имеет свой собственный DAG, содержащий историю этого документа / контракта.

В большинстве случаев внутри такого DAG возникает, по сути, обычный линейный граф. Когда вы делаете транзакцию в сети Universa, состояние родительского контракта аннулируется (revoked), а новая версия утверждается (approved). Все это происходит в рамках одного направленного ациклического графа, – пусть и всего лишь в линейной структуре – которая не влияет на другие смарт-контракты.

В Universa возможно, чтобы тысячи DAG работали независимо, не конфликтуя с цепочками других смарт-контрактов.

Когда вы объединяете все эти направленные ациклические графы в одной сети, которая поддерживается узлами-нодами, вы и получаете Universa Blockchain.

Но несмотря на то, что это один-единственный DAG, это все еще просто история того же контракта. В целом изменение нескольких смарт-контрактов может даже быть зарегистрировано в одной транзакции, несмотря на то, что на них ссылаются разные DAG. Это позволяет использовать блокчейн Universa в качестве технического связующего звена между существующими ИТ-системами, например, в Smart Cities.

Таким образом, каждый DAG (и, следовательно, каждый контракт) оказывается независим от другого.

Много DAG

С многосвязными блокчейнами (по сравнению с линейными) этот аспект уже менее важен. Но в Universa, с её « лесом DAG-ов» две истории двух контрактов независимы на 100%. Эти контракты не могут мешать друг другу.

Как вы помните из статьи о «скорости», Universa Blockchain:

  1. не хранит информацию о каждом блоке (публично)
  2. он не хранит блоки вообще. Это увеличивает анонимность, экономит много места и повышает производительность.

Таким образом, каждый «блок» связан не с транзакциями в предыдущих блоках, а с одной редакцией смарт-контракта. Вы можете прочитать больше об этом в нашей базе знаний.

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

Universa Today поддерживается и переводится сообществом. Свяжитесь с @starnold, если вы хотите принять участие или помочь распространять информацию.

Мир

Help translating this post to Английский Немецкий Французский Голландский Итальянский Испанский Хорватский. Contact @starnold to participate!

Related posts

Суть смарт-контрактов Universa

Arnold

Асимметричная криптография в Universa Blockchain

Arnold

Встреча сообщества Universa в Амстердаме 2020

Arnold

Leave a Comment