Обзор кода Perlin от Andre Cronje

0
413
views

 


Команда ICOdaily подготовила перевод статьи «Обзор кода Perlin» от Andre Cronje

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


Perlin


Обзор кода системы Perlin, насладитесь хорошим проектом, поскольку у меня уже есть два проекта на разбор, которые вряд ли мне понравятся. Что тут у нас? Децентрализованное вычисление, хорошо, но таких проектов уже очень много, масштабирование для децентрализованных приложений, хорошо, но такого уже много, безопасность, но такого тоже очень много.

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

Полный обзор ICO доступен по ссылке

Начнем, обзор кода Perlin.

“Высокопроизводительная вычислительная сеть, сохраняющая конфиденциальность”

“Сеть Perlin создает масштабируемую вычислительную сеть, защищающую конфиденциальность, стимулируемую токенов, доступным для майнинга: PERL »

“…обеспечивает доступ по требованию к совокупным партиям вычислительных машин по всему миру …”

“…доказательства, что ресурсы были поставлены подтверждают, что время процессора и оперативная память пользователя были инвестированы в клиента…”

Децентрализованное вычисление в качестве услуги, большое количество конкурентов в настоящее время в этом пространстве.

Так чего мы пытаемся достичь? Децентрализованное облачное вычисление, где вы можете сдать в аренду вычислительные ресурсы для любых ваших потребностей. В AWS у нас есть EC2 (или ECS), где мы арендуем (например) 8 гигабайт ОЗУ и 4 процессора.

В нынешней децентрализованной сети мы можем дать вычислительные задания, но мы не можем знать, что мы получаем 8 гигабайт оперативной памяти и 4 процессора.

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

Давайте ознакомимся с вайтпепером.

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

Далее вайтпепер начинает объяснять, как математически достичь всего указанного, давайте попробовать применить ELI5.

Что хотят доказать поставкой ресурсов? Сколько ресурсов памяти и процессора доступно (и наоборот, если я знаю их, сколько ресурсов памяти и процессора используются). Система делает это с помощью криптографического стресс-теста, который доводит до предела возможности памяти и процессора, что дает нам максимальное значение памяти и процессора. Теперь, если система используется, в настоящее время, я могу повторить процесс, после чего узнаю насколько загружена была система. Выполняя эти случайные проверки, с интервалом времени, вы начинаете получать усредненный объем доступной оперативной памяти и ресурсов процессора, что означает, что вы можете начать обеспечивать эти ресурсы.

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

Есть HashGraph, значит они строят свой собственный блокчейн. “… три основных компонента — это самоконтролируемый распределенный леджер, криптографическое доказательство вычислительных ресурсов и основа для высокопараллельных слепых вычислений”. Вайтпепер немного запутан, давайте перейдем к коду;

Очень рад видеть так много репо в проекте, предшествующему ICO. Давайте рассмотрим крипто часть.

(Команда специально попросила меня не публиковать код для ресурсов, это их секретный ингредиент, в конце концов.)

RSA, прочность памяти, временная сложность. Постановка ресурсов прямолинейна, только пятнадцать строчек кода, но он элегантен. Учитывая параметры M и L, система может определить доступные ресурсы памяти и процессора. Приятно видеть такую чистую реализацию. Поставка ресурсов уже работает в реале, а не представлена только на бумаге.

Давайте рассмотрим еще один репо Noise (Шум). Видите, я добрался до него.

“Упрямый, простой в использовании сетевой стек P2P для децентрализованных приложений и криптографических протоколов Perlin Network” хе-хе, мне нравится, что он упрямый 🙂

Таким образом, это протокол двунаправленного потокового p2p в режиме реального времени с использованием gRPC и Protobufs, я всегда рад видеть gRPC и Protobufs, они были тщательно разработаны и протестированы, так почему мы продолжаем изобретать колесо? (Я говорю это, глядя на собственное переосмысление Perlin P2P)

Прямолинейно, обратимся к крипто и сети.

Запрос-ответ с использованием protobuf

Есть что-то элегантное в этом коде. Все просто лаконично и аккуратно и в то же время читается и протекает очень красиво. Странно, он очень простой, KISS (Keep It Stupid Simple), так и сложный, одновременно. Noise — это упрощенная, простая в использовании программа p2p lib, разработанная модульным и элегантным способом. Я собираюсь задонатить в проект.

Хорошо, Noise — сексуальный, а постановка ресурсов очень солидная. Затем у нас следует client, perlin-go, perlin-kotlin, начнем с perlin-go.

Все основательно во всех отношениях. Они реализовали noise и сервер API.

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

Web — это интерфейс Vue, давайте вернемся к нему позже.

WebSockets, прямолинейные.

Модель на основе UTXO?

Доверительный рейтинг по транзакции для достижения консенсуса.

Ммм? OnQueryTx, сильное голосование, знание / хранение данных исходных транзакций? Это Snowflake, Snowball, и Avalanche.

Что? Они реализовали Avalanche…

Да, оно. Мне не верится. Что тут сразу все, и поставки ресурсов, и Noise, и Avalanche. Я действительно не знаю, куда двигаться дальше, просто продолжать рассматривать код уже кажется бессмысленным. Фантастика. Невероятно хорошо. Что я сделаю дальше? Просто размещу еще один скрин и скажу, что они используют хорошие комменты. У меня закончились слова.

Так, все нормально, я вернулся.  Итак, я рассмотрел остаток, perlin-kotlin, Kotlin реализацию их Avalance DAG. (Что они сделали просто для удовольствия, просто, чтобы внести немного Kotlin)

Я упоминал, что они также имеют HashGraph и круговую реализацию? Но похоже, что они перешли сейчас к Avalanche.

Все очень круто, серьезно.


Выводы:

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

Разработка пугает меня. Слов нет. Я хочу работать с этими ребятами.

Все очень круто.

 


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

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

Please enter your comment!
Please enter your name here