DAML – język dla inteligentnych kontraktów

Ten artykuł zawiera kompleksowy przegląd DAML – języka open source dla inteligentnych kontraktów. Dowiesz się również o zaletach DAML i porównaniu z innymi językami.

Wraz z rozwojem technologii blockchain istnieje zapotrzebowanie na ulepszone systemy, za pośrednictwem których użytkownicy działają i wchodzą w interakcję. Już teraz dzieje się wiele ulepszeń, zwłaszcza że blockchain dla przedsiębiorstw nadal staje się popularny. Jednym z najnowszych osiągnięć w szybko zmieniającym się środowisku blockchain jest DAML.

Od zarania Internetu niezmienność danych jest cechą, która wymykała się wielu programistom. W związku z tym źli aktorzy w ekosystemie online wykorzystali możliwość zmiany danych w celu popełnienia różnych przestępstw.

Jednak blockchain okazał się ważniejszy, gdy programiści wykazali zdolność do przeprowadzania transakcji w środowisku bez centralnego gracza, jak to ma miejsce w starym świecie finansów.

Oprócz tych publicznych rejestrów, rozwinął się również duży rynek prywatnych rejestrów, na które zezwolono. Niezależnie od tego, czy są kontrolowane przez upoważnioną prawnie stronę centralną, czy też konsorcjum nieufnych wobec siebie podmiotów, które mają wspólny cel, księgi prywatne zapewniają taką samą ochronę przyszłości i niezmienność jak rejestry publiczne z dodatkową możliwością zachowania prywatności danych.

Niezależnie od tego, czy dana księga jest publiczna czy prywatna, stanowiąca podstawę możliwości interakcji partnerów w ekosystemie blockchain z gwarancjami prywatności jest klasą aplikacji zwykle określaną jako inteligentne kontrakty.

W tym artykule szczegółowo omówimy później, czym są inteligentne kontrakty i ich znaczenie w kontekście DAML.

Zapisać się:Kurs Enterprise Blockchains Fundamentals

Co to jest DAML?

Pod względem technicznym DAML oznacza język cyfrowego modelowania zasobów (pełna forma DAML) – język znaczników dla sieci semantycznej. Jednak żargon techniczny może być mylący. Tak więc, dla prostszego DAML, należy pomyśleć o tym jako o języku open source dla inteligentnych kontraktów.

Zasadniczo DAML to inteligentny język kontraktów, który umożliwia programistom dokładne kodowanie umów wielostronnych dla różnych architektur blockchain, DLT, a nawet standardowych baz danych.

Stworzony przez Digital Asset, tchnie nowe życie w ten gatunek aplikacji (inteligentne kontrakty), który umożliwia rówieśnikom dokonywanie transakcji w zaufanym środowisku. Zasadniczo jest to język programowania, który czerpie inspirację z Haskell i który ułatwia tworzenie inteligentnych kontraktów dla rozproszonych biznesowych przepływów pracy.

Warto zauważyć, że język umożliwia programistom skrócenie czasu spędzanego na rozwiązywaniu problemów związanych z szyfrowaniem i blockchainem. Zamiast tego programiści koncentrują swój czas na tworzeniu rozwiązań programistycznych dla procesów biznesowych.


DAML – Wyjaśnienie języka inteligentnych kontraktów

Infografika DAML

Właściwości DAML

Zapewnia sposób na pisanie umów

Podobnie jak inne języki, których programiści używają do pisania inteligentnych kontraktów, DAML umożliwia rówieśnikom zawieranie i honorowanie umów. W szczególności język opisuje proces tworzenia umowy, kluczowe strony umowy oraz strony, którym przekazano uprawnienia do umowy.

Oprócz definiowania procesu tworzenia umowy, język zajmuje się kodowaniem pomysłów, takich jak umowy, prawa, strony, upoważnienia i zobowiązania, tak że deweloper musi zajmować się tylko logiką swojej działalności; wszelkie podnoszenie ciężarów związanych z takimi rzeczami, jak haszowanie w kryptografii, a algorytmy konsensusu są usuwane i obsługiwane przez środowisko wykonawcze.

