Обзор кода NKN от Anton Nell

0
712
views

 


Команда ICOdaily подготовила перевод статьи «Обзор кода NKN» от Anton Nell

Еще больше новых проектов, переводов интересных статьей и новостей на нашем телеграм канале


Обзор кода NKN: децентрализованный интернет

Клеточный автомат создан для интригующей блокчейн концепции для лучшего интернета.

Здесь пойдет речь об обзоре NKN кода для «Нового Типа Сети» протокола подключения и экосистемы, основанной на блокчейне для открытого, децентрализованного и общедоступного Интернета. Но что не так с тем интернетом, который у нас сейчас есть?

Мне нравится начинать обзор с понимания чего они хотят достичь. Поэтому я направляюсь к вайтпепперу. Увидимся на другой стороне!

…МАТЕМАТИКА!

Клеточный автомат — к нему делаются отсылки 7 млрд раз в  вайтпеппере. Мое основное понимание этого — модель, которую мы видим, «сеть» «клеток». Каждая клетка имеет те же «правила» что и остальные. Каждая клетка имеет свой собственный «статус». Конкретный статус клетки может быть обновлен только используя определенные правила, знания о статусе клетки и статусе соседний клетки. Это будет основой их распределительной сети.

Доказательство реле (улучшенная PoW) — система вознаграждений, основанная на их использовании сети против их сетевого вклада. Чем больше пропускной способности вы предоставляете и чем меньше используете, тем больше будет награда.

Нетворкинг Toolkit для разработчиков DApp инструмент для помощи разработчикам DApp предоставляющий децентрализованные сетевые платформы.

Это мои основные выдержки из вайтпеппера. Посмотрим, сможем ли мы найти то, что NKN делают для достижения целей.

7 репозиториев. Давайте углубимся! Я собираюсь отбросить кое-что с нижней части репо. Дерево удачи.

Это интерфейсная часть форума, основанная на vue.js. Здесь есть кошелек. Это единственная вещь, за которую зацепился взгляд, так как это не стандартная схема форума. Стандартная структура интерфейса форума с хранилищем, компонентами, роутерами и.т.д хорошо, но я не вижу значения репо. Поэтому я собираюсь двигаться дальше.

Keytransparency (подтверждение ключа) — ответвление Гугла чтобы достичь р265 возможностей функционирования. Пропускаем!

Vxeddsa — ответвление Scratch-net чтобы достичь больше возможностей функционирования криптографии.

Conicks-go — ответвление Conics-sys. Все еще нет ничего хуже, что я обозревал.

Отличный инструмент тестирования чтобы моделировать их консенсус и теорию клеточного автомата. Результаты описаны в README.md в файле для каждого моделирования. Результат моделирования консенсуса описан в вайтпеппере под разделом 5.2.7 Моделирования алгоритма консенсуса.

Consensus.ру -> аккуратный скрипт python для симулирования модели. Прекрасная документация.

Здесь мало что происходит в nkn-client-js, особо нечего сказать. Это создает NKN клиента, который отправляет запрос на RPC чтобы получить адрес веб-сервера и затем ждет сигнала возвращения на веб-сокет для пары базовых событий. Это просто прототип теста функциональности, не стоит углубляться в это.

Прекрасно! Детализированный README.md с большей информацией, чем в Википедии! Инструкция по сборке, инструкция по развертыванию и даже руководство по оформлению для кодировщиков. Я никогда не читал так много документации в жизни. Этот проект меня заинтриговал.

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

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

Распределенная сеть передачи данных
Доказательство реле
Блокчейн консесус

Я собираюсь перепрыгнуть к каталогу консесусов. Здесь два типа? Dbft и ising

Dbft (Задача Византийских Генералов). Код имеет очень ограниченное комментирование. Это сервис, который подписывает консенсус события. На новое полученное сообщение, он совершает верификацию транзакции.

Изинг — это алгоритм консенсуса, который базируется на модели, описанной в вайтпеппере. Это сервис, который прислушивается к консенсусу событий, подтверждает отправителя и готовит послать ответное письмо. Имеется механизм голосования для SigChains и блоков. Голосование включает только соседние узлы и текущий узел.

Реле -> сервис, который записывает события реле. В основном он пропускает блок данных на следующий адрес назначения в цепи. Называется сервис доказательства реле, чтобы подписывать блок данных чтобы доказать, что он передан и затем перемещает его. Верифицирует SigChains, затем добавляет свою подпись, используя локальный кошелек SigChains для доказательства что реле произошло.

Хорошая обработка ошибок, пара TODO (специальные комментарии, которые сообщают что нужно еще что-то реализовать или дописать в указанном месте), но в целом хорошо прописанный код.

Ядро -> современный функционал для обработки валидации различных показателей, подписания данных, отправка объекта для создания и обработки различных типов транзакций. Консенсусный реестр функционален для обработки блоков и бухгалтеров.

Сеть -> здесь код для выделения пары различных сообщений. Консенсус полезной нагрузки, блоков, транзакции. Функциональное реле, контрольный сигнал/пинг обновленных сведений соседа, управление соседними узлами и синхронизация блоков соседей. Они используют распределенную хэш-таблицу для их топологии сети чтобы идентифицировать узлы сети. Сетевой код чист и прекрасно отделен. Мне нравится!

Хранилище данных->LedgerStore, ChainStore, PersistBlock handler, Transaction Store, Block Store, Voting. Все они хранятся в одном файле. Мне нравится смотреть как они разделяются на маленькие фрагменты. Все хранится в хранилище level db. Они используют модель UTXO для транзакций

Удаленный вызов процедур-> они используют JsonRPC API и RESTful API. Вызов удаленного вызова процедур используется в средствах интерфейса командной строки. Это прекрасно что они добавили обе опции JsonRPC API и RESTful API, но это не было действительно необходимым. Возможно, это набор инструментов для разработчиков?

Веб-сокет -> стандартный веб-сервис для обработки событий перехода к нему. Много тех же функций, что и у интерфейсов RPC и REST, с некоторыми новыми, некоторыми старыми.

У них есть средства интерфейса командной строки для управления, виртуальная машина прогоняет определенный процесс, кошелек используется для локальных подписей и счета. Ну и все об этом, я собираюсь двигаться дальше.

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

Их система Proof of Relay — они подписывают блоки данных и добавляют их в сигнатурную цепь верифицированным путем, когда узлы сменяют их. Я не нашел ничего о распределении наград, которая фундаментальна для адаптации, но не обязательна для их РОС.

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

Выводы обзора кода NKN

NKN пришел в игру под волнующим углом. Они не собираются обновлять и улучшать уже существующие платформы. Они собираются вместо этого определить новый уровень децентрализации, Новый Тип Сети. Их цели поддерживаются теоретическими моделями, которые, основываясь на моем понимании, имеют смысл.

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

 

 

 


Еще больше новых проектов, переводов интересных статьей и новостей на нашем телеграм канале

 

Предыдущая статьяTokenDEX
Следующая статьяОбзор ICO DxChain от СrushСrypto
ПОДЕЛИТЬСЯ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here