MMS

1. Знакомство со смарт-контрактами

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

В следующих главах я более подробно остановлюсь на различных строительных блоках, которые формируют реализацию внутрисетевого управления, раскрывая архитектурные и технические особенности протокола OKP4.

1.1 CosmWasm

CosmWasm — это платформа смарт-контрактов, используемая протоколом OKP4. Он предлагает безопасную и эффективную среду для выполнения смарт-контрактов на нескольких языках программирования. В частности, один язык, Rust , выделяется своим упором на безопасность, производительность и параллелизм. Мы используем Rust для создания безопасных и эффективных смарт-контрактов в экосистеме OKP4, используя его преимущества.

1.2 Смарт-контракты, ориентированные на хранение

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

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

Мы специально сосредоточились на двух классах смарт-контрактов: хранилище объектов и семантическое хранилище. Эти смарт-контракты выступают в качестве основополагающего уровня поддержки для реализации управления, что делает их жизненно важными для его существования.

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

1.2.1 Objectarium

Смарт-контракт Objectarium позволяет хранить произвольные неструктурированные объекты в любом блокчейне Cosmos. Он обеспечивает гибкое решение для хранения данных без навязывания строгих схем или предопределенных структур, поддерживая различные форматы и типы данных.

Ключевые идеи

Объект: в контексте смарт-контракта Objectarium объект относится к фрагменту данных, хранящемуся в блокчейне. Он может представлять различные типы информации, например документы, двоичные файлы или любой другой цифровой контент. Объекты являются неизменяемыми после сохранения и идентифицируются по их криптографическому хешу, который может быть сгенерирован с использованием таких алгоритмов, как MD5 или SHA256. Это обеспечивает целостность и безопасность хранимых данных, поскольку любое изменение объекта приведет к изменению значения хеш-функции.

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

Пин. Пин — это механизм, который позволяет пользователям отмечать или «прикреплять» определенные объекты в корзине. Закрепление объекта служит способом гарантировать, что объект останется на хранении и его нельзя будет удалить (это называется «забыть»). Он обеспечивает защиту и гарантирует сохранение закрепленного объекта в протоколе. Когда объект закреплен, он связывается с личностью (или отправителем), выполнившей действие закрепления.

Создание экземпляра

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

Мутации

Сохранить объект : позволяет пользователю сохранять объект в корзине. Отправитель становится владельцем объекта, на который ссылается хэш его содержимого. Если объект уже сохранен, возвращается ошибка. Пользователь может закрепить объект, предотвратив его удаление из хранилища. Кроме того, пользователь может указать алгоритм сжатия, чтобы уменьшить объем памяти, хотя это может увеличить загрузку ЦП и стоимость газа.

Забыть объект

Открепляет объект от корзины для отправителя и удаляет его из хранилища, если он больше не закреплен. Однако если другие отправители закрепляют объект, он остается в хранилище и возвращается ошибка.

Закрепить объект: пользователь может закрепить объект в корзине для отправителя. Пока объект закреплен, его нельзя удалить из хранилища.

Открепить объект: позволяет пользователю открепить объект из корзины для отправителя. После открепления объект можно удалить из хранилища, если других булавок нет.

Запросы

Бакет: извлекает информацию о бакете, включая его имя, конфигурацию, ограничения…

Объект: извлекает информацию о конкретном объекте по его идентификатору, включая владельца, состояние контакта, размер, сжатый размер и алгоритм сжатия.

Объекты: извлекает список объектов в сегменте с поддержкой нумерации страниц. Он позволяет фильтровать по адресу владельца, ограничивая количество возвращаемых объектов и начиная с определенной точки последовательности.

Данные объекта: извлекает содержимое определенного объекта на основе его идентификатора.

Закрепки объекта: извлекает список адресов, на которых закреплен определенный объект, с поддержкой нумерации страниц.

Спектр возможностей смарт-контракта не ограничен, и уже рассматриваются новые функции.

1.2.2 Cognitarium