To bezpośrednie wyrażenie elementów kontraktu jako funkcji języka natywnego oznacza, że ​​architektura DAML może sprawnie sprawdzać kod systemowy pod kątem problemów automatycznie i na wcześniejszym etapie cyklu programowania. Ponadto system ma możliwość samodzielnego wnioskowania o logice biznesowej.

To jest Open Source

4 kwietnia 2019 roku Digital Asset, firma stojąca za DAML, ogłosiła, że ​​kod źródłowy programu będzie swobodnie dostępny dla wszystkich programistów. To open-sourcing projektu oznaczał, że różne strony będą mogły używać DAML do modelowania i wykonywania kontraktów za pomocą technologii blockchain bez obawy o uzależnienie od dostawcy.

Zgodnie z zapowiedzią programiści i inne zainteresowane strony będą mogły uzyskać dostęp do języka DAML, kodu źródłowego, zestawu Software Development Kit (SDK) i środowiska uruchomieniowego na bardzo liberalnej licencji Apache 2.0.

Do użytku w prywatnym środowisku wykonawczym

Wadą publicznie rozproszonych rejestrów jest to, że każdy węzeł na platformie może przeglądać dane obecne w inteligentnych kontraktach. W związku z tym partnerzy, którzy muszą zachować szczegóły swojej umowy, nie mogą przeprowadzać transakcji za pośrednictwem publicznej sieci blockchain.

W szczególności jest to jedna z głównych przeszkód, która uniemożliwia pełne przyjęcie łańcucha bloków dla przedsiębiorstw. Dlatego, jak wspomniano wcześniej, popularność prywatnych DLT wzrosła.

Połączenie DAML i prywatnej platformy DLT stanowi remedium w tej sprawie. Warto zauważyć, że zespół stojący za tym ekspresyjnym językiem zoptymalizował DAML, ponieważ działa doskonale w prywatnym środowisku wykonawczym. Oznacza to, że informacje zawarte w umowach pozostają poufne, tak że tylko upoważnione strony mają do nich dostęp.

Czytelne dla ludzi i maszyn

DAML jest rewolucyjny nie tylko w jednym sensie. W szczególności projekt systemu umożliwia maszynom i ludziom zrozumienie informacji zawartych w umowie.

Konsekwencje tej zdolności są ogromne. Specjaliści zaangażowani w tworzenie umowy będą mieli łatwy czas na obejście szczegółów, ponieważ DAML jest bardzo przyjazny dla człowieka.

Na przykład prawnik może łatwo zrozumieć znaczenie umowy, czytając i oceniając kodowanie DAML tej umowy. Jednocześnie DAML zapewnia programistom odpowiedni stopień szczegółowości do obliczania ważnych aspektów umowy, takich jak przepływy pieniężne, profile klientów i ekspozycja na ryzyko.

Jak działa DAML? Szybki, funkcjonalny samouczek DAML

DAML działa podobnie jak wszystkie inne języki pisania inteligentnych kontraktów. W szczególności język działa na dwóch głównych poziomach, gdzie jest sam język i środowisko wykonawcze.

Język jest jak główna część technologii. Dzięki temu programiści mogą wykonywać całą pracę, której potrzebują w zakresie pisania umów i ułatwiania transakcji.

Ponieważ między językiem a środowiskiem wykonawczym istnieją bardzo czyste i abstrakcyjne interfejsy API, środowisko wykonawcze można dostosować do wykonywania na różnych platformach blockchain, DLT i innych.

Zapewnia to elastyczność przenoszenia aplikacji DAML na platformy obsługujące DAML. Jest to analogiczne do maszyny JVM, która umożliwia niezmienione działanie aplikacji Java na dowolnej platformie obsługującej maszynę JVM.

Po zainstalowaniu Software Development Kit (SDK) programiści muszą uruchomić tylko kilka określonych plików, aby urządzenie mogło obsługiwać operacje.

