Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
cyberevents
6 лет назад

Bitcoin Asset Network: токены в блокчейн-платформах. Спикер: Алексей Карпов

Сооснователь Bitaps - Алексей Карпов, познакомит аудиторию со своим проектом, который является биткоин эксплорером и процессингом биткоин платежей.

Для детального понимая проекта, сначала спикер расскажет о токенах и архитектуре Блокчейн:

Эмиссия токенов

Популярность и широкое распространение криптовалют стали причиной рождения различных токенов. Со временем пришло осознание того, что поддержание и разработка собственной блокчейн-платформы - это достаточно накладное мероприятие. В следствии, появилась идея создания системы, в которой была бы возможность эмитировать пользовательские токены, работающие на публичном Блокчейн. Сначала идея была реализована в подходе colored coins, в дальнейшем были разработаны отдельные блокчейн-платформы для выпуск пользовательских токенов.

На сегодняшний день данные платформы широко используется

IMG_0582.PNG

Данная диаграмма - выборка c сайта https://coinmarketcap.com/ , где учтены токены, которые имеют ощутимую капитализацию. Общая капитализация представленных токенов составляет примерно 7 500 000 000 USD. Как видно из диаграммы - Ethereum является платформой лидером по выпуску токенов.

Наиболее популярные блокчейн-платформы

IMG_0614.jpg

Важно отметить что, Блокчейн Counterparty и Omni не являются отдельными платформами, это метапротоколы, которые базируются на платформе Bitcoin.

Использование токенов

IMG_0583.jpg

Задачи прикладного характера, которые могут стоять перед токенами:

  • Обмен между двумя участниками системы
  • Прием платежей
  • Выплаты
  • Обмен токенов

При решении данных задач, могут возникнуть следующие проблемы:

Проблемы, которые связаны с обменом токенов

IMG_0584.jpg

В указанном примере обмен происходит на платформе Ethereum. Разберем более подробно: Алиса передала 10 токенов Бобу. Боб, недавно зарегистрировавшийся в сети Ethereum, в свою очередь, передает токены Кэрол, но транзакция не проходит, по причине того, что для проведения операции Бобу необходим валюта Ethereum. В результате перед Бобом стоит проблема того, что ему необходимо доложить Ether и знать, что ему необходимо это сделать, что несомненно усложняет проведение операции на платформе.

Проблемы при процессинге платежей

IMG_0585.jpg

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

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

IMG_0586 (1).PNG

Основывается на аккаунтах (подход, который используется в Ethereum)

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

Недостатки подхода:

IMG_0587.PNG

Наиболее важный недостаток - отсутствие параллелизма, то есть транзакции не взаимосвязаны. Это может привести к тому, что пользователь произведет транзакцию и любой другой пользователь может ее повторить, так называемая replay атака. Для решения проблемы, было введено поле nonce. Данное поле означает порядковый номер транзакции и для ее проведения число nonce должно быть на одну единицу выше, что существенно замедляет процесс.
Еще один недостаток - нет возможности в рамках одной транзакции оплатить несколько счетов.
Также стоит отметить, что все токены, которые сейчас работают в сети, встроены внутри транзакции. То есть, любой токен на Ethereum - это встроенный кусочек информации внутри транзакции Ethereum.

UTXO архитектура - основывается на не потраченных выходах (используется в Bitcoin)

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

Эволюционный шаг в решении проблем - проект BitcoinAsset:

IMG_0588.jpg

  • Нативные токены, которые естественным образом циркулируют в Блокчейн
  • UTXO архитектура
  • Связь с Блокчейн Bitcoin, что даст дополнительное преимущество - обмен токенов на Bitcoin без доверия
  • Алгоритм консенсуса Proof of Stake

Для достижения естественной циркуляции токенов необходимо:

IMG_0589.PNG

В Bitcoin любой выход транзакций подразумевает сумму транзакций и адрес на который она зачисляется. В эту структуру достаточно добавить одно поле, которое будет означать идентификатор токена, который переводится и получится система, в которой все токены будут переводится естественным образом. Данная система - аналогия Блокчейн Bitcoin, только с поддержкой многочисленных токенов.

Основная идея проекта - взять за основу Блокчейн Bitcoin и расширить протокол, наследуя скриптовый язык:

IMG_0593.jpg

Учитывая то, что создается новый Блокчейн, есть возможность применить современные технологий без хардфорка или софтфорка, а заложив их изначально.

Агрегация подписей

IMG_0594.PNG

