Леките интелигентни договори на Ignis

    За да преодолее техническото затруднение на съществуващите интелигентни договори, екипът на Ардър(Ardor) внедри различен подход, който е по-гъвкав и мащабируем. Вместо да се изисква всеки възел да обработва всяко извикване на интелигентен договор, само страните, заинтересовани от интелигентен договор (наричан по-нататък „договор“), трябва да го обработват и да проверят дали достигат едно и също състояние.
    Използвайки този подход, самият "договорен" код е прост Java клас, качен в блокчейна и по този начин цифрово подписан и подпечатан с време. Въпреки това, изпълнението на „договори“ се извършва само от възли, които избират да стартират плъгина „contract runner“.
    Входът към договор обикновено е транзакция с допълнително съобщение, идентифициращо договора за изпълнение и предоставящо незадължителни параметри. Резултатът от договор е една или повече транзакции, изпратени до мрежата за актуализиране на състоянието на блокчейна. Транзакциите, предоставени от договора, са нормални транзакции и трябва да отговарят на всички съществуващи правила на протокола.
    С други думи, олекотен договор е Java код, който имплементира интерфейс и се съхранява в блокчейна . Кодът на договора се изпълнява от всеки, който иска да го изпълни, а не от всеки възел, и се задейства от блокчейн транзакция (или всеки нов блок). Изчисленият резултат от договора ще бъде представен като една или повече нормални транзакции от всякакъв тип, поддържани от Ардър(Ardor).


За какво може да се използва?

    Леките договори основно предоставят всички употреби на интелигентните договори на Ethereum, интегрирани с всичко, което Ардър(Ardor) вече предлага от кутията. Примерите включват автоматизация на повтарящи се задачи, финансови изчисления, предвидими произволни числа, оракули за регистриране на информация от външни източници и др. Всичко това е интегрирано със съществуващите вградени измивания на токени на Ардър(Ardor), суапове на активи, инструменти за гласуване, транзакции, атрибути на акаунти, съобщения и др. Това предоставя мощен инструмент за разработване на децентрализирани приложения, разчитащи на съществуващи вградени възможности на API.
    Но как да гарантираме, че лицето, изпълняващо интелигентния договор, няма да мами? Тъй като файловете на Java класа се съхраняват в блокчейна, всеки заинтересован може да изпълни същия договор въз основа на същия вход, независимо дали в производствен режим или в режим на одобрение, за да провери дали транзакциите, изпратени от договора, наистина са следвани правилно изчисление.


Леките договори представляват рамка за слой за автоматизация, разработен върху съществуващия Ardor API.

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


Леките договори поддържат различни нива на доверие

1. Партньорска проверка
    Авторите на договора могат да публикуват изходния код на Java за партньорска проверка и всеки може да компилира изходния код и да генерира същите файлове от клас, които се съхраняват в блокчейна. Дори ако изходният код не е издаден от автора, всеки може да изтегли договорния клас от блокчейна, да го декомпилира и да прегледа изходния код, за да се увери, че няма грешки или задни вратички.

2. Проверка на резултата
    Проверка на резултатите - Като се има предвид транзакция, изпълнена от договор, всеки възел може да изпълни същия договор и да потвърди, че транзакцията, изпратена от договора, представлява правилния изход от договора въз основа на предоставения вход и изпълнения код. Това позволява на възлите да идентифицират и маркират измамниците, но не пречи на техните транзакции да бъдат включени в блокчейна. Перфектен за прости договори, които не представляват значително прехвърляне на стойност.

3. Контрол на акаунта
    Акаунтът, изпълняващ договора, може да има контрол на акаунта чрез мултиподпис от друг акаунт или два от трите акаунта. Всеки път, когато договорна сметка подаде транзакция, контролната сметка ще бъде отчетена двойно. Само ако постигнат същия резултат, те ще представят сделката за одобрение.



    Надграждайки годините на усилията на десетки разработчици, Ignis Lightweight Contracts имат вградена функционалност и осигуряват гъвкаво и автоматизирано средно ниво за подпомагане на изграждането на по-сложни блокчейн приложения от страна на сървъра.

Коментари

Популярни публикации от този блог

asset ArdorBG and Trading Royalties: 0.1%

New rule for asset ArdorBG - anti-dilution

Bits grid support