Modelowanie danych

Jednym z głównych i najważniejszych zadań, jakie należy wykonać podczas pisania inteligentnego kontraktu, jest modelowanie danych, które będą używane w ramach tego kontraktu. Zwykle funkcja modelowania danych jest skomplikowana i może prowadzić do bardzo złożonych struktur danych w zależności od tego, jak skomplikowane są umowy i ile stron jest zaangażowanych.

W przeciwieństwie do innych języków kontraktów inteligentnych, DAML umożliwia programistom określanie schematu danych w locie, bezpośrednio osadzając go w języku wykonywania kontraktu. To znacznie upraszcza zadanie modelowania danych i zmniejsza ryzyko wystąpienia błędów z powodu niezgodności między schematem danych a logiką aplikacji..

Czytaj więcej: Samouczek DAML: Pierwsze kroki z DAML

Struktura konspektu szablonu

Programista DAML określa kontrakt za pomocą prostej i dobrze zdefiniowanej struktury zwanej „szablonem”, która zawiera zarówno model danych, jak i parametry kontraktu.

Parametry obejmują np. Sygnatariuszy danej umowy (tych uczestników, którzy muszą autoryzować działania na umowie) i obserwatorów (tych uczestników umowy, którzy są tylko po to, aby zobaczyć umowę i co robi, ale nie są do tego upoważnieni). do podejmowania działań). Kolejnym aspektem struktury szablonu jest umowa, która jest w zasadzie szczegółami umowy i reprezentacją tego, czego dotyczy umowa.

Szablony mogą określać jeden lub więcej warunków wstępnych, które zapewniają, że umowa zostanie utworzona tylko wtedy, gdy twórca umowy osiągnie określony próg. Ostatnim elementem struktury konspektu szablonu są „wybory”. Określa zakres wyborów, z których może skorzystać wykonawca umowy.

Struktura wyboru

Główną strukturą w szablonie jest struktura wyboru, która wyszczególnia wybory, które strony umowy mogą wybrać pod względem charakteru szablonu.

Struktura wyboru identyfikuje administratora lub stronę odpowiedzialną za dokonanie wyboru. Inne elementy tej struktury obejmują użyteczność, nazwę, typ zwracany, argumenty wyboru i treść wyboru.

Czytaj więcej: Samouczek szkoleniowy DAML

Porównanie DAML i inteligentnych kontraktów

Zrozumienie inteligentnych kontraktów

Jak wyjaśniono wcześniej, inteligentne kontrakty są istotnym elementem technologii rozproszonej księgi (DLT). W publicznych łańcuchach bloków dwie anonimowe strony mogą stworzyć inteligentną umowę, aby ułatwić pewną transakcję, ale dane pozostają przechowywane w księdze publicznej. Oznacza to, że wszyscy uczestnicy sieci mogą przeglądać szczegóły umowy, aby sprawdzić jej autentyczność. W związku z tym egzekwowanie zaufania jest możliwe.

W przypadku prywatnych lub dozwolonych DLT wszystkie strony są znane, ale tylko te strony zaangażowane w daną transakcję mają dostęp do danych tej transakcji. Zaufanie jest nadal utrzymywane poprzez mechanizmy, które pozwalają uczestnikom na weryfikację wszystkich transakcji, do których mają dostęp.

Inteligentne kontrakty mają wyróżniające cechy, które również czynią je rewolucyjnymi.

Na przykład inteligentne kontrakty mogą mieć samowykonawczy mechanizm, który uruchamia się zgodnie z ustalonymi terminami (zwanymi również zdarzeniami wyzwalającymi). W sieciach publicznych każda zainteresowana strona może analizować aktywność inteligentnych kontraktów, tak aby można było zidentyfikować każdą anomalię.

Ponadto handlowcy mogą korzystać z inteligentnych kontraktów, aby uzyskać puls na rynku. Obejmuje to zdolność przewidywania trendów i niepewności na rynku.

