Л1 Новиков. Современные платформы распределенных реестров
Скачать 130.6 Kb.
|
Отделение интеллектуальных кибернетических систем Лабораторная работа № 1 «Современные платформы распределенных реестров» Выполнил: Новиков А.В. Проверил: Обнинск, 2020 г. Задание 1: Обзор основных характеристик платформы. Основная информация: Название платформы: TRON; Название токена: Tronix(TRX) - основная валюта системы; Tron Power – токен для получения преимуществ в системе(например голосовать за или против изменений в системе); TRON 20 – владеют разработчики, для создания полноценных блокчейнов с новыми токенами; Дата основания: 2017г.; Вебсайт: https://tron.network/; Обозреватель блоков: https://tronscan.org/#/; Активность использований на 30.10.2020 Количество узлов онлайн:1,447 Количество транзакций за день: 1,918,947 Всего активных аккаунтов: 13,363,820 Цена нативного токена: 0,026 доллара США Капитализация: $1 892 126 854 сложность майнинга: нельзя майнить напрямую, но есть возможность майнить используя пул, т.е. майнить эфириум или манеро и автоматичсеки переводить их в троникс; практическое применение платформы - https://rocketgame.io/; https://blockchaincuties.com/ Технические характеристики: встроенные токены: Да; ограничение нативного токена: 100 млрд TRX, отсутствие выпуска токенов до января 2021г.; максимальное количество транзакций в секунду: 10000; максимальное количество поддерживаемых узлов : 5000; криптография (подпись): Да, Tron использует модель, основанную на учетной записи; хеш функция: SHA3-256; объем данных в одной транзакции : 200 байе; средняя скорость подтверждения транзакции: 5 минут; расширяемость на лету: Protobuf, разработанный Google; сильная масштабируемость; язык программирования, на котором разработана платформа: Java; вид цепочки: Public; размер блока: 1MB; состав блока: обычно имеет блок-заголовок и несколько транзакций; добавление смарт-контрактов: ДА; язык смарт-контрактов: Solidity полнота по Тьюрингу: Да; ограничения: Максимальный лимит составляет 1000 TRX; внешние вызовы и доступ к данным (т.е. возможность создания оракулов): Да, BandChain – был реализован на TRON; консенсус: Да, он использует инновационную делегированную систему подтверждения ставки; закрытие блока: TRON использует так называемое делегированное Proof-of-Stake, где только 27 избранных майнеров используют внутренний ресурс – балансы своих аккаунтов для закрытия блоков; Задание 2: Обзор реализации технических примитивов. Структура транзакций: Процесс подписания транзакций TRON следует стандартному криптографическому алгоритму ECDSA с кривой выбора SECP256K1. Закрытый ключ-это случайное число, а открытый ключ-точка на эллиптической кривой. Процесс генерации открытого ключа состоит в том, что сначала генерируется случайное число в качестве закрытого ключа, а затем умножается базовая точка эллиптической кривой на закрытый ключ, чтобы получить открытый ключ. Когда происходит транзакция, необработанные данные транзакции сначала преобразуются в байтовый формат. Затем необработанные данные подвергаются хэшированию SHA-256. Закрытый ключ, соответствующий адресу контракта, затем подписывает результат хэша SHA256. Затем результат подписи добавляется в транзакцию. Комисиия Сеть TRON обычно не взимает плату за большинство транзакций, однако из-за системных ограничений и справедливости использование полосы пропускания и транзакции действительно берут определенные сборы. Комиссионные сборы подразделяются на следующие категории: 1. Обычные проводки стоимость очков пропускной способности. Пользователи могут использовать бесплатные ежедневные точки пропускной способности (5000) или заморозить TRX, чтобы получить больше. Когда точек пропускной способности недостаточно, TRX будет использоваться непосредственно с отправляющего счета. Необходимый TRX-это число байт * 10 ВС. 2. смарт-контракты стоят энергии (Раздел 6), но также будут нуждаться в точках пропускной способности для трансляции и подтверждения транзакции. Стоимость полосы пропускания такая же, как и выше. 3. все транзакции запроса бесплатны. Это не стоит энергии или пропускной способности. Сеть TRON также определяет набор фиксированных комиссий для следующих транзакций: 1. Создание узла свидетель: 9999 трансивера 2. выдача токена TRC-10: 1024 TRX 3. Создание нового аккаунта: 0.1 TRX 4. создание биржевой пары: 1024 TRX Структура блока: Блок Блок обычно содержит заголовок блока и несколько транзакций. Структура данных Protobuf: Заголовок блока содержит raw_data, witness_signature и blockID. Структура данных Protobuf: Необработанные данные Необработанные данные обозначаются как raw_data в Protobuf. Он содержит необработанные данные сообщения, содержащие 6 параметров: 1. временная метка: временная метка этого сообщения – например 1543884429000. 2. txTrieRoot: корень дерева Меркле – например 7dacsa...3ed. 3. скобки: хэш последнего блока – например 7dacsa...3ed. 4. номер: высота блока – например 4638708. 5. версия: зарезервировано – например 5. 6. witness_address: адрес свидетеля, упакованного в этот блок – например 41928c...4d21. Подпись Свидетеля Подпись свидетеля обозначается как witness_signature в Protobuf, который является подписью для этого заголовка блока от узла свидетеля. Block ID Block ID обозначается как blockID в Protobuf,. Он содержит атомарную идентификацию блока. Идентификатор блока содержит 2 параметра: 1. хэш: хэш блока. 2. Количество: хэш и высота блока. Структура блокчейна: Протокол TRON определяется google protobuf и содержит ряд слоев, от учетной записи, блока до передачи. Существует 3 типа счетов—базовый счет, счет выпуска активов и счет контракта, и атрибуты, включенные в каждый счет, включают имя, типы, адрес, баланс и связанный актив. Базовая учетная запись может претендовать на роль узла проверки, который имеет различные параметры, включая дополнительные атрибуты, открытый ключ, URL-адрес, статистику голосования, производительность истории и т. д. Блок обычно содержит данные транзакций и заголовок блока, который представляет собой список базовой информации блока, включая метку времени, подпись, Родительский хэш, корень дерева Меркла и так далее. Контракты транзакций в основном включают контракт на создание учетной записи, контракт на передачу, контракт на передачу активов, контракт на голосование активов, контракт на голосование свидетелей, контракт на создание свидетелей, контракт на выпуск активов и контракт на развертывание. Каждая транзакция содержит несколько TXInputs, TXOutputs и других связанных качеств. Ввод, транзакция и головной блок - все это требует подписи. Инвентаризация в основном используется для информирования одноранговых узлов о списке товаров. Реализация дерева Меркла или его налоги: Дерево Меркла Также известный как хэш-дерево. Структура данных для организации большого объема данных с максимальной эффективностью. Он называется деревом, потому что подписи создаются из данных, а затем объединяются с другими подписями для создания новой всеобъемлющей подписи. Это продолжается и продолжается, и может рассматриваться как механизм, используемый для "цепочки блоков" вместе на блокчейне. Он как бы принимает форму ветвей дерева, выходящих друг из друга. /walletsolidity/getmerkletreevoucherinfo Description: To get a merkle tree infromation of a note $ curl -X POST http://127.0.0.1:8090/walletsolidity/getmerkletreevoucherinfo -d '{ "out_points":[{ "hash":"185b3e085723f5862b3a3c3cf54d52f5c1eaf2541e3a1e0ecd08bc12cd958d74", "index":0 }] }' Parameter out_points: Note information Return: A merkle tree of a note Задание 3: Приложения. Tron задуман как распределенная сеть для свободного обмена контентом между пользователями, а также разработки и запуска приложений развлекательного характера. Что можно будет сделать на этой платформе: -загрузить, хранить, передать, сдать в аренду или получить любой контент: изображения, видео, документы и т.д.; -поддержать интересные проекты, что называется, рублем, а также лайками, репостами, комментариями; -развернуть на базе сети децентрализованное приложение, от мелкой программки до крупной многопользовательской игры; -распространять контент и запускать приложения без оглядки на государственные запреты; -получить криптовалюту Tron в качестве награды за размещение контента; -продавать контент, не теряя деньги на услугах посредников вроде Google Play и не испытывая конкурентного прессинга со стороны крупных компаний; -выпустить собственные токены; -поучаствовать в управлении сетью путем голосований, доступных держателям коинов Tron. |