Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
mikhailmv
6 лет назад

Translation of Whitepaper AERGOSQL Smart Contract into Russian.

AERGOSQL WHITEPAPER.
AERGOSQL: новый механизм смарт-контрактов для блокчейна.

Последнее обновление 17 июля 2018 года. 

AERGOSQL: новый механизм смарт-контрактов для блокчейна.
Won-Beom Kim, глава технического комитета AERGO Limited.


ПРАВОВАЯ ОГОВОРКА (Legad Disclaimer).
Этот документ относится к проекту AERGO и его следует рассматривать с Whitepaper доступном на сайте https://AERGO.io. Этот и другие документы могут быть изменены или заменены в любое время без уведомления о любых изменениях или доступа к любой дополнительной информации. 

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

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

РЕЗЮМЕ.
В данном документе описывается AERGOSQL, предлагаемый механизм смарт-контрактов, который предназначен для работы на платформе AERGO. Он предполагает базовый уровень понимания компьютерного кодирования, смарт-контрактов, программирования и блокчейна. Предполагается, что AERGOSQL будет поддерживать реляционную модель данных и определение бизнес-логики через PL/SQL-like язык скриптов. На AERGOSQL  модели данных могут быть созданы посредством языка определения данных ("DDL") и при помощи языка управления данными("DML") ими можно будет манипулировать и получать к ним доступ. Бизнес-логика, использующая модель данных, может быть создана и вызвана PL/SQL-like синтаксисом. Для поддержки производительности на уровне предприятий AERGOSQL предлагает обрабатывать определения и выполнения смарт-контрактов через LLVM, чтобы использовать JIT-компиляцию(1). Поддержка сменного механизма хранения позволяет использовать масштабируемые механизмы хранения, такие как WiredTiger(2). 

1. ПРОБЛЕМЫ СО СМАРТ-КОНТАКТАМИ
Основные реализации блокчейна, такие как Ethereum, предпочитают процедурную, полную по Тьюрингу поддержку смарт-контрактов(3). В это же время процедурная поддержка смарт-контрактов позволяет более гибкие приложения, а гибкость, в свою очередь, также позволяет допускать больше ошибок и уязвимостей(4). 

Поскольку большинство процедурных языков смарт-контрактов моделируются на основе принципа объектно-ориентированного программирования, доступ к данным на процедурных смарт-контрактах часто моделируется также и на основе структур данных в памяти. Другие типы языков смарт-контрактов поддерживают более надежные интерфейсы для key-value хранилищ и хранилищ документов(5). Однако мы считаем, что функциональные возможности доступа к данным, предлагаемые процедурными языками смарт-контрактов, являются базовыми по сравнению с более зрелыми базами данных NoSQL или SQL и часто приводят к сложным и длительным реализациям для обхода представленных ограничений. 

2. SQL И СМАРТ-КОНТРАКТЫ
Реляционные модели данных и интерфейс SQL обеспечивают гораздо более эффективные способы доступа и управления данными, хранящимися в леджерах(регистрах), чем процедурные средства. На самом деле, основная часть бизнес-логики, требуемой для большинства сценариев использования смарт-контрактов, может быть представлена только DDL и некоторыми ограничениями. Языки скриптов, разработанные на основе SQL, такие как PL/SQL, обеспечивают более полноценную поддержку построения смарт-контрактов. На следующем рисунке показан пример системы балансового учета, реализованной с использованием PL / SQL.

3. ДИЗАЙН ARGOSQL
Предлагаемый дизайн AERGOSQL состоит из трех уровней функциональности.
Внешний интерфейс(фронтенд) AERGOSQL анализирует PL / SQL и создает AST-представление скрипта. Диалект PL / SQL, оптимизированный для использования на разрешенных леджерах, используется как для простоты, так и для функциональности. ANTLR(6) используется для обработки EBNF для диалекта PL/SQL и создания парсера на языке Go.

Оптимизатор.
На основе AST, испускаемый фронтендом(внешний интерфейс), оптимизатор создает IR скрипт для LLVM. Чтобы максимизировать производительность, оптимизатор выделяет правильные узлы выполнения в IR.

Внутренний интерфейс(бэкенд).
Бэкэнд AERGOSQL предназначен для обеспечения уровня абстракции для функциональных возможностей, необходимых для выполнения узлов, используемых IR. Для того, чтобы включить оптимизацию, бэкенд(серверная) также предоставляет соответствующую статистику сохраненных данных. Предпочтительным выбором бэкенда(серверной) в первоначальном дизайне является WiredTiger, но AERGOSQL должен иметь возможность использования любого хранилища данных, поддерживаемое b-tree или LSM tree. 

С целью поддержки различных типов алгоритмов консенсуса, реализованных различными регистраторами, AERGOSQL предоставляет механизм "точка-в-блоке"(point in block) для отката и восстановления. Такая функциональность позволяет внедрение блокчейна с реорганизацией блоков использовать AERGOSQL.

4. ЗНАЧЕНИЯ
Знакомый интерфейс SQL, поддерживаемый AERGOSQL, предназначен для того, чтобы позволить блокчейнам поддерживать более удобные для разработчиков методологии построения смарт-контрактов. AERGOSQL стремится улучшить производительность и масштабируемость, что, в свою очередь, должно позволить реализовать более требовательные варианты использования на блокчейне.

------------------------------------------------------------------------------------------------------------------------------------
(1) https://llvm.org/devmtg/2016-09/slides/Melnik-PostgreSQLLLVM.pdf
(2) http://www.wiredtiger.com
(3) https://github.com/ethereum/wiki/wiki/White-Paper#scripting
(4) https://eprint.iacr.org/2016/1007.pdf
(5) https://medium.com/wearetheledger/hyperledger-fabric-couchdb-fantastic-queries-and-where-to-find-themf8a3aecef767
(6) http://www.antlr.org 





0
0.000 GOLOS
На Golos с June 2018
Комментарии (1)
Сортировать по:
Сначала старые