Inteligentne kontrakty mają wiele zalet, w tym niezmienność danych. Mówiąc najprościej, niezmienność odnosi się do niemożności zmiany danych w stosunku do ich pierwotnego stanu. Oznacza to, że danych nie można usunąć ani zmienić w żaden możliwy sposób.

Niezmienność danych sprawia, że ​​inteligentne kontrakty są zawsze dokładne. Po trzecie, w niektórych przypadkach inteligentne kontrakty umożliwiają partnerom dokonywanie bezpośrednich transakcji bez pośrednictwa. Dlatego takie transakcje są bardzo tanie, czasami nie kosztują ani grosza.

Właściwości inteligentnych kontraktów

Dowód zobowiązań i praw

Jedną z kluczowych cech, które muszą posiadać inteligentne kontrakty, jest to, że nie trzeba przeprowadzać transakcji, nie czując się komfortowo w całym procesie. Zasadniczo wyrażenie zgody na zawarcie umowy jest całkowicie dobrowolne, ale konsekwencje są obowiązkowe. Dlatego użytkownik musi rzetelnie i umiejętnie rozważyć przyszłe konsekwencje umowy, którą się podpisuje. Inteligentna umowa musi gwarantować, że tak jest zawsze, co może być bardzo trudne do wykonania.

Weryfikacja ważności transakcji

Podobnie jak wcześniej wspomniano, informacje dotyczące szczegółów kontraktu można łatwo prześledzić z księgi głównej. W związku z tym spełnia to wymóg dotyczący umów, dzięki którym można zweryfikować ich autentyczność i ważność.

Czytaj więcej:Przypadki użycia inteligentnych kontraktów

Porównanie z DAML

Zasadniczo z powyższego jasno wynika, że ​​DAML tworzy podzbiór inteligentnych kontraktów, ponieważ jest w stanie skorygować wady istniejących języków. Jak wspomniano wcześniej, fakt, że inteligentne kontrakty w publicznych sieciach przechowują dane w publicznych księgach, sprawia, że ​​inteligentne kontrakty są nieatrakcyjne w przypadku poufnych transakcji.

Jednak DAML, gdy jest używany w połączeniu z sieciami prywatnymi, zapewnia, że ​​tylko te strony, które autoryzują umowę, wraz z delegowanymi uprawnieniami do przeglądania szczegółów, mogą mieć dostęp do informacji o umowie. Jest to jeden z powodów, dla których doświadczeni obserwatorzy uważają, że ten język jest zabójczą funkcją dla instytucji finansowych i innych, które wymagają poufności transakcji.

Niemniej jednak DAML jako język dla inteligentnych kontraktów różni się od tradycyjnych inteligentnych kontraktów, jeśli chodzi o dzielenie się pisemnymi umowami. Języki inteligentnych kontraktów, takie jak Solidity, udostępniają informacje publicznie, dzięki czemu cała sieć ma dostęp do szczegółów. Dlatego ludzie debatują na temat DAML kontra solidność.

Wręcz przeciwnie, umowy napisane w DAML są dostępne tylko wtedy, gdy są niezbędne. Oznacza to, że niepożądane osoby trzecie nie mają dostępu do danych. W szczególności język wykorzystuje dodatkową warstwę zabezpieczeń, dzięki której dane nie są nawet dostępne dla osób niepożądanych.

Korzyści z DAML

Otwarte źródło

Platforma blockchain może mieć zaledwie 10 lat, ale szybko się rozwija. Obecnie technologia rewolucjonizuje przemysł w bezprecedensowym tempie. Powodem tego szybkiego wzrostu jest fakt, że blockchain jest open source i każdy programista może przy nim majstrować, aby znaleźć najlepsze rozwiązanie określonego problemu.

Co ciekawe, DAML jest również open-source od 4 kwietnia 2019 r. Oznacza to, że programiści mają swobodę modyfikowania kodu DAML w celu tworzenia najbardziej innowacyjnych rozwiązań, jeśli chodzi o inteligentne kontrakty i ogólnie ekosystem blockchain..

