Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
188 lines (93 sloc) 32.7 KB

NEO White Paper

Распределенная сеть для смарт-экономики

Цели разработки NEO: Смарт-экономика

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

Цифровые активы

Цифровые активы – это программируемые активы, существующие в виде электронных данных. Благодаря технологии блокчейн оцифровка активов может стать децентрализованной, надежной, прослеживаемой, высокопрозрачной и свободной от посредников. Пользователи могут регистрироваться в блокчейне NEO, торговать и обменивать многие виды активов. Связь между цифровыми и физическими активами устанавливается посредством цифровой идентификации. Активы, зарегистрированные с применением легализованной цифровой идентификации, защищены законом.

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

Цифровая идентичность

Цифровая идентичность связана с идентификационной информацией о физических лицах, организациях и юридических лицах, существующих в электронном виде. Более развитая система цифровой идентичности базируется на стандарте PKIX.509 (Public Key Infrastructure - инфраструктура открытых ключей). В NEO будет применен набор совместимых стандартов цифровой идентичности X.509. Данные стандарты совместно с моделью выпуска сертификатов уровня X.509 будут поддерживать также модель выдачи сертификатов для p2p сетей, основанную на принципе сети доверия (Web Of Trust). Наша технология цифровой идентификации использует верификацию идентичности на основе черт лица, отпечатков пальцев, голоса, SMS и других методов многофакторной аутентификации. Одновременно с этим мы планируем заменить протокол проверки статуса сертификата (OCSP) блокчейном, который будет вести и пополнять список отозванных сертификатов X.509 (CRL).

Смарт-контракт

Технология смарт-контракт была впервые предложена в 1994 криптографом Ником Жабо, спустя всего пять лет после создания всемирной сети Интернет. Согласно определению Жабо, когда срабатывает заранее запрограммированное условие, смарт-контракт реализует соответствующий пункт договора. Технология блокчейн позволяет создать децентрализованную устойчивую к взлому и высоконадежную систему, применение смарт-контрактов в которой является крайне целесообразным. NEO имеет независимую систему смарт-контрактов, NeoContract.

Система смарт-контрактов NeoContract выполняет самую значимую функцию в беспроблемной интеграции существующей экосистемы разработчиков. Для разработки, отладки и компиляции смарт-контрактов разработчикам не требуется учить новые языки программирования, они могут использовать C#, Java и другие наиболее распространенные языки программирования в своих привычных IDE (Visual Studio, Eclipse, и тд.). Универсальная легкая виртуальная машина NEO, NeoVM, обладает такими преимуществами, как высокая точность, высокий уровень параллелизма и масштабируемости. Система смарт-контрактов NeoContract позволит миллионам разработчиков по всему миру реализовывать смарт-контракты в кратчайшие сроки. Для NeoContract будет написана белая книга, описывающая детали реализации программы.

Применение и экосистема

Экосистема – это сообщество разработчиков ПО с открытым исходным кодом. Для достижения поставленной цели, а именно, создания интеллектуальной экономической сети, NEO стремится развивать свою экосистему, предоставляя продуманные инструменты развития, совершенствуя разработку документов, организуя обучение и тренинги и оказывая финансовую помощь. Мы планируем поддерживать экосистему и перечисленные ниже приложения, функционирующие на базе NEO, а также вознаграждать за идеи по улучшению процесса разработки:

🔹 Node Program

  • Полнофункциональная программа, использующая полные узлы (Full nodes)

  • Программа для ПК, использующая легкие узлы (lightnodes) и обладающая улучшенными возможностями взаимодействия с пользователями

  • Web / Android / iOS клиенты, которым не требуется синхронизация с блокчейн

  • Аппаратный кошелек

🔹 Blockchain Explorer

🔹 SDK Development Kit

  • Поддерживает Java / Kotlin, .NET C # / VB, JavaScript / Typescript, Python, Go

🔹 Компилятор смарт-контрактов и IDE-плагин

  • C# / VB.Net / F#, Visual Studio

  • Java / Kotlin, Eclipse

  • C / C++ / GO

  • JavaScript / TypeScript

  • Python / Ruby

