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

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

Перевод AERGOSQL Whitepaper с английского языка выполнил Генрих А. 17.09.2018

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Настоящий документ принадлежит проекту AERGO и должен рассматриваться вместе с документом, доступным на https://AERGO.io. Этот и другие документы могут быть изменены или заменены в любое время без уведомления о каких-либо изменениях или доступа к любой дополнительной информации.

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

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

Введение

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

Предполагается, что AERGOSQL будет поддерживать реляционную
Модель баз данных и бизнес-логики посредством PL / SQL-подобного языка.
На AERGOSQL модели данных могут быть созданы при помощи языка определения данных (data definition language, DDL) и доступны или изменены при помощи языка изменения данных. Бизнес-логика, использующая данные модели данных, может быть создана и запущена при помощи PL / SQL- подобного синтаксиса.

Для поддержки производительности на уровне предприятия, AERGOSQL предлагает создавать и выполнять смарт-контракты посредством LLVM для использования JIT компиляции (1). Съемные механизмы поддержки хранения позволяют использовать масштабируемые системы хранения, такие как WiredTiger (2)

1 Проблемы смарт-контрактов.
Распространенные блокчейны, такие как Этериум, предпочитают процедурную, Тьюринг-полную поддержку для смарт-контрактов (3). Хотя поддержка процедурных смарт-контрактов позволяет создавать более гибкие приложения, эта гибкость так же дает простор для большего числа возможных ошибок и уязвимостей (4).
В то время как большинство процедурных языков смарт-контрактов построены вокруг принципов объектно-ориентированного программирования, доступ к данным в смарт-контрактах такого типа зачастую разрабатывается после создания структуры данных. Другие типы языков смарт-контрактов позволяют поддерживать более надежные интерфейсы для ключевых хранилищ ценностей или хранилищ документов (5).
Однако, мы считаем, что функциональность доступа к данным смарт-контрактов на основе процедурных языков является ограниченной в сравнении с более полной в базах данных NoSQL или SQL, и, зачастую имеет своим следствием более сложную и длительную реализацию, чтобы обойти данные ограничения.

2 SQL и смарт-контракты
Реляционная модель баз данных и интерфейс SQL обеспечивают гораздо более эффективные способы доступа и изменения данных в хранилищах, чем процедурные средства. Фактически, основная часть бизнес-логики большинства сфер применения смарт-контрактов может быть представлена посредством DDL и ограничений.
Программные языки на основе SQL, такие как PL / SQL, обеспечивают более полную поддержку для разработки смарт-контрактов.
Рисунок ниже иллюстрирует пример баланса учетной системы с использованием PL / SQL.

баланс учетной системы с использованием PL / SQL.

3 Структура AERGOSQL

Предлагаемая структура AERGOSQL состоит из трех функциональных уровней.

Интерфейс
Интерфейс AERGOSQL анализирует PL / SQL и создает представление AST для скрипта. Разновидность PL / SQL, оптимизированная для использования в хранилищах с закрытым доступом, используется как для простоты, так и для функциональности. ANTLR(6) используется для обработки EBNF для PL / SQL и создания парсера в язык Go.

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

Бэкэнд

Бэкэнд AERGOSQL предназначен для обеспечения уровня абстракции для функционала, требуемого рабочими узлами, используемыми IR. Для обеспечения оптимизации бэкэнд также предоставляет соответствующую статистику сохраненных данных. Предпочтительный выбор бэкэнда первом приближении это WiredTiger, но AERGOSQL должен будет иметь возможность использовать хранилища данных на основе b-дерева или LSM-дерева.
Чтобы поддерживать различные типы алгоритма консенсуса, примененного в различных хранилищах,AERGOSQL обеспечивает механизм «точка-в-блок» для отката и восстановления. Такая функциональность позволяет реализовать блокчейн
с реорганизацией блоков для использования 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-them-f8a3aecef767
(6) http://www.antlr.org

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