Краткая история проекта Tangle и IOTA

Это было около четырех лет назад, когда некоторые идеи вокруг распределенной архитектуры регистра, основанные на Directed Acyclic Graph (в отличие от цепочки), начали обсуждаться на различных форумах. Проблема масштабирования блочной цепи, которая действительно натолкнулась на голову много лет спустя, уже была хорошо понята в то время.

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

Если вы хотите снять сборы и позволить системе масштабироваться, естественной идеей было бы, таким образом, устранить узкое место и горняков.

Это, конечно, легче сказать, чем сделать, — это поднимает все новые вопросы. Где должен быть присоединен следующий блок / транзакция / вершина? Кто будет проверять транзакции на согласованность и почему? Как он может быть защищен от возможных атак? Как будет достигнут консенсус? На эти вопросы нет тривиальных ответов.

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

Это стало математической моделью, которую мы теперь все знаем как Tangle и он служит основой для основного протокола IOTA.

Прошло почти три года с тех пор, как был опубликован первый черновик белой бумаги Tangle, описывающий эту математическую модель, и с тех пор она жить собственной жизнью — первоначальный технический документ прошел через множество изменений.

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

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

Поэтому для устранения сборов все пользователи (т. е. Вы) должны были бы заботиться о себе. Наша идея состояла в том, чтобы придумать систему, в которой основным принципом является «Помогите другим, а другие вам помогут» (вы можете думать об этом как о модели с оплатой вперед).

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

Идея состоит в том, что, одобряя транзакцию, вы также опосредованно одобряете всех своих «предшественников». Интуитивно понятно, что для содействия успеху системы входящие транзакции должны утверждать советы, поскольку это добавляет новую информацию в систему. Однако из-за сетевых задержек нецелесообразно навязывать, что это должно произойти — как вы можете быть уверены, что то, что вы считаете чаевым, еще не одобрено кем-то еще, может быть, 0,1 секунды назад?

Вместо этого речь идет о стратегиях утверждения  - иногда (ну, на самом деле, большую часть времени), мы используем термин «выбор подсказок», но важно отметить, что участники сети не обязаны выбирать советы; мы хотели бы навязать, что все должны это делать, только мы не можем.

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

Если все ведут себя таким образом, то новые транзакции не будут одобрены, и сеть фактически остановится. Таким образом, если мы хотим, чтобы он работал, нам необходимо стимулировать участников к сотрудничеству и одобрению недавних транзакций друг друга.

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

Нужно немного изменить наш главный принцип — теперь он гласит: «Помогите другим, а другие вам помогут; однако, если вы решите не помогать другим, другие вам тоже не помогут ». Когда новая транзакция ссылается на две предыдущие транзакции, это заявление «Я поручился за эти транзакции, которые раньше не были поручены, а также все их предшественники, и их успех связан с моим успехом».

К сожалению, как люди, мы не можем выбирать наших родителей и родословную, но в мире IOTA вы можете — так выбирайте мудро.

Ваш email не будет опубликован. Обязательные поля отмечены *
Имя *
Email *
Сайт
Ваш комментарий
;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: