amyodov

Untitled

Aug 21st, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.13 KB | None | 0 0
  1. Достаточно глубокий и старательный обзор, но не без неточностей.
  2.  
  3. Позволю себе (как один из разработчиков этого проекта — посему знающий эту систему изнутри) прокомментировать некоторые нюансы, чтобы не запутывать комьюнити.
  4.  
  5.  
  6. > доля эмиссии в адрес команды проекта выше средней
  7.  
  8. 10%? Надо напомнить, что низкий уровень эмиссии монеты/токена во время ICO/TGE в адрес команды является риском для сообщества, что команда не будет обладать достаточной мотивацией для стремления к росту монеты/токена, а возьмёт себе полученные на ICO деньги и сбежит на Сейшелы. К сожалению, такие ICO-организаторы тоже встречаются, и портят впечатление о всём рынке ICO для сторонних участников. Так что подбор размера эмиссии в адрес команды — это палка о двух концах.
  9.  
  10.  
  11. > экономика токена описана плохо
  12.  
  13. Любопытно, что при этом в статье вы её успешно описали *всю*. Потому что она проще, чем у, например, Ethereum — оплата комиссий, но при этом отсутствие майнинга и fixed total supply.
  14.  
  15.  
  16. > сейчас используется токен U, о котором нет упоминания в проектной документации
  17.  
  18. U не является токеном (но является смарт-контрактом). Это достаточно низкоуровневая техническая сущность (что-то вроде gas в Ethereum — на уровне кода он существует, но люди платят не им, а ether-ом!), которая используется как раз для обеспечения описанного в whitepaper условия, что базовая транзакция в сети стоит около $0.01, и для самого расхода комиссий. Поскольку он не является токеном (в частности, если вы скачаете и посмотрите структуру его смарт-контракта, то заметите, что его даже нельзя передавать после выдачи другому пользователю и, следовательно, менять на настоящие токены), то к «экономике токена» он, в общем-то, и не относится — скорее, к технической реализации этой экономики.
  19.  
  20.  
  21.  
  22. Комментарии тут получаются очень коротенькими, жаль, неудобно. Продолжаем, часть 2:
  23.  
  24.  
  25. > Каждый узел лицензируется и авторизируется корпорацией. Соответственно, система работает в предположении, что всем узлам можно доверять.
  26.  
  27. Если бы это было так, то смысла в «блокчейне»-DLT не было бы. Скорее, можно рассчитывать на высокий аптайм и хорошие SLA узлов. Но владелец каждого узла может захотеть запустить злонамеренно изменённую логику,.. а система при этом всё равно будет работать надёжно, благодаря консенсусу даже не в 51%, а в 90%.
  28.  
  29.  
  30. > Смарт-контракт может быть действительно сложный, требующий подписей большого количества сторон для подтверждения изменений.
  31.  
  32. А ещё более сложный смарт-контракт может, например, ссылаться на другие смарт-контракты и требовать их актуальности. Посмотрите, например, на смарт-контракт, регулирующий депозит и настройки каждой конкретной ноды для нодовладельцев (https://kb.universa.io/node_owner_contract/90) — внутри себя он требует ссылку на активный/актуальный/APPROVED смарт-контракт, содержащий этот самый депозит.
  33.  
  34.  
  35. > Сеть построена вокруг контрактов и их исполнений — “транзакций”
  36.  
  37. Одна из ключевых особенностей системы Universa — что смарт-контракт вовсе не (обязательно) является программой, чтобы «исполняться». Транзакцией является валидация и регистрация контракта, а не исполнение — Universa совсем не Ethereum, в котором контракт является не документом (как во всём оффлайновом мире), а программой (потому что кроме виртуальной машины для запуска Dapp там механизмов нет).
  38.  
  39. > В сети Universa не хранятся контракты и их цепочки состояний,
  40.  
  41. Один из добавленных уже после TGE механизмов — это режим опционального хранения отдельных ревизий контракта, см. https://kb.universa.io/distributed_storage/17
  42. С ним можно (отдельно оплачивая это сети/узлам) хранить сколько-то времени и «тело» смарт-контракта в сети Universa.
  43.  
  44.  
  45. > Клиентский интерфейс узла подключен к Nginx (HTTP сервер) или подобному,
  46.  
  47. Реально ноды, поскольку основной протокол общения с ними базируется на HTTPS, могут находиться (и обычно находятся) за любыми стандартными инструментами защиты от DDOS. Уже не раз происходившие попытки DDOSа очень легко фильтровались используемым сейчас CloudFlare.
  48.  
  49.  
  50. > Принцип децентрализации под вопросом. Каждый узел лицензируется и авторизируется корпорацией Universa и может быть подвержен ее влиянию.
  51.  
  52. Но с другой стороны, оффлайн-лицензирование решает проблему с централизацией, которая возникает в системах, положившихся на исключительно алгоритмическую попытку децентрализации. К сожалению, алгоритм никак не позволит выяснить, что вот эти сто с виду разных узлов с разными секретными ключами на самом деле принадлежат одной компании или аффилированным с ней; оффлайн-проверка — позволяет. В условиях того, что «атака 51%» уже давно перестала быть теоретической, а стала исключительно «вопросом бюджета» (и с учётом успешных атак на Monacoin, Bitcoin Gold, Zencash, Verge и Litecoin Cash, и с учётом оценки стоимости такой атаки в примерно $500 для мелких криптовалют), пожалуй, корректнее говорить, что «отсутствие лицензирования и полагание на алгоритмы — это проблема с децентрализацией», а вот «лицензирование и проверка корпорацией — это наоборот уменьшение проблем с децентрализацией».
  53.  
  54. Впрочем, в Universa слышат все комментарии и сомнения комьюнити по этому поводу, и стремятся сделать этот процесс ещё более прозрачным – тот же смарт-контракт нодовладельцев (https://kb.universa.io/node_owner_contract/90) появился совсем недавно.
  55.  
  56.  
  57. > За новостями проекта можно следить в блоге Александра Бородича на Medium:
  58.  
  59. А ещё есть Medium всего проекта: https://medium.com/universablockchain
  60.  
  61. И развитые новостные каналы в Telegram: http://t.me/universanewsru (на русском), https://t.me/universanews (на английском).
  62.  
  63.  
  64. > За обновлениями технической части можно следить на GitHub
  65.  
  66. А ещё есть отдельные каналы с Release Notes для, например, Uniclient (https://t.me/uniclient), Web Client (https://t.me/universawebclient). Там за ними следить даже удобнее, чем на Github.
  67.  
  68.  
  69. > Сайт и документация на трех языках: русском, английском и корейском.
  70.  
  71. Хммм... Ещё со времени токенсейла на сайте НАМНОГО БОЛЬШЕ языков. Английский, русский, корейский, китайский, японский, польский, немецкий, голландский, филиппинский.
  72.  
  73. Техническая документация на https://kb.universa.io в основном на английском, но отдельные (самые важные) документы переведены на русский.
  74.  
  75.  
  76. > Дорожная карта расписана до второго квартала 2018 года включительно
  77.  
  78. Актуальные рабочие планы (а не планы годовой давности) можно почитать в отчётах CEO на его Medium (упомянутом выше). Тогда не будет и достаточно странных комментариев про «отставание от плана».
  79.  
  80.  
  81. > в White Paper не описана техническая сторона проекта и то, в чем именно заключается инновационность.
  82.  
  83. А вы обратили внимание, что в проекте есть развитая модель смарт-контрактов, но при этом «писать программу», как в Ethereum, вовсе не обязательно?
  84.  
  85.  
  86. > Telegram — 5811 участников
  87.  
  88. Наверное, вы посчитали только русскоязычную группу. В международной группе (https://t.me/Uplatform) — примерно 14000 человек.
  89.  
  90.  
  91. > На ресурсе, который позиционируется как эксплорер, можно посмотреть только статус одного конкретного контракта, загрузив его или указав ID
  92.  
  93. ... потому что именно это и хранит каждый узел DLT Universa. Если передать содержимое конкретного контракта (или если он сохранён в публичные хранилища вроде SLOT1) — то можно увидеть его структуру и связи, всё как в обычных эксплорерах... а если от контракта известен только его ID, то, благодаря максимальной анонимизации, сеть про него и знает только разве что статус его валидности.
  94.  
  95.  
  96. > Smart Gold создает блокчейн-актив SGT​, который обеспечен золотом в натуральном выражении и будет размещен на платформе Universa. Так как, на момент старта ICO, сеть Universa не была запущена, создатели SGT решили принимать инвестиции альткоинами стандарта ERC-20, с возможностью дальнейшего перевода токенов SGT в смарт-контракт Universa.
  97.  
  98. На данный момент токены SGT уже работают в сети Universa.
  99.  
  100.  
  101. > факт отсутствия блокчейна, как такового
  102.  
  103. К сожалению (как метко замечено автором статьи вначале), слово «блокчейн» стало слишком расплывчатым («устоявшийся термин для обозначения криптосистемы»), и значит ровно то, что понимает под ним каждый конкретный человек — а значит, говорить, что «блокчейна нет» очень легко: обязательно найдётся какая-нибудь трактовка, которой это не будет удовлетворять.
  104.  
  105.  
  106. Есть ли в Universa «блокчейн» как структура данных, основывающаяся на криптографии и следующих «блоках», базирующихся на предыдущих и поверяющих их? Конечно; DAG является расширением этой модели (в DAG есть 1 или больше неявных блокчейнов), а граф ревизий контрактов в Universa — это как раз DAG. И каждая следующая ревизия именно так валидируется на основании предыдущих ревизий.
  107.  
  108. Есть ли в Universa «блокчейн» как распределённая сеть не слишком доверяющих друг другу (но доверяющих системе в целом) узлов? Именно так; вся работа узлов базируется на том, что каждый узел доверяет только себе и консенсусу в целом; PoA-консенсус обеспечивает верность данных «в целом» (при том что каждый конкретный узел может «врать» или даже не отдавать актуальные данные), а лицензирование узлов не позволит захватить одному владельцу контроль над консенсусом, сколько бы он денег ни вложил в такую операцию.
  109.  
  110.  
  111. > Проекты на базе технологии — 0 баллов из 3 (есть много планов и договоров о сотрудничестве, но фактического подтверждения использования сети нет).
  112.  
  113. SmartGold-токен уже работает на базе сети Universa. Первая ласточка.
  114.  
  115.  
  116. > Из опубликованного кода не ясно, как будет реализовано проведение ICO на платформе. Токены объявленные к продаже не используются в самой системе, можно исполнять работу сети и без них (без монет)
  117.  
  118. Вы про UTN/UTNP-токены? Ни в мейннете, ни в тестнете вы не сможете провести *ни одну* регистрацию ни одного контракта, не оплатив комиссию токенами UTN или UTNP.
  119.  
  120.  
  121. > Таким образом, можно сказать, что Universa это не блокчейн
  122.  
  123. Интересно у вас получилось это сказать уже после того, как сами сказали, что «Результаты по отдельности тоже не блокчейн, но они связаны с запросами на выполнение контракта, получаем неявный блокчейн с возможностью отбрасывания истории, при этом у каждого контракта своя ветка истории».
  124.  
  125. Хинт: если что-то «реализовано не так, как в Bitcoin» (например, не хранит сами блоки), но при этом выполняет такую же функцию (криптографически основывает новые блоки/ревизии на предыдущих, поверяя этим предыдущие), то это вовсе не значит, что «Universa — это не блокчейн». Это значит только то, что «Universa — это не очередной идеологический клон Bitcoin-а». Ну и слава богу. И не хотели.
  126.  
  127.  
  128. > в 2014 году было заявлено о выпуске WishCoin — «российского конкурента Bitcoin». Однако, WishCoin по сути не являлся криптовалютой, а был чем-то вроде электронного векселя или аналогом игровой валюты. Проект не реализовался
  129.  
  130. Ну это смотря что иметь в виду под «не реализовался». И партнёров и пользователей у него было достаточно много, а вот каких-либо претензий о «не выполнении обязательств» — ни одного. Так что на месте обозревателей было бы разумно быть ооооочень осторожным со словами вроде «Уже имеющийся в активе команды один скам-проект в прошлом».
  131.  
  132.  
  133. > нет рабочего эксплорера
  134.  
  135. Есть. Он просто правда выдаёт только то, что хранится в леджере. Но для того, чтобы «блокчейну»/леджеру/DLT работать так, как они работают — вовсе не обязательно все эти данные *хранить*.
  136.  
  137.  
  138. > Анализ кода показал, что платформа является распределенной базой данных,
  139. > результат аудита кода на GitHub показал, что сеть Universa на данный момент является распределенной базой данных, а не блокчейном
  140.  
  141. Любопытно, что *любой блокчейн является распределённой базой данных*. Впрочем, выше уже упоминалась терминологическая проблема с понятием «блокчейна»...
  142.  
  143.  
  144. > связанность между блоками идёт через таймстампы
  145.  
  146. https://github.com/UniversaBlockchain/universa/blob/master/universa_core/src/main/java/com/icodici/universa/contract/Contract.java#L2808 — поля `HashId origin` и `HashId parent` значат всё-таки немного другое. И да, HashID меняется при любой модификации контракта.
  147.  
  148.  
  149. > но выделения блокчейна не видно
  150.  
  151. Потому что вовсе не обязательно хранить его на ноде, если его операции и криптографические задачи (например, проверка того, что новый блок базируется на старом и «фиксирует» его навсегда) можно провести и без этого. Что позволяет базе всего леджера занимать не сотни гигабайт, а разве что сотни мегабайт/единицы гигабайт, при несравненно большей валидационной нагрузке на проверки смарт-контрактов.
  152.  
  153.  
  154. > Все описанные в белой бумаге сценарии можно реализовать и на уже существующих блокчейнах.
  155.  
  156. Странный аргумент. Доехать от Москвы до Питера можно и «на тройке с бубенцами», но BMW всё-таки лучше, комфортнее и инновационнее. Потому что на нём доедешь с большим комфортом.
  157.  
  158. На существующих блокчейнах «со смарт-контрактами» на удивление плохо реализовываются любые деловые процедуры, использующие обычные документы. Потому что эти системы делались программистами для программистов, а не для бизнесов — вот поэтому там с любовью и нежностью реализованы «виртуальные машины» и «Dapp-ы»,... а работы с документами, пусть даже структурированными, и нет особо. Какой «цифровизацией», какими смарт-контрактами будет заниматься бизнес, если он обычный-то контракт не может в блокчейн положить?
  159.  
  160. А Universa делает для смарт-контрактов примерно то же, что своё время VisiCalc сделал для автоматизации офисов на Apple II, став первой в истории spreadsheet-программой, за годы до Excel: позволил пользователю самому удобно использовать компьютер для расчётов (а в случае Universa — использовать «интеллект» и гарантии смарт-контрактов), не требуя при этом программирования.
  161.  
  162.  
  163.  
  164. > Пример вывода сборки клиента сети на openJDK, модули собираются не только вариантом от оракла как заявлено в документации, это нормально, особых причин не компилироваться рабочему коду нет.
  165.  
  166. Ооо, ну значит, вы просто ещё не натолкнулись на те баги OpenJDK/Gradle, на которые уже натолкнулись в Universa...
  167.  
  168.  
  169. (Про Uniclient)
  170. > Это не минимально рабочий проект, выдать его даже для первых тестов сторонним разработчикам не получится.
  171.  
  172. Да, вы абсолютно правы, это не «минимально рабочий проект» — это уже полнофункциональный (и использующийся сторонними разработчиками — например, для генерации токенов SGT) инструментарий для интеграции с другими системами. Возможно, автору имело смысл не начинать изучение системы сразу с консольного инструмента (ориентированного больше на уже разобравшихся в системе разработчиков), а попробовать сначала веб-клиент — тогда можно было бы увидеть и полноценный веб-редактор смарт-контрактов (чтобы не просто пытаться «сделать токен на базе yaml-шаблона», а видеть полный спектр возможностей),... а главное — увидеть, где берутся/как используются смарт-контракты с «U» (кстати, при резервировании токенов U появляются и токены testU, нужные для отлаживания в режиме тестнета).
  173.  
  174. Впрочем, упомянутая в тесте опция «--wallet» — это именно опция (для других команд), а не самостоятельная команда («Операция с кошельком непонятна, файл кошелька не появляется (не обнаружен в каталогах проекта)»), и позволяет вместо того, чтобы заморачиваться с U-контрактами — использовать сразу имеющиеся у тебя контракты UTN-токенов. См. раздел “UUTN wallets” в https://kb.universa.io/uniclient_user_manual/4
  175.  
  176.  
  177. > Документация: https://access.universa.io/docs
  178.  
  179. По указанному вами адресу находится разве что Legacy-документация. Вся актуальная документация находится на https://kb.universa.io
Add Comment
Please, Sign In to add comment