🔹 Децентрализованные приложения

  • Смарт-фонд

  • Смарт-контракты, поддерживаемые технологией Искусственного Интеллекта и имеющие юридическую силу

  • Социальные сети

  • Автоматизированные провайдеры ликвидности токенов

  • Децентрализованный обмен

  • Протокол безопасного соединения

  • Рынок обмена данными

  • Рынок интеллектуальной собственности

  • Рынок предсказаний

  • Рынок рекламы

  • Рынок хэш-мощности

  • Рынок NeoGas

Модель административного управления NEO

Экономическая модель

NEO обладает двумя родными токенами: NEO (сокращенно NEO) и NeoGas (сокращенно GAS).

Токены NEO в объеме 100 млн. единиц дают право администрировать сеть. Данное право включает в себя голосование на выбор буккипера, изменение параметров сети NEO и т.д. Минимальная единица NEO равна 1, при этом токены не подлежат последующему дроблению.

GAS в объеме 100 млн. единиц – это, образно выражаясь, топливо для NEO, данные токены выполняют функцию контроля ресурсов сети. Сеть NEO взимает сбор за операции и хранение токенов и смарт-контрактов, экономически стимулируя тем самым выставителя счета и предотвращая растрату ресурсов. Минимальная единица GAS составляет 0.00000001.

В первичном блоке сети NEO уже сгенерировано 100 млн. NEO, в то время как токены GAS еще не сгенерированы. 100 млн. GAS, соответствующие 100 млн. NEO, будут сгенерированы в адрес главного токена NEO примерно через 22 года с помощью алгоритма распада (decay algorithm). Если токен NEO переводится на новый адрес, то сгенерированные после этого токены GAS также записываются на новый адрес.

Посредством голосования сеть NEO установит пороговое значение для изъятия GAS из определенного числа транзакций перевода и операций смарт-контракта, улучшив тем самым механизм взаимодействия с пользователем. В случае большого количества нежелательных сделок NeoID отдает приоритет тем транзакциям и смарт-контрактам, идентичность которых прошла проверку. Транзакции и смарт-контракты с непроверенной цифровой идентичностью могут быть рассмотрены приоритетно в случае оплаты этих действий токенами GAS.

Механизм распределения

Распределение в NEO:

100 млн. токенов NEO разделены на две части. Первая часть в объеме 50 млн. токенов уже была пропорционально распределена между сторонниками NEO во время краудфандинга.

Оставшиеся 50 млн. токенов NEO, предназначенные для поддержания долгосрочного развития, работы, обслуживания NEO и экосистемы, находятся под управлением NEOCouncil. Данные токены имеют годовой период запрета продажи, который закончится 16 октября 2017. Токены NEOCouncil нельзя будет обменять, поскольку они рассчитаны только на долгосрочное поддержание проектов NEO. Планируется, что данные токены будут использованы следующим образом:

🔹 10 млн. токенов (10% от общего числа) будут использованы для мотивации разработчиков NEO и членов NEOCouncil

🔹 10 млн. токенов (10% от общего числа) будут использованы для мотивации разработчиков в экосистеме NEO

🔹 15 млн. токенов (15% от общего числа) будут вложены в перекрестное инвестирование в другие блокчейн-проекты, принадлежащие NEOCouncil и используемые только для проектов NEO

🔹 15 млн. токенов (15% от общего числа) будут храниться в резерве на случай непредвиденных обстоятельств

🔹 В целом объем использованных за год NEO не должен превышать 15 млн. токенов.

Распределение GAS:

Токены GAS генерируются каждый раз, когда создается новый блок. Изначальное количество GAS равно нулю. Благодаря тому, что скорость генерации новых блоков растет, общий лимит в 100 млн. токенов GAS будет достигнут примерно через 22 года. Интервал между блоками составляет порядка 15-20 секунд, то есть 2 млн. блоков будут сгенерированы примерно за год.

Ежегодно будет сгенерировано примерно 2 млн. блоков, а изначальный объем генерации GAS составит 8 токенов на блок. Одновременно с генерацией 2 млн. блоков количество GAS токенов в одном блоке будет уменьшаться на 1 единицу в год. Сокращение числа GAS токенов будет продолжаться до тех пор, пока в блоке не останется 1 токен, такая динамика будет сохраняться на протяжении примерно 22 лет. После генерации сорока четырехмиллионного блока общее количество сгенерированных токенов GAS достигнет 100 млн., и с этого момента токены GAS перестанут генерироваться из новых блоков.