Основная идея заключается в следующем: есть транзакция, на вход которой понадобится определенное количество не потраченных выходов, то есть монет. Каждый вход должен быть подписан. Каждая подпись - это примерно 72 байта. С помощью определенной техники можно агрегировать четыре подписи в одну, которая будет валидна для четырех входов. Соответственно в блок запишется не четыре поля по 72 байта, а одно, что существенно сократит объем Блокчейн и количество проведенных операций. В результате возрастет пропускная способность Блокчейн и скорость обработки новых блоков.

Segregated witness

IMG_0595.PNG

Из иллюстрации видно: от транзакции вычисляется хэш, который покрывает все поля транзакции, кроме подписи. И второй хэш - witness хэш, будет покрывать и подписи. Данное решение оптимизирует структуру блока транзакций, поскольку появится возможность отделять подписи транзакций от процесса их передачи. В результате транзакции будут занимать меньше места, а блоки, соответственно, станут более вместительными.

Аналог технологии MAST

IMG_0600.PNG

Merkelized Abstract Syntax Trees или Дерево Меркла - математической структура, комбинирующая различные пакеты показателей в единый хэш, который называется корень Меркса. Его суть заключается в том, что он может применяться в качестве подтверждения наличия конкретных показателей в дереве Меркла. Зная один элемент, можно подтвердить присутствие другого элемента, при этом, не зная о существовании третьего.

Обмен токенов

На платформе UTXO открываются возможности нативного обмена токенами:

IMG_0604.PNG

Разберем на примере: Алиса хочет обменять 10 BST на другой токен. Она создает половинчатую транзакцию и подписывает ее SIGHASH_SINGLE, который блокирует только один вход и один выход. И эту половинчатую транзакцию предлагают другим пользователям дополнить. Соответственно любой другой пользователь, которого устраивают условия обмена, добавляет туда свой выход другого актива и ставит на вход актив Алисы. Подписание этой транзакции ведет к атомарному обмену, что естественным образом ложится на архитектуру Блокчейн.

Атомарный обмен между Блокчейн Bitcoin и новым Блокчейн

IMG_0605.PNG

Боб хочет обменять bitcoin на другой актив. Его последующие действия: Боб создает две транзакции, берет свои не потраченные монеты и переводит их Алисе, но пока не подписывает транзакции. Затем он создает еще одну транзакцию, где эти же три входа переводит сам себе, подписывает эту транзакцию и отдает ее Алисе. В свою очередь, Алисе эта транзакция бессмысленна, так как она переведет токены обратно Бобу. Алиса создает новую транзакцию в Блокчейн, где на входе указывает ссылку на все три выхода, добавляет тот актив, который необходимо поменять и создает транзакцию со скриптом, который будет действовать следующим образом: если транзакция А зашла в Блокчейн, то актив принадлежит Бобу, если нет - Алисе.

Это значит что, если Боб подписывает транзакцию, то Алиса получает bitcoin, а Боб становится владельцем актива.

Алгоритм консенсуса

В сети Bitcoin и Ethereum используется алгоритм консенсуса Proof of Work.
Недостатки алгоритма:

  • Высокое энергопотребление

    IMG_0607.PNG

  • Слабое распределение и возможность атаки

    IMG_0608.PNG

    Сейчас считается что, подтверждения 6 блоков - это безопасно, но это только когда атакующий владеет не более 10% мощностей, в противном случае безопасным будет дожидаться 10-25 блоков.

    Алгоритм Proof of Stake

    В самом простом виде данный алгоритм имеет ряд недостатков:

    IMG_0609.PNG

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

    Изучив существующие реализации Proof of Stake, наша команда предлагает свое видение решения вышеуказанных проблем:

    IMG_0610.PNG

    • Пользователь должен внести депозит, это необходимо для вычета в случае отклонений от правил протокола, что позволит имитировать стоимость создания атаки
    • Появляется такое понятие как слот, как то время, за которое должен генерироваться блок - по проведенным исследованиям среднее время 20 сек.
    • Эпоха - это количество слотов, которое способно предотвратить атаку
    • Алгоритм консенсуса предполагает определенное количество честных участников, в нашей системе допустимо до 45% нечестных участников

    Экономические инициативы:

    IMG_0612.jpg

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

    Проект уже функционирует http://bitcoinasset.org/

    IMG_0613.jpg

5
7.111 GOLOS
На Golos с August 2017
Комментарии (0)
Сортировать по:
Сначала старые