Czytaj więcej:Czy Blockchain to przyszłość?

Umożliwia prywatne transakcje

Tradycyjne języki inteligentnych kontraktów nie zawierają natywnych funkcji z solidnymi ograniczeniami, w których umowy mogą być prywatne. Zasadniczo informacje zawarte w umowach są dostępne dla wszystkich uczestników, w tym dla niepożądanych osób trzecich.

Jednak, jak wspomniano wcześniej, DAML obejmuje dodatkową warstwę zabezpieczeń, w przypadku gdy takie informacje są dostępne tylko dla upoważnionych stron.

Przyspiesza przyjęcie technologii Blockchain w przedsiębiorstwie

Kiedy blockchain przechodzi do przypadków użycia w przedsiębiorstwach, jednym z problemów powstrzymujących technologię jest rozproszony charakter informacji. Warto zauważyć, że, jak wspomniano wcześniej, istnieją już wysiłki, takie jak tworzenie prywatnych platform blockchain, w których wszyscy uczestnicy muszą uzyskać pozwolenie przed wejściem.

Jednak przedsiębiorstwa nadal stoją w obliczu zagrożenia, że ​​konkurenci zobaczą ich strategię. Jednak wejście DAML jest potencjalnym rozwiązaniem tego problemu. W szczególności język ogranicza dane umów tylko do tych węzłów, które mają do nich dostęp, a informacje dotyczące umów nie są dostępne dla innych użytkowników. W związku z tym przedsiębiorstwa nie mają żadnego usprawiedliwienia, jak tylko wskoczyć na pokład i wykorzystać potencjał blockchain przedsiębiorstwa.

Czytaj więcej: Przedsiębiorstwa wdrażające technologię Blockchain

Wbudowana obsługa sprawdzania poprawności modelu

Biorąc pod uwagę nowatorski charakter blockchain, większość operacji i modeli ma charakter eksperymentalny i nowatorski. Dlatego istnieje potrzeba ciągłego sprawdzania poprawności modeli. Na szczęście DAML ma wbudowaną obsługę, w której walidacja poprawności modeli jest automatyczna.

Abstrakcja pamięci masowej

Środowisko wykonawcze DAML jest solidne i wykonuje istotne operacje, aby uczynić język lepszym od istniejących alternatyw. Na przykład środowisko wykonawcze wyodrębnia szczegóły księgi w taki sposób, że deweloper może skupić się na logice kontraktu.

Porównanie DAML z innymi alternatywnymi językami inteligentnych kontraktów

Ekosystem blockchain wciąż się rozwija, co oznacza, że ​​nie ma standardowych systemów operacyjnych. Oznacza to również, że nie ma jednego języka, który dominowałby w pisaniu inteligentnych kontraktów. W związku z tym oprócz DAML istnieje wiele innych alternatyw.

DAML vs Solidity

Solidity to jeden z pierwszych języków do pisania inteligentnych kontraktów Ethereum, który zyskał popularność. Popularność ta wynikała z tego, że platforma blockchain Ethereum była preferowaną siecią dla inteligentnych kontraktów.

Jako język programowania Solidity dominuje na platformie Ethereum. Ten język wykorzystuje składnię wysokiego poziomu i skrypt, który jest podobny do JavaScript. W szczególności język ma kluczowe znaczenie dla ulepszenia maszyny wirtualnej Ethereum. Kilka innych prywatnych łańcuchów bloków, takich jak Hyperledger Burrow i Monax, używa tego języka do podstawowego rozwoju.

Ponadto programiści Ethereum wykorzystali Solidity do napisania wersji 0.4.0 oprogramowania. Piękno tego języka polega na tym, że nie narusza on funkcjonalności sieci blockchain.

Ponadto język jest niezbędny do tworzenia inteligentnych kontraktów, które działają na maszynie wirtualnej Ethereum (EVM). Język zwiększa zdolność aplikacji do samodzielnego wzmacniania logiki biznesowej, która jest nieodłącznym elementem inteligentnych kontraktów. W rezultacie strony dokonujące transakcji w ekosystemie Ethereum pozostawiają autorytatywny zapis swoich transakcji, aby ułatwić weryfikację.

