Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Достаточно глубокий и старательный обзор, но не без неточностей.
- Позволю себе (как один из разработчиков этого проекта — посему знающий эту систему изнутри) прокомментировать некоторые нюансы, чтобы не запутывать комьюнити.
- > доля эмиссии в адрес команды проекта выше средней
- 10%? Надо напомнить, что низкий уровень эмиссии монеты/токена во время ICO/TGE в адрес команды является риском для сообщества, что команда не будет обладать достаточной мотивацией для стремления к росту монеты/токена, а возьмёт себе полученные на ICO деньги и сбежит на Сейшелы. К сожалению, такие ICO-организаторы тоже встречаются, и портят впечатление о всём рынке ICO для сторонних участников. Так что подбор размера эмиссии в адрес команды — это палка о двух концах.
- > экономика токена описана плохо
- Любопытно, что при этом в статье вы её успешно описали *всю*. Потому что она проще, чем у, например, Ethereum — оплата комиссий, но при этом отсутствие майнинга и fixed total supply.
- > сейчас используется токен U, о котором нет упоминания в проектной документации
- U не является токеном (но является смарт-контрактом). Это достаточно низкоуровневая техническая сущность (что-то вроде gas в Ethereum — на уровне кода он существует, но люди платят не им, а ether-ом!), которая используется как раз для обеспечения описанного в whitepaper условия, что базовая транзакция в сети стоит около $0.01, и для самого расхода комиссий. Поскольку он не является токеном (в частности, если вы скачаете и посмотрите структуру его смарт-контракта, то заметите, что его даже нельзя передавать после выдачи другому пользователю и, следовательно, менять на настоящие токены), то к «экономике токена» он, в общем-то, и не относится — скорее, к технической реализации этой экономики.
- Комментарии тут получаются очень коротенькими, жаль, неудобно. Продолжаем, часть 2:
- > Каждый узел лицензируется и авторизируется корпорацией. Соответственно, система работает в предположении, что всем узлам можно доверять.
- Если бы это было так, то смысла в «блокчейне»-DLT не было бы. Скорее, можно рассчитывать на высокий аптайм и хорошие SLA узлов. Но владелец каждого узла может захотеть запустить злонамеренно изменённую логику,.. а система при этом всё равно будет работать надёжно, благодаря консенсусу даже не в 51%, а в 90%.
- > Смарт-контракт может быть действительно сложный, требующий подписей большого количества сторон для подтверждения изменений.
- А ещё более сложный смарт-контракт может, например, ссылаться на другие смарт-контракты и требовать их актуальности. Посмотрите, например, на смарт-контракт, регулирующий депозит и настройки каждой конкретной ноды для нодовладельцев (https://kb.universa.io/node_owner_contract/90) — внутри себя он требует ссылку на активный/актуальный/APPROVED смарт-контракт, содержащий этот самый депозит.
- > Сеть построена вокруг контрактов и их исполнений — “транзакций”
- Одна из ключевых особенностей системы Universa — что смарт-контракт вовсе не (обязательно) является программой, чтобы «исполняться». Транзакцией является валидация и регистрация контракта, а не исполнение — Universa совсем не Ethereum, в котором контракт является не документом (как во всём оффлайновом мире), а программой (потому что кроме виртуальной машины для запуска Dapp там механизмов нет).
- > В сети Universa не хранятся контракты и их цепочки состояний,
- Один из добавленных уже после TGE механизмов — это режим опционального хранения отдельных ревизий контракта, см. https://kb.universa.io/distributed_storage/17
- С ним можно (отдельно оплачивая это сети/узлам) хранить сколько-то времени и «тело» смарт-контракта в сети Universa.
- > Клиентский интерфейс узла подключен к Nginx (HTTP сервер) или подобному,
- Реально ноды, поскольку основной протокол общения с ними базируется на HTTPS, могут находиться (и обычно находятся) за любыми стандартными инструментами защиты от DDOS. Уже не раз происходившие попытки DDOSа очень легко фильтровались используемым сейчас CloudFlare.
- > Принцип децентрализации под вопросом. Каждый узел лицензируется и авторизируется корпорацией Universa и может быть подвержен ее влиянию.
- Но с другой стороны, оффлайн-лицензирование решает проблему с централизацией, которая возникает в системах, положившихся на исключительно алгоритмическую попытку децентрализации. К сожалению, алгоритм никак не позволит выяснить, что вот эти сто с виду разных узлов с разными секретными ключами на самом деле принадлежат одной компании или аффилированным с ней; оффлайн-проверка — позволяет. В условиях того, что «атака 51%» уже давно перестала быть теоретической, а стала исключительно «вопросом бюджета» (и с учётом успешных атак на Monacoin, Bitcoin Gold, Zencash, Verge и Litecoin Cash, и с учётом оценки стоимости такой атаки в примерно $500 для мелких криптовалют), пожалуй, корректнее говорить, что «отсутствие лицензирования и полагание на алгоритмы — это проблема с децентрализацией», а вот «лицензирование и проверка корпорацией — это наоборот уменьшение проблем с децентрализацией».
- Впрочем, в Universa слышат все комментарии и сомнения комьюнити по этому поводу, и стремятся сделать этот процесс ещё более прозрачным – тот же смарт-контракт нодовладельцев (https://kb.universa.io/node_owner_contract/90) появился совсем недавно.
- > За новостями проекта можно следить в блоге Александра Бородича на Medium:
- А ещё есть Medium всего проекта: https://medium.com/universablockchain
- И развитые новостные каналы в Telegram: http://t.me/universanewsru (на русском), https://t.me/universanews (на английском).
- > За обновлениями технической части можно следить на GitHub
- А ещё есть отдельные каналы с Release Notes для, например, Uniclient (https://t.me/uniclient), Web Client (https://t.me/universawebclient). Там за ними следить даже удобнее, чем на Github.
- > Сайт и документация на трех языках: русском, английском и корейском.
- Хммм... Ещё со времени токенсейла на сайте НАМНОГО БОЛЬШЕ языков. Английский, русский, корейский, китайский, японский, польский, немецкий, голландский, филиппинский.
- Техническая документация на https://kb.universa.io в основном на английском, но отдельные (самые важные) документы переведены на русский.
- > Дорожная карта расписана до второго квартала 2018 года включительно
- Актуальные рабочие планы (а не планы годовой давности) можно почитать в отчётах CEO на его Medium (упомянутом выше). Тогда не будет и достаточно странных комментариев про «отставание от плана».
- > в White Paper не описана техническая сторона проекта и то, в чем именно заключается инновационность.
- А вы обратили внимание, что в проекте есть развитая модель смарт-контрактов, но при этом «писать программу», как в Ethereum, вовсе не обязательно?
- > Telegram — 5811 участников
- Наверное, вы посчитали только русскоязычную группу. В международной группе (https://t.me/Uplatform) — примерно 14000 человек.
- > На ресурсе, который позиционируется как эксплорер, можно посмотреть только статус одного конкретного контракта, загрузив его или указав ID
- ... потому что именно это и хранит каждый узел DLT Universa. Если передать содержимое конкретного контракта (или если он сохранён в публичные хранилища вроде SLOT1) — то можно увидеть его структуру и связи, всё как в обычных эксплорерах... а если от контракта известен только его ID, то, благодаря максимальной анонимизации, сеть про него и знает только разве что статус его валидности.
- > Smart Gold создает блокчейн-актив SGT, который обеспечен золотом в натуральном выражении и будет размещен на платформе Universa. Так как, на момент старта ICO, сеть Universa не была запущена, создатели SGT решили принимать инвестиции альткоинами стандарта ERC-20, с возможностью дальнейшего перевода токенов SGT в смарт-контракт Universa.
- На данный момент токены SGT уже работают в сети Universa.
- > факт отсутствия блокчейна, как такового
- К сожалению (как метко замечено автором статьи вначале), слово «блокчейн» стало слишком расплывчатым («устоявшийся термин для обозначения криптосистемы»), и значит ровно то, что понимает под ним каждый конкретный человек — а значит, говорить, что «блокчейна нет» очень легко: обязательно найдётся какая-нибудь трактовка, которой это не будет удовлетворять.
- Есть ли в Universa «блокчейн» как структура данных, основывающаяся на криптографии и следующих «блоках», базирующихся на предыдущих и поверяющих их? Конечно; DAG является расширением этой модели (в DAG есть 1 или больше неявных блокчейнов), а граф ревизий контрактов в Universa — это как раз DAG. И каждая следующая ревизия именно так валидируется на основании предыдущих ревизий.
- Есть ли в Universa «блокчейн» как распределённая сеть не слишком доверяющих друг другу (но доверяющих системе в целом) узлов? Именно так; вся работа узлов базируется на том, что каждый узел доверяет только себе и консенсусу в целом; PoA-консенсус обеспечивает верность данных «в целом» (при том что каждый конкретный узел может «врать» или даже не отдавать актуальные данные), а лицензирование узлов не позволит захватить одному владельцу контроль над консенсусом, сколько бы он денег ни вложил в такую операцию.
- > Проекты на базе технологии — 0 баллов из 3 (есть много планов и договоров о сотрудничестве, но фактического подтверждения использования сети нет).
- SmartGold-токен уже работает на базе сети Universa. Первая ласточка.
- > Из опубликованного кода не ясно, как будет реализовано проведение ICO на платформе. Токены объявленные к продаже не используются в самой системе, можно исполнять работу сети и без них (без монет)
- Вы про UTN/UTNP-токены? Ни в мейннете, ни в тестнете вы не сможете провести *ни одну* регистрацию ни одного контракта, не оплатив комиссию токенами UTN или UTNP.
- > Таким образом, можно сказать, что Universa это не блокчейн
- Интересно у вас получилось это сказать уже после того, как сами сказали, что «Результаты по отдельности тоже не блокчейн, но они связаны с запросами на выполнение контракта, получаем неявный блокчейн с возможностью отбрасывания истории, при этом у каждого контракта своя ветка истории».
- Хинт: если что-то «реализовано не так, как в Bitcoin» (например, не хранит сами блоки), но при этом выполняет такую же функцию (криптографически основывает новые блоки/ревизии на предыдущих, поверяя этим предыдущие), то это вовсе не значит, что «Universa — это не блокчейн». Это значит только то, что «Universa — это не очередной идеологический клон Bitcoin-а». Ну и слава богу. И не хотели.
- > в 2014 году было заявлено о выпуске WishCoin — «российского конкурента Bitcoin». Однако, WishCoin по сути не являлся криптовалютой, а был чем-то вроде электронного векселя или аналогом игровой валюты. Проект не реализовался
- Ну это смотря что иметь в виду под «не реализовался». И партнёров и пользователей у него было достаточно много, а вот каких-либо претензий о «не выполнении обязательств» — ни одного. Так что на месте обозревателей было бы разумно быть ооооочень осторожным со словами вроде «Уже имеющийся в активе команды один скам-проект в прошлом».
- > нет рабочего эксплорера
- Есть. Он просто правда выдаёт только то, что хранится в леджере. Но для того, чтобы «блокчейну»/леджеру/DLT работать так, как они работают — вовсе не обязательно все эти данные *хранить*.
- > Анализ кода показал, что платформа является распределенной базой данных,
- > результат аудита кода на GitHub показал, что сеть Universa на данный момент является распределенной базой данных, а не блокчейном
- Любопытно, что *любой блокчейн является распределённой базой данных*. Впрочем, выше уже упоминалась терминологическая проблема с понятием «блокчейна»...
- > связанность между блоками идёт через таймстампы
- https://github.com/UniversaBlockchain/universa/blob/master/universa_core/src/main/java/com/icodici/universa/contract/Contract.java#L2808 — поля `HashId origin` и `HashId parent` значат всё-таки немного другое. И да, HashID меняется при любой модификации контракта.
- > но выделения блокчейна не видно
- Потому что вовсе не обязательно хранить его на ноде, если его операции и криптографические задачи (например, проверка того, что новый блок базируется на старом и «фиксирует» его навсегда) можно провести и без этого. Что позволяет базе всего леджера занимать не сотни гигабайт, а разве что сотни мегабайт/единицы гигабайт, при несравненно большей валидационной нагрузке на проверки смарт-контрактов.
- > Все описанные в белой бумаге сценарии можно реализовать и на уже существующих блокчейнах.
- Странный аргумент. Доехать от Москвы до Питера можно и «на тройке с бубенцами», но BMW всё-таки лучше, комфортнее и инновационнее. Потому что на нём доедешь с большим комфортом.
- На существующих блокчейнах «со смарт-контрактами» на удивление плохо реализовываются любые деловые процедуры, использующие обычные документы. Потому что эти системы делались программистами для программистов, а не для бизнесов — вот поэтому там с любовью и нежностью реализованы «виртуальные машины» и «Dapp-ы»,... а работы с документами, пусть даже структурированными, и нет особо. Какой «цифровизацией», какими смарт-контрактами будет заниматься бизнес, если он обычный-то контракт не может в блокчейн положить?
- А Universa делает для смарт-контрактов примерно то же, что своё время VisiCalc сделал для автоматизации офисов на Apple II, став первой в истории spreadsheet-программой, за годы до Excel: позволил пользователю самому удобно использовать компьютер для расчётов (а в случае Universa — использовать «интеллект» и гарантии смарт-контрактов), не требуя при этом программирования.
- > Пример вывода сборки клиента сети на openJDK, модули собираются не только вариантом от оракла как заявлено в документации, это нормально, особых причин не компилироваться рабочему коду нет.
- Ооо, ну значит, вы просто ещё не натолкнулись на те баги OpenJDK/Gradle, на которые уже натолкнулись в Universa...
- (Про Uniclient)
- > Это не минимально рабочий проект, выдать его даже для первых тестов сторонним разработчикам не получится.
- Да, вы абсолютно правы, это не «минимально рабочий проект» — это уже полнофункциональный (и использующийся сторонними разработчиками — например, для генерации токенов SGT) инструментарий для интеграции с другими системами. Возможно, автору имело смысл не начинать изучение системы сразу с консольного инструмента (ориентированного больше на уже разобравшихся в системе разработчиков), а попробовать сначала веб-клиент — тогда можно было бы увидеть и полноценный веб-редактор смарт-контрактов (чтобы не просто пытаться «сделать токен на базе yaml-шаблона», а видеть полный спектр возможностей),... а главное — увидеть, где берутся/как используются смарт-контракты с «U» (кстати, при резервировании токенов U появляются и токены testU, нужные для отлаживания в режиме тестнета).
- Впрочем, упомянутая в тесте опция «--wallet» — это именно опция (для других команд), а не самостоятельная команда («Операция с кошельком непонятна, файл кошелька не появляется (не обнаружен в каталогах проекта)»), и позволяет вместо того, чтобы заморачиваться с U-контрактами — использовать сразу имеющиеся у тебя контракты UTN-токенов. См. раздел “UUTN wallets” в https://kb.universa.io/uniclient_user_manual/4
- > Документация: https://access.universa.io/docs
- По указанному вами адресу находится разве что Legacy-документация. Вся актуальная документация находится на https://kb.universa.io
Add Comment
Please, Sign In to add comment