Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Реферат
на тему: ” Ориентированный ациклический граф.
Использование DAG в криптовалютах”
Виконала :
Студентка групи КБ-42.
Доценко О.О.
Харків – 2019
Содержание
1. Введение…………………………………………………………………….
2. Преимущества DAG перед блокчейном………………………………....
3. Использвание DAG в криптовалютах…………………………………...
3.1 Byteball…………………………………………………………….....
3.1.1 Введение………………………………………………...
3.1.2 Внутренняя валюта……………………………………
3.1.3 Комиссия………………………………………………..
3.1.4 Распределение монет…………………………………..
3.1.5 Сравнение с аналогами……………………………….
3.1.6 Преимущества………………………………………….
3.2 Tangle (IOTA)………………………………………………………..
3.2.1 Введение………………………………………………...
3.2.2 Ширина сети. Tip selection algorithm………………..
3.2.3 Преимущества и критика
2
Вступление
Направленный ациклический граф (DAG) является
концептуальным представлением серии действий. Порядок действий
изображен на графике, который визуально представлен в виде набора
кружков, каждый из которых представляет действие, некоторые из
которых связаны линиями, которые представляют поток от одного
действия к другому. Каждый круг известен как «вершина», а каждая
линия называется «ребром». «Направленный» означает, что у каждого
ребра есть определенное направление, поэтому каждый ребро
обязательно представляет один направленный поток из одной вершины в
другую. «Ациклический» означает, что в графе нет циклов (то есть
«циклов»), поэтому для любой данной вершины, если вы следуете за
ребром, соединяющим эту вершину с другой, в графе не будет пути, к
которому можно вернуться эта начальная вершина.
Рис. 1 DAG
4
каждые 10 минут. Впервые идея применить концепцию DAG к хранению
данных родилась у разработчиков NXT. Если оставить время майнинга
неизменным, вместимость сети можно увеличить в Х раз, одновременно
генерируя Х блоков.
Блокчейн собирает много транзакций (далее записей) в один блок,
ждет определенное время и добавляет этот блок в цепочку. DAG берет
каждую запись и тут же добавляет эту запись в «цепочку». Это
обеспечивает быстрые транзакции Из-за безблочного устройства
транзакции проводятся прямо в сетях DAG. Этот процесс гораздо
быстрее и занимает намного меньше времени, чем в случае блокчейнов,
основанных на PoW и PoS.
В DAG нет нужды в майнинге и нет майнеров. Подтверждение
проходит непосредственно в самих транзакциях. В блокчейне именно
майнеры решают, какую транзакцию добавить в следующий блок, а
какую — нет. Именно у майнеров есть эксклюзивный доступ к блокам и
право решать, чью транзакцию принять для добавления в реестр. Для
пользователей это означает, что сделки проходят почти мгновенно.
5
Как только правильно созданная транзакция была добавлена в
реестр, она произошла. И точка. Информация об этом может доходить до
всех участников в разное время, но в конце концов все ноды получат эту
транзакцию и узнают, что она произошла.
Для полного понимания этого принципа криптовалют без
Blockchain следует описать процесс майнинга криптовалют с Blockchain.
Майнинг осуществляется посредством вычисления
поля nonce блока транзакций, сложность этого вычисления задана
заранее и основана на необратимости однонаправленной хеш-функций.
Также майнинг имеет соревновательный характер: кто первый получит
значение nonce, удовлетворяющее условию, тот и получит награду за
вычисление, к примеру, для криптовалюты Bitcoin награда за блок равна
50 BTC.
В современных реалиях функционирования таких
распространенных криптовалют как Bitcoin индивидуальный майнинг
становится невыгодным, поскольку обладая слабыми техническими
возможностями, индивидуальные майнеры имеют очень малые шансы
вычислить значение быстро и получить награду.
В противовес им выгодным такое положение вещей является для
майнинг пулов — объединение большого числа майнеров под эгидой
какого-либо пула. Блок вычисляется совместно всеми майнерами внутри
пула, в случае успеха от суммы награды вычитается комиссия пула, а
оставшаяся сумма делится между всеми остальными участниками.
Такой способ понижает прибыль от майнинга для одного
конкретного майнера, но значительно увеличивает шансы на успех.
Такое явление также называется олигополией майнинг пулов, и
проектируя криптовалюты без Blockchain, разработчики стараются
избавиться от этого явления.
В криптовалютах без Blockchain это достигается построением
таких алгоритмов функционирования, при которых техническое
превосходство не даст явного превосходства при майнинге. В частности,
это достигается путем увеличения скорости обработки транзакций, что
тесно связано с главенствующей ролью транзакций, а не блоков, в
криптовалютах без Blockchain.
6
С развитием технологии DAG мы можем стать свидетелями
появления сетей с высокой производительностью и минимальными
издержками. Пользователи смогут отправлять микроплатежи без
огромных комиссий (в отличие от биткоина или эфира). Китайский
проект IoT Chain (ITC) построен на DAG и может проводить до 10 тыс.
транзакций в секунду. У стартапа конкретные цели и сильное
сообщество. Его поддерживали ведущие блокчейн-фонды, такие как
ChainFunder и FBG. IoT Chain имеет все шансы стать блокчейном 3.0.
Направленные ациклические графы будут использоваться в
приложениях, требовательных к масштабируемости и пропускной
способности. Запуск игры CryptoKitties изрядно «засорил» сеть
Ethereum, вызвав серьезное замедление транзакций и рост комиссий. У
Ethereum есть решение этой проблемы, называемое «Sharding»
(разделение огромной базы данных на несколько меньших по размеру),
однако до его практической реализации пока далеко. Поэтому весьма
вероятно, что в поисках масштабируемости разработчики приложений
будут склоняться именно в сторону DAG.
3.1 Byteball
3.1.1 Введение
7
типов сообщений, каждое со своей структурой. Одним из типов
сообщений является оплата, которая используется для отправки байтов
или других ресурсов одноранговым узлам.
• Подпись (и) одного или нескольких пользователей, создавших
устройство. Пользователи идентифицируются по их адресам. Отдельные
пользователи могут (и поощряются) иметь несколько адресов, как в
биткойнах. В простейшем случае адрес получен из открытого ключа,
опять-таки похожего на биткойн.
• Ссылки на одну или несколько предыдущих единиц (родителей),
идентифицированных по их хэшам.
Как и в блокчейне, где каждый новый блок подтверждает все
предыдущие блоки (и транзакции в них), каждый новый дочерний блок в
DAG подтверждает своих родителей, всех родителей родителей,
родителей родителей родителей и т.д. Если кто-то пытается
отредактировать блок, ему также придется изменить его хэш. Это
неизбежно приведет к поломке всех дочерних блоков, которые
ссылаются на этот блок по его хэшу, поскольку как сигнатуры, так и
хэши детей зависят от родительских хешей. Следовательно, невозможно
пересмотреть юнит, не сотрудничая со всеми его дочерними элементами
или не похитить их секретные ключи. Дети, в свою очередь, не могут
пересматривать свои подразделения без сотрудничества со своими
детьми (внуками исходного подразделения) и так далее. Как только
модуль транслируется в сеть, и другие пользователи начинают строить
свои модули поверх него (ссылаясь на него как на родителя), количество
вторичных ревизий, необходимых для редактирования этого модуля,
следовательно, растет как снежный ком. Вот почему этот дизайн и
называется Byteball (наши снежинки - это байты данных).
В отличие от блокчейна, где выдача блока является редким
событием, и на практике этим занятием занимается только
привилегированная каста пользователей, в новом байтбольном модуле
начинается накопление подтверждений сразу после его выпуска, и
подтверждения могут поступать от кого угодно, каждый раз, когда
другой новый модуль выпущен. Не существует двухуровневой системы
обычных пользователей и майнеров. Вместо этого пользователи
помогают друг другу: добавляя новый блок, его автор также
подтверждает все предыдущие блоки.
8
В отличие от Биткойна, где попытка пересмотреть прошлую
транзакцию требует больших вычислительных усилий, попытка
пересмотреть прошлую запись в Byteball требует координации с
большим и растущим числом других пользователей, большинство из
которых являются анонимными незнакомцами. Неизменность прошлых
записей поэтому основана на явной сложности координации с таким
большим количеством незнакомцев, которые труднодоступны, не
заинтересованы в сотрудничестве, и где каждый из них может наложить
вето на пересмотр.
Ссылаясь на своих родителей, блок включает в себя родителя. Он
не включает полное содержание родителя, но включает хэш
родительского элемента. Точно так же единица косвенно зависит от
родителей и, следовательно, включает в себя родителей родителя, их
родителей и т. Д., И каждый узел в конечном итоге включает узлы
своего происхождения.
Существует правило, согласно которому узел не может ссылаться
на избыточных родителей, то есть таких родителей, что один родитель
включает другого. Например, если блок B ссылается на блок A, тогда
блок C не может ссылаться на оба блока A и B одновременно. A в
некотором смысле уже содержится в B. Это правило удаляет ненужные
ссылки, которые не добавляют никакой новой полезной связи на график.
3.1.3 Комиссия
11
3.1.4 Распределение монет
12
Рис 4. Награда за пройденный тест
3.2 IOTA
14
очень многообещающей. IOTA способна стать тем транзакционным
топливом, которое обеспечит реализацию умных предприятий с
участием машин, объединенных в одну сеть.
3.2.1 Введение
16
подтвердить свою собственную транзакцию. Это дает нам полностью
децентрализованную и саморегулирующуюся сеть.
Этот механизм позволяет IOTA оставаться бесплатной, и она
всегда будет оставаться бесплатной независимо от размера сети.
Благодаря устранению майнеров нет необходимости платить кому-либо
напрямую в сети. Вместо этого каждый пользователь платит, используя
очень небольшую часть своей вычислительной мощности для
подтверждения двух других транзакций. Это работает, потому что, как
каждая транзакция подтверждается и те транзакции
Это работает, потому что, поскольку каждая транзакция
подтверждается, и те транзакции, которые подтвердили ее, сами
получают подтверждения, за транзакциями накапливается вес. И чем
больше этот вес, тем надежнее и надежнее становится каждая
транзакция.
IOTA способна связать воедино практически все процессы в
экосистеме IoT за счет настройки цепей транзакций и способности
проводить микро транзакции в огромных количествах. Проблем с
масштабируемостью у Tangle в отличии от blockchain нет. Причем
платформа реализована так, что устройство для взаимодействия с
другими узлами не должно иметь бесперебойного доступа к Интернету.
Для некоторых «машин» достаточно будет подключаться раз в месяц или
даже в год – все зависит от функционала. Это позволит экономить заряд
батареи или даже электричество.
Уровень подтвержденности транзакции считается как сумма
проведенной работы самой транзакции и всех которые прямо или
косвенно ссылаются на нее до последних известных в сети. Таким
способом сеть защищается от атаки Сибилы Атака Сивиллы (англ. Sybil
attack) — вид атаки в одноранговой сети, в результате которой жертва
подключается только к узлам, контролируемым злоумышленником.
Одна из проблем, с которой IOTA столкнулась с самого начала,
заключается в том, что эта сеть DAG может быть захвачена
злоумышленником, получившим контроль только за 33% мощности
хеширования в сети. Чтобы этого не случилось, Фонд IOTA ввел
специальный узел под названием Координатор для обеспечения
надежности. Поскольку, предполагается, что текущая версия не
17
способна работать в открытой среде, образуя полностью
распределенную одноранговую сеть. Планы по развитию IOTA
включают избавление от необходимости доверенной стороны
(координатора), предполагается такая работа сети, что ни один узел не
имеет представления о полном состоянии Tangle. В текущей бета-версии
The Coordinator делает полный обзор и контроль всех транзакций в сети,
а остальные узлы ориентируются на него. Таким образом The Coordinator
является временным центральным органом необходимым для защиты от
атак, который управляется сообществом IOTA.
Фонд IOTA говорит, что, как только сеть станет достаточно
большой, Координатор больше не будет нуждаться, и в это время он
будет выведен из эксплуатации, что сделает IOTA полностью
децентрализованной.
Этот координатор контролируется Фондом IOTA и защищает сеть
IOTA от атак.
18
Рис 5. Ленивый совет
19
Почему это работает? Давайте посмотрим на еще одну ситуацию
ленивых советов. В приведенном ниже примере (Рис 7) транзакция 16
является ленивой подсказкой. Чтобы транзакция 16 была подтверждена,
случайный обходчик должен достичь транзакции 7, а затем выбрать
транзакцию 16 вместо транзакции 9. Но это вряд ли произойдет, потому
что транзакция 16 имеет совокупный вес 1, а транзакция 9 имеет
совокупный вес 7! Это эффективный способ сдерживать ленивое
поведение.
20
Рис 8. Супервзвешенная прогулка
21
Рис 9. Контроль предвзятости
Преимущества IOTA:
Масштабируемость и скорость транзакций. Увеличение количества
операций для Bitcoin или Ethereum приводит к задержкам
подтверждения транзакций. Йота работает наоборот – чем больше в сети
проходит транзакций, тем быстрее они подтверждаются.
Отсутствие комиссий за транзакции; что делает ее наиболее
подходящей для проведения микротранзакций.
Нет майнинга, поэтому IOTA не грозят форки и спекулятивные
колебания курса; вместо них каждый участник сети, осуществляющий
транзакцию, активно участвуя в консенсусе, таким образом, участники
Tangle образуют более децентрализованную систему, чем участники
Blockchain. =
22
IOTA Foundation – фонд, который занимается развитием проекта и
привлекает солидные инвестиции; Уникальность платформы в сравнении
с другими проектами, что делает IOTA привлекательным
инвестиционным активом.
Возможность работы в локальной сети. Если устройства проводят
между собой транзакции, не подключаясь к интернету (например, для
экономии заряда аккумулятора), а потом через некоторое время
происходит подключение, эти транзакции не будут отвергнуты, как это
произошло бы для большинства криптовалют. Они будут учтены и
вольются в общий поток без потерь.
Независимость от оборудования. Т.к. все монеты IOTA уже
выпущены, то поддержка работоспособности сети не зависит от
майнинга, и соответственно, от дорогостоящего оборудования.
Предполагаемая устойчивость к квантовым
вычислениям. Несмотря на то, что полноценного квантового компьютера
еще не существует, IOTA уже готова к его появлению. Алгоритм, на
котором основана IOTA, квантовый компьютер не может просчитать
настолько же быстро, как, например, блокчейн биткойна.
IOTA не оставалась без критики на протяжении всей своей жизни,
и большая часть ее была сосредоточена на технических недостатках
алгоритма шифрования. Также произошла кража IOTA на сумму 11,4
миллиона долларов США в 2018 году, когда хакер создал поддельные
семена и таким образом получил доступ к кошелькам пользователей.
Самая большая критика проекта связана с тем, что в проекте
используется алгоритм шифрования Curl, который разработчики сами
«свернули». Это означает, что они создали алгоритм шифрования с нуля,
крайне обескураженный предмет в индустрии криптографии.
Еще одна критика проекта связана с тем, что команда избегает
использования открытого исходного кода, который некоторые даже
считают враждебным. Один из краеугольных камней большинства
проектов блокчейна - это кодовая база с открытым исходным кодом,
поэтому, когда IOTA презирает открытый исходный код, многие
задаются вопросом, что они могут скрывать
Наконец, существует спор вокруг использования Координатора,
который по существу делает IOTA централизованной криптовалютой.
23
Хотя Фонд IOTA заявил, что их первоочередной задачей является
отстранение Координатора, до тех пор, пока это не произойдет, остается
недоверие к проекту.
24