W przeciwieństwie do DAML, którego język jest podobny do języka Haskell, Solidity wykorzystuje składnię zbliżoną do ECMAScript. Jednak Solidity ma dodatkowe możliwości, takie jak zmienne typy zwrotów i możliwość statycznego pisania. Ponadto umowy napisane w Solidity obsługują wielokrotne dziedziczenie, które jest ułatwione dzięki linearyzacji C3.

Actulus Modeling Language

Odkąd blockchain zaczął podążać w kierunku przedsiębiorstwa, pojawiły się różne języki specyficzne dla domeny finansowej, aby rozwiązać niektóre problemy zidentyfikowane w początkowych językach.

Oprócz DAML i Solidity, Actulus Modeling Language (AML) pojawił się, aby pomóc w rozwiązaniu problemów obliczeniowych w sektorach emerytalnym i ubezpieczeniowym. W szczególności AML jest przedsięwzięciem wielostronnym, w skład którego wchodzą Edlund A / S i Uniwersytet IT w Kopenhadze.

W przeciwieństwie do języków takich jak Java i C / C ++ między innymi, które są ogólnie stosowane w różnych ustawieniach, AML jest specyficzna dla domeny. Oznacza to, że język jest przydatny w określonym celu lub może tworzyć aplikacje działające na określonej platformie. W związku z tym język nie może tworzyć samodzielnych programów, interfejsów i aplikacji.

Kontrakty powiernicze BOScoin

To kolejne alternatywne rozwiązanie, które wykorzystuje język ontologii sieciowej (WOL) do tworzenia inteligentnych kontraktów. BOScoin zawsze wykorzystuje język Timed Automata (TAL), aby zwiększyć zaufanie i solidność kontraktów. W szczególności język tworzy umowy zaufania, które ułatwiają tworzenie zdecentralizowanych aplikacji (DApps). Zasadniczo inteligentny kontrakt wzmacnia zaufaną naturę DApps.

Ucz się więcej: Co to jest dApp?

Podobnie jak DAML, BOScoin nie jest Turing-Complete. Zamiast tego języki są rozstrzygalne, co odróżnia je od kompletnej natury Turinga inteligentnych kontraktów Ethereum. W przeciwieństwie do inteligentnych kontraktów Ethereum, kontrakty BOScoin Trust wykorzystują wszechstronny i bardziej zawarty język ontologii. W szczególności wynika to z konieczności stworzenia przez zespół platformy, na której programiści mogą wymyślać niezawodne kontrakty.

Co przyniesie przyszłość DAML?

W obecnym stanie rzeczy środowisko blockchain jest pełne języków inteligentnych kontraktów. Wiele języków utrudnia współpracę między aplikacjami blockchain, a tym samym opóźnia masową adaptację blockchain.

Co ciekawe, sama platforma Hyperledger używa ponad sześciu języków, w tym DAML, który tworzy inteligentne kontrakty w Hyperledger Sawtooth.

Jednak zdolność do abstrakcji środowiska wykonawczego DAML pomaga rozwiązać wiele problemów z błędami w inteligentnych kontraktach tworzonych we wszystkich obszarach. Umożliwia także przenoszenie aplikacji DAML na inne platformy. Oprócz platformy Digital Asset, zapowiedziano obsługę DAML dla VMware Blockchain i Sawtooth, co oznacza, że ​​inne platformy mogą ją przyjąć.

Dlatego jest prawdopodobne, że język DAML może stać się uniwersalnym językiem inteligentnych kontraktów w nadchodzących dziesięcioleciach.

Jeśli chcesz dowiedzieć się więcej na temat podobnych podstawowych tematów dotyczących technologii blockchain, zapoznaj się z naszym bezpłatnym kursem dotyczącym łańcucha bloków dla przedsiębiorstw.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map