Обзор кода Perlin: Лавина DAG

«Это шокирует меня. У меня нет слов. Я хочу работать с этими парнями».

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

Поначалу мне казалось, что я что-то упустил, ведь вокруг Perlin есть шум, нужно было разобраться в коде, чтобы понять, почему это так. Дальше мы узнаем что это за шум (Noise).

Полный обзор ICO Perlin здесь.

Ну, а это обзор кода Perlin.

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

«предоставляет доступ по требованию к агрегированным пакетам компьютеров по всему миру»

«resource-lock proofs представитель процессорного времени майнера и оперативной памяти, инвестированной в клиента».

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

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

В современной децентрализованной сети мы можем выполнять вычислительные работы, но мы не можем знать, что мы получаем 8 гигабайт оперативной памяти и 4 процессора. Перлин предлагает решить эту проблему, предоставив криптографически защищенные доказательства доступности ОЗУ и ЦП.

Давайте посмотрим технический документ.

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

Далее в техническом документе описана математика ресурсных блокировок, я попытаюсь это объяснить как можно проще.

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

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

HashGraph (распределённый реестр с гарантированной асинхронной толерантностью к необъяснимым ошибкам), поэтому они строят свой блокчейн. «Три основных компонента: распределенная бухгалтерская книга с самопроверкой, криптографическое доказательство вычислительных ресурсов и структура для высокопараллельных слепых вычислений». Технический документ немного запутан, давайте перейдем сразу к коду;

Я рад видеть так много репозиториев в проекте pre-ICO. Давайте перейдем к crypto.

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

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

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

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

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

Просто давайте перейдем к репозиториям crypto и network

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

В этом коде есть что-то интересное. Все просто так лаконично и аккуратно, и в то же время легко читаемо. В этом и есть прелесть. Noise — это упрощенная, простая в реализации библиотека p2p, разработанная модульно и элегантно. Я собираюсь разобраться в ней. Ладно, значит, Шум (Noise) классный, а ресурсные блокировки надежны. Далее у нас есть клиент, perlin-go, perlin-kotlin, давайте перейдем к perlin-go

Это начальная сборка, а не fork. Они реализовали шум(noise) и API-сервер. Используемая модель актора, это шаблон функционального программирования, допускающий много асинхронного поведения. Я не часто вижу образец актора в проектах блокчейна. Мне очень нравится актор паттерн. (Mutex не требуется)

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

Веб-сокеты, простые

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

Рейтинг доверия по сделке для консенсуса.

Ммм? OnQueryTx, очень круто, знания / хранит данные транзакции родителей? Это Снежинка, Снежок и Лавина.

Какие? Они осуществили Avalanche (Лавину) …

Это Лавина (Avalanche). Я изо всех сил пытаюсь поверить в это, блокировка ресурсов, Шум (Noise), теперь Лавина (Avalanche). Я действительно не знаю, куда идти дальше, просто продолжать код кажется бессмысленным, это фантастика. Это невероятно круто. Что мне делать дальше? Просто опубликовать еще один фрагмент кода и комментарий «они использовали хорошие комментарии».  Я не могу подобрать слов.

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

Я упоминал, что у них также есть HashGraph и раундовая реализация? Но похоже, что они переехали на Лавину (Avalanche) сейчас. Серьезно, это потрясающе.

Заключение обзора кода Perlin Code:

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

Источник: https://cryptobriefing.com/perlin-code-review-avalanche-dag/