Согласно кривой выпуска токенов, 16% GAS будут сгенерированы в первый год, 52% GAS – в первые четыре года, а 80% GAS - в первые 12 лет. Данные токены GAS будут пропорционально распределены в соответствии с долей участия в NEO и занесены в соответствующие адреса. Держатели NEO могут в любой момент инициировать транзакцию и запросить данные токены GAS в своих адресах.

Механизм управления

Управление в цепи: держатели токенов NEO – это владельцы сети и администраторы, управляющие сетью посредством голосования и использующие токены GAS, сгенерированные из NEO, для реализации своих функций в сети. Токены NEO можно переводить.

Управление за пределами цепи: NEOCouncil состоит из основателей проекта NEO, под руководством которых действуют управляющий комитет, технический комитет и секретариат, ответственные за принятие стратегических и технических решений, а также их реализацию. Основной задачей NEOCouncil является продвижение и развитие экосистемы NEO, и он отвечает перед сообществом NEO за это.

Реализация технологии NEO

Механизм консенсуса: dBFT

dBFT расшифровывается как делегированная византийская отказоустойчивость (Delegated Byzantine Fault Tolerant) и обозначает механизм консенсуса, устойчивый к византийской ошибке и допускающий благодаря голосованию по доверенности большое число участников консенсуса. Участвуя в голосовании, держатель токена NEO может выбирать буккипера, которого он поддерживает. Выбранная группа буккиперов достигает консенсуса посредством алгоритма BFT и генерирует новые блоки. Голосование в сети NEO происходит в режиме реального времени, а не в какое-либо установленное время.

Консенсус dBFT обеспечивает отказоустойчивость (f) для системы реализации консенсуса, где f = [ (n-1) / 3 ], а n - количество узлов консенсуса. Данная отказоустойчивость пригодна для реализации в любых сетевых средах, поскольку она гарантирует безопасность, доступность и защиту от византийской и других общих ошибок. dBFT обладает характеристикой законченности: если подтверждения окончательные, то блок не может быть раздвоен, при этом откат или отмена транзакции также невозможны.

Механизм консенсуса NEOdBFT позволяет сгенерировать блок за 15-20 сек. и обеспечивает скорость совершения транзакций, равную примерно 1,000TPS. Это отличные показатели производительности среди публичных цепей. Благодаря продуманной оптимизации скорость совершения транзакций может увеличиться до 10 000TPS, что позволит поддерживать крупномасштабные коммерческие приложения.

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

Система смарт-контракта: NeoContract

Система смарт-контракт NEO состоит из трех частей:

NeoVM – Универсальная виртуальная машина блокчейна:

NeoVM – это легкая виртуальная машина общего назначения, чья архитектура очень близка к архитектурам JVM и .NET Runtime и аналогична виртуальному ЦП, который последовательно считывает и выполняет команды в контракте, осуществляет контроль над процессом на основе функциональных возможностей командных и логических операций и тд. NeoVM отличается хорошей скоростью запуска и универсальностью, она пригодна для реализации небольших программ, таких как смарт-контракты, и может быть импортирована в системы, не использующие технологию блокчейн, или сопряжена с IDE для обеспечения оптимального процесса разработки. Функциональность NeoVM можно улучшить внедрением, например, механизма JIT (динамический компилятор), который позволяет повысить эффективность реализации программы.

InteropService – совместимые сервисы:

Используются для загрузки регистра блокчейна, цифровых активов, цифровой идентичности, области долгосрочного хранения, NeoFS и других базовых сервисов. Данные сервисы можно сравнить с виртуальными машинами для виртуальных машин: доступ к сервисам во время выполнения смарт-контракта значительно улучшает его функциональность. NeoVM может быть импортирована в любую используемую блокчейн-систему или не блокчейн систему. Эта возможность в значительной мере увеличивает практичность смарт-контрактов.

DevPack – компилятор и IDE-плагин:

DevPack включает в себя компилятор высокоуровневых языков и IDE-плагин. Поскольку архитектура NeoVM крайне схожа с архитектурами JVM и .NET Runtime, компиляторы в DevPack могут выполнять компиляцию байт-кода Java и .NETMSIL в набор команд NeoVM. Разработчикам Java / Kotlin, C# не придется учить новые языки, поэтому они смогут в кратчайшие сроки приступить к разработке смарт-контрактов в VS, Eclipse и других привычных IDE. Данная особенность значительно сокращает время, которое требуется на обучение процессу разработки смарт-контрактов, и позволяет нам легко и быстро создать вокруг NeoContract энергичное сообщество разработчиков ПО.

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

Соглашение о межцепочной совместимости: NeoX

NeoX – это протокол, обеспечивающий межцепочную совместимость. NeoX состоит из 2 протоколов, а именно, протокола межцепочного обмена активами и протокола межцепочных распределенных транзакций.

Соглашение о межцепочном обмене активами:

NeoX был расширен на базе существующих протоколов обмена атомарными активами (double-stranded atomic assets exchange protocols). Его функция заключается в том, чтобы многочисленные участники могли обмениваться активами из разных цепей. Данный протокол гарантирует единство всех этапов транзакции (транзакция проведена успешно либо нет). Для выполнения данной задачи нам необходимо воспользоваться NeoContract, который позволяет создать в смарт-контракте счет для каждого участника. Если другие блокчейны несовместимы с NeoContract, они могут быть совместимы с NeoX, при условии что эти блокчейны обладают такими же функциональными возможностями, как и простые смарт-контракты.

Протокол межцепочных распределенных транзакций:

Межцепочными распределенными транзакциями называют такие транзакции, многочисленные этапы которых разбросаны по разным блокчейнам (при этом обеспечивается непротиворечивость всей транзакции). Данный протокол является расширением межцепочного обмена активами. Он позволяет сделать обмен активами более свободным. Говоря простым языком, NeoX позволяет смарт-контракту функционировать в межцепочном формате, то есть смарт-контракт может выполнять различные функции в нескольких цепях (либо следующих, либо предыдущих). Все это создает отличные возможности для межцепочного взаимодействия, и в данный момент мы рассматриваем варианты применения межцепочных смарт-контрактов в будущем.

Протокол распределенного хранилища: NeoFS

NeoFS — это протокол распределенного хранилища, который использует технологию распределенной хеш-таблицы (DHT). NeoFS индексирует данные через содержимое файла (хеш), а не через путь к файлу (URI - унифицированный (единообразный) идентификатор ресурса.). Большие файлы разбиваются на блоки данных фиксированного размера, которые распределяются и хранятся во множестве различных узлов.

Главная проблема, связанная с данным типом системы, заключается в необходимости баланса между избыточностью и безотказностью. NeoFS планирует решить это противоречие с помощью системы вознаграждения токенами и создания системы подтвержденных основных узлов (backbone nodes). Пользователи могут выбирать требования к надежности файла. Хранение и доступ к файлам с низкой надежностью будут предоставляться бесплатно или за символическую плату. Стабильные и надежные сервисы для файлов с высокой надежностью будут обеспечены основными узлами.

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

Механизм антиквантовой криптографии: NeoQS

Своим появлением квантовые компьютеры бросают вызов криптографическим механизмам на базе RSA и ECC. Квантовые компьютеры могут за очень короткий промежуток времени решить огромное количество проблем, связанных с декомпозицией (на которую полагается RSA) и дискретным логарифмом эллиптической кривой (на которую полагается ECC). NeoQS (QuantumSafe) – это криптографический механизм, функционирующий за счет использования решеток. На сегодняшний день квантовые компьютеры не способны быстро решать задачу нахождения кратчайшего вектора и задачу нахождения ближайшего вектора, которые справедливо считаются самым надежным методом противостояния квантовым компьютерам.

Резюме

NEO – это расширенная сеть, которая объединяет цифровые активы, цифровые идентификаторы и смарт-контракты. В качестве инфраструктуры для интеллектуальной экономики будущего система NEO использует DBFT, NeoX, NeoFS, NeoQS и многие другие оригинальные технологии.