Смарт-контракт Cognitarium упрощает хранение и запрос семантических данных с помощью RDF (Resource Description Framework ), который представляет информацию в виде семантических троек. По сути, он служит хранилищем знаний, предоставляя выделенное пространство для хранения и извлечения семантической информации в любых блокчейнах Cosmos.

Ключевые идеи

Семантические тройки: смарт-контракт Cognitarium реализует вариант тройного хранилища (https://en.wikipedia.org/wiki/Triplestore), структуры данных, используемой для хранения и запроса троек RDF (инфраструктура описания ресурсов). Тройки RDF состоят из операторов субъект-предикат-объект, которые представляют отношения между сущностями.

Форматы данных. Смарт-контракт Cognitarium поддерживает несколько форматов данных для сериализации/десериализации троек RDF, таких как RDF/XML, Turtle, N-Triples и N-Quads. При необходимости можно указать формат данных, что позволит пользователям взаимодействовать со смарт-контрактом, используя предпочитаемый ими формат.

Авторизация владельца контракта. Только владелец смарт-контракта, то есть адрес, по которому был создан экземпляр контракта, может выполнять мутации (вставку и удаление данных) в Когнитариуме. Этот механизм авторизации гарантирует, что только доверенные лица могут изменять состояние смарт-контракта.

Создание экземпляра:

Перед использованием смарт-контракта Cognitarium необходимо создать экземпляр, а экземпляр создает логический контейнер, в котором хранятся тройки. Создав экземпляр смарт-контракта, вы можете определить ограничения на использование хранилища. Эти ограничения включают максимальное количество троек, максимальный размер байта, максимальный размер тройки, максимальный предел запроса, максимальное количество переменных запроса, максимальный размер байта вставки данных и максимальное количество троек вставки данных… Настройка этих ограничений имеет решающее значение для обеспечения безопасности и производительности экземпляра контракта. Важно настроить их в соответствии с желаемой контрактной политикой.

Мутации:

Вставить данные : вставляет тройки RDF в хранилище. Он позволяет указать формат данных (например, RDF XML, Turtle, NTriples, NQuads), который определяет способ десериализации троек, а также сами данные в двоичном формате.

Удалить данные : удаляет тройки RDF из хранилища на основе указанных шаблонов, определенных запросом.

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

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

Выбрать: запрос Выбрать позволяет пользователям извлекать семантические ресурсы, соответствующие определенным критериям, определенным в запросе. Выполняя запрос Select, Cognitarium возвращает результирующий набор ресурсов, соответствующих указанным условиям. Пользователи могут определять параметры запроса, такие как префиксы, выбирать элементы (переменные, которые необходимо заменить), предложение WHERE для фильтрации и необязательное ограничение на количество результатов. Запрос Select предоставляет гибкий способ получения определенных данных из семантического хранилища.

Описать: запрос «Описать» используется для получения подробного описания конкретного ресурса, идентифицируемого IRI (интернационализированный идентификатор ресурса). Запрос «Описать» позволяет пользователям получить полное представление атрибутов и связей ресурса в формате, который соответствует их потребностям. Выполняя запрос описания, смарт-контракт возвращает набор троек RDF, описывающих рассматриваемый ресурс. Пользователи могут указать ресурс для описания, используя его IRI и желаемый формат сериализованных троек (например, RDF/XML, Turtle, N-Triples, N-Quads).

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

1.3 Смарт-контракты, ориентированные на суверенитет

1.3.1 Класс « sovereignty »

Как вы уже знаете, смарт-контракты — это самоисполняющиеся соглашения, условия которых непосредственно записаны в коде, хранятся и исполняются в блокчейне. Среди этих контрактов протокол OKP4 выделяет особый класс: смарт-контракты, ориентированные на суверенитет. Эти контракты призваны отдать приоритет суверенитету участвующих сторон, позволяя им определять и обеспечивать соблюдение своих собственных правил и положений. Для получения дополнительной информации по этой теме, пожалуйста, обратитесь к Части I этой саги.

Реализация внутрисетевого управления в протоколе OKP4 опирается на этот конкретный класс смарт-контрактов, первый из которых отвечает за законодательные аспекты управления: The Law Stone.

1.3.2 Law Stone

Law-Stone — это универсальный смарт-контракт, предназначенный для применения и обеспечения соблюдения законодательных правил, включая правила Зоны, Согласия и Соглашения. Он предлагает исключительную адаптируемость и может использоваться в любом блокчейне в экосистеме Cosmos, который стремится создать надежные и гибкие системы управления в цепочке. Благодаря исключительному мастерству оценки логических правил Law-Stone может применяться в различных случаях использования.

Смарт-контракт имеет две стороны:

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

Сторона «Stone» : создание экземпляра смарт-контракта высекает в камне правила, которые необходимо интерпретировать, и они являются неизменными, безотзывными и неоспоримыми, если только камень не сломается.

Ключевые идеи

Пролог: Да, вы это уже знаете; известный язык логического программирования используется для кодирования юридических правил и фактов в протоколе OKP4. Программа Пролог, содержащая неизменяемые Законы, предоставляется во время создания контракта, символически выгравировав их на Камне.

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

Один экземпляр — один камень — один закон. Этот принцип подразумевает, что каждый экземпляр смарт-контракта Law-Stone представляет собой отдельный закон (т. е. управление), обеспечивая разделение и независимость законов. Уникальная сила, эффекты и масштаб каждого экземпляра определяют его конкретное управление.

Хранилище Objectarium: В смарт-контракте Law-Stone ответственность за хранение логических программ делегируется смарт-контракту Objectarium. Отделив функциональность хранилища от Объектариума, контракт Law-Stone может сосредоточиться на интерпретации программ Пролога. В то же время Объектариум обеспечивает безопасное и эффективное хранение программ Пролога. Такой выбор дизайна соответствует принципу единой ответственности , гарантируя, что каждый контракт ориентирован на свою конкретную задачу.

Закон компоновки. Принцип «закона компоновки» допускает повторное использование и композицию кода Пролога. Используя предикат «consult/1», логический код Пролога можно импортировать из Объектариума, что позволяет создавать новые логические программы путем объединения существующих частей правил. Такая гибкость способствует модульности и композиции кода, облегчая создание сложной и индивидуальной юридической логики в рамках контракта Law Stone.

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

Создание экземпляра:

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

Мутация:

Разбить камень: Как следует из названия, эта операция разбивает камень, делая контракт непригодным для использования. Он очищает все связанные ресурсы, такие как открепление закрепленных объектов в контракте Objectarium и забывание программы Prolog. Только администратор контракта, если таковой имеется, может выполнить это сообщение.

Запрос:

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

1.3.3 Pactum

Смарт-контракт Pactum предназначен для оптимизации и автоматизации исполнения соглашений с участием нескольких сторон. В отличие от Камня Закона, который в первую очередь фокусируется на выражении или формулировании закона, основная функция Пактума состоит в активном исполнении закона в соответствии с заранее определенными условиями, изложенными в соглашении. Используя возможности Prolog, предоставляемые смарт-контрактом Law-Stone, Pactum облегчает беспрепятственное выполнение согласованных условий и обеспечивает надлежащее исполнение договорных обязательств.

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

Ключевые идеи

Соглашение: Соглашение между двумя или более сторонами, в котором излагаются положения, условия и обязательства, которые каждая сторона соглашается соблюдать. Это соглашение представлено программой Пролога, выгравированной на экземпляре Law-Stone.

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

  • Требуемые одобрения/подписи: Эти условия определяют, когда все стороны считают соглашение одобренным или принятым.
  • Запасы токенов: эти условия проверяют, соответствует ли количество токенов, принадлежащих каждой стороне, согласованным требованиям.

Эффект контракта: в этом разделе соглашения описываются ожидаемые результаты или действия, которые, как ожидается, произойдут после успешного выполнения контракта, включая такие действия, как переводы средств или другие определенные эффекты.

В следующих статьях, посвященных протоколу OKP4, будет подробно рассмотрен смарт-контракт Pactum, особенно в контексте оркестрации.

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *