이 기사는 스마트 계약을위한 오픈 소스 언어 인 DAML에 대한 포괄적 인 관점을 제공합니다. 또한 DAML의 이점과 다른 언어와의 비교를 배우게됩니다.. 

블록 체인 기술이 발전함에 따라 사용자가 운영하고 상호 작용하는 개선 된 시스템이 필요합니다. 이미 엔터프라이즈 블록 체인이 계속 대중화됨에 따라 특히 많은 개선이 이루어지고 있습니다. 빠르게 변화하는 블록 체인 환경의 최신 개발 중에는 DAML이 있습니다..

인터넷이 시작된 이래로 데이터 불변성은 많은 개발자를 피하는 속성입니다. 따라서 온라인 생태계 내의 악의적 인 행위자들은 데이터를 변경하여 다양한 범죄를 저지르는 능력을 이용했습니다..

그러나 블록 체인은 개발자가 기존 금융 세계에서와 같이 중앙 플레이어가없는 환경에서 트랜잭션을 수행 할 수있는 능력을 입증했을 때 더 중요하다는 것이 입증되었습니다..

이러한 공개 원장 외에도 개인의 허가 된 원장을위한 대규모 시장도 시작되었습니다. 합법적으로 승인 된 중앙 당사자 또는 공동 목표를 가진 상호 불신 행위자의 컨소시엄에 의해 제어 되든, 개인 원장은 데이터 프라이버시를 유지하는 추가 기능과 함께 공개 원장과 동일한 미래 보장 및 불변성을 제공합니다..

주어진 원장이 공개이든 비공개이든, 블록 체인 생태계의 피어가 개인 정보 보호와 상호 작용할 수있는 능력을 뒷받침하는 것은 일반적으로 스마트 계약이라고하는 애플리케이션 클래스입니다..

이 기사는 나중에 DAML의 맥락에서 스마트 계약이 무엇이며 그 중요성에 대해 자세히 설명합니다..

지금 등록: 엔터프라이즈 블록 체인 기초 과정

DAML이란??

기술적 인 측면에서 DAML은 디지털 자산 모델링 언어 (DAML 전체 형식)를 의미하며 시맨틱 웹을위한 마크 업 언어입니다. 그러나 기술 용어가 혼동 될 수 있습니다. 따라서 더 간단한 DAML 의미의 경우 스마트 계약을위한 오픈 소스 언어로 생각하십시오..

기본적으로 DAML은 개발자가 다양한 블록 체인, DLT 또는 표준 데이터베이스 아키텍처에 대한 다자간 계약을 정확하게 코딩 할 수있는 스마트 계약 언어입니다..

Digital Asset에서 시작된이 애플리케이션 장르 (스마트 계약)에 새로운 생명을 불어 넣어 동료가 신뢰 환경에서 거래 할 수 있도록합니다. 기본적으로 이것은 Haskell에서 영감을 얻고 분산 된 비즈니스 워크 플로우를위한 스마트 계약 생성을 용이하게하는 프로그래밍 언어입니다..

특히,이 언어를 사용하면 개발자가 암호화 및 블록 체인의 너트와 볼트를 처리하는 데 소요되는 시간을 줄일 수 있습니다. 대신 개발자는 비즈니스 프로세스를위한 프로그래밍 솔루션 개발에 시간을 집중합니다..

DAML – 스마트 계약을위한 언어가 간단하게 설명 됨 

DAML의 속성

계약 작성 수단 제공

프로그래머가 스마트 계약을 작성하는 데 사용하는 다른 언어와 마찬가지로 DAML을 사용하면 동료가 계약을 체결하고 준수 할 수 있습니다. 특히, 언어는 계약 형성 과정, 계약의 주요 당사자 및 계약에 대한 위임 된 권한을 가진 당사자를 설명합니다..

계약의 형성 프로세스를 정의하는 것 외에도 언어는 개발자가 비즈니스 논리 만 다루면된다는 점에서 계약, 권리, 당사자, 권한 부여 및 의무와 같은 아이디어의 인코딩을 처리합니다. 암호화의 해싱 및 합의 알고리즘과 관련된 무거운 작업은 추상화되어 런타임에 의해 처리됩니다..

계약 요소를 네이티브 언어 기능으로 직접 표현한다는 것은 DAML 아키텍처가 시스템 코드에서 문제가 있는지 개발주기 초기에 자동으로 확인할 수 있음을 의미합니다. 또한 시스템은 비즈니스 로직에 대해 자체적으로 추론 할 수 있습니다..

오픈 소스입니다

2019 년 4 월 4 일, DAML의 배후 회사 인 Digital Asset은 프로그램의 소스 코드가 모든 개발자에게 무료로 제공 될 것이라고 발표했습니다. 이 프로젝트의 오픈 소싱은 서로 다른 당사자가 DAML을 사용하여 벤더 종속에 대한 두려움없이 블록 체인 기술을 통해 계약을 모델링하고 실행할 수 있음을 의미합니다..

발표에 따르면 개발자 및 기타 이해 당사자는 매우 관대 한 Apache 2.0 라이선스에 따라 DAML 언어, 소스 코드, 소프트웨어 개발 키트 (SDK) 및 런타임에 액세스 할 수 있습니다..

개인 실행 환경에서 사용 가능

공개적으로 분산 된 원장의 한 가지 단점은 플랫폼의 모든 노드가 스마트 계약에있는 데이터를 볼 수 있다는 것입니다. 따라서 거래 세부 정보를 비공개로 유지해야하는 피어는 퍼블릭 블록 체인 네트워크를 통해 거래하는 것이 불가능하다는 것을 알게됩니다..

특히 이것은 엔터프라이즈 블록 체인의 완전한 채택을 방해하는 하나의 주요 걸림돌입니다. 이것이 앞에서 언급했듯이 개인 DLT가 인기를 높이는 이유입니다..

DAML과 사설 DLT 플랫폼의 조합은이 경우에 대한 해결책을 제공합니다. 특히,이 표현 언어를 지원하는 팀은 개인 실행 환경에서 완벽하게 작동한다는 점에서 DAML을 최적화했습니다. 즉, 계약에 포함 된 정보는 권한이있는 당사자 만 액세스 할 수 있도록 비공개로 유지됩니다..

사람과 기계가 읽을 수 있음

DAML은 한 가지 이상의 의미에서 혁신적입니다. 특히 시스템의 설계는 기계와 사람이 계약서에 포함 된 정보를 이해할 수있는 방식입니다..

이 기능의 의미는 엄청납니다. DAML은 매우 인간 친화적이기 때문에 계약 형성에 관련된 전문가는 세부 사항을 쉽게 파악할 수 있습니다..

예를 들어 변호사는 계약의 DAML 인코딩을 읽고 평가하여 계약의 의미를 쉽게 이해할 수 있습니다. 동시에 DAML은 개발자가 현금 흐름, 고객 프로필 및 위험 노출과 같은 계약의 중요한 측면을 계산할 수 있도록 적절한 수준의 특수성을 제공합니다..

DAML은 어떻게 작동합니까? 빠른 기능적 DAML 튜토리얼

DAML은 다른 모든 스마트 계약 작성 언어와 거의 비슷하게 작동합니다. 특히, 언어는 언어 자체와 런타임이있는 두 가지 주요 수준에서 작동합니다..

언어는 기술의 주요 부분과 같습니다. 이것이 개발자가 계약서를 작성하고 거래를 촉진하는 데 필요한 모든 작업을 수행 할 수 있도록합니다..

언어와 런타임간에 매우 깔끔하고 추상화 된 API가 있기 때문에 런타임을 다양한 블록 체인, DLT 및 기타 플랫폼에서 실행하도록 조정할 수 있습니다..

이는 DAML을 지원하는 플랫폼간에 DAML 애플리케이션을 이식 할 수있는 유연성을 제공합니다. 이는 JVM을 지원하는 모든 플랫폼에서 Java 애플리케이션을 변경없이 실행할 수 있도록하는 JVM과 유사합니다..

SDK (소프트웨어 개발 키트)를 설치 한 후 개발자는 장치가 작업을 지원할 수있는 위치에 있도록 몇 가지 특정 파일 만 실행하면됩니다..

데이터 모델링

스마트 계약을 작성할 때 수행해야하는 가장 중요한 주요 작업 중 하나는 해당 계약과 함께 사용할 데이터의 모델링입니다. 일반적으로 데이터 모델링 기능은 복잡하며 계약이 얼마나 복잡한 지, 얼마나 많은 당사자가 참여하는지에 따라 데이터 구조가 매우 복잡해질 수 있습니다..

다른 스마트 계약 언어와 달리 DAML을 사용하면 개발자가 데이터 스키마를 즉시 지정하여 계약의 실행 언어에 직접 포함 할 수 있습니다. 이는 데이터 모델링 작업을 크게 단순화하고 데이터 스키마와 애플리케이션 로직 간의 불일치로 인한 오류 발생 가능성을 줄입니다..

더 읽어보기 : DAML 자습서 : DAML 시작하기

템플릿 개요 구조

DAML 개발자는 계약의 데이터 모델과 매개 변수를 모두 포함하는 “템플릿”이라는 간단하고 잘 정의 된 구조를 통해 계약을 지정합니다..

매개 변수에는 예를 들어 주어진 계약의 서명자 (계약에 대한 조치를 승인해야하는 참여자) 및 옵저버 (계약 내에서 계약을 확인하고 계약 내용을 확인하지만 승인되지 않은 참여자)이 포함됩니다. 조치를 취하기 위해). 템플릿 구조의 또 다른 측면에는 기본적으로 계약의 세부 사항과 계약 내용을 나타내는 계약이 포함됩니다..

템플릿은 계약 작성자가 특정 임계 값에 도달 한 경우에만 계약이 생성되도록하는 하나 이상의 전제 조건을 지정할 수 있습니다. 템플릿 개요 구조의 마지막 요소는 “선택”입니다. 이것은 계약 실행자가 행사할 수있는 선택의 범위를 정의합니다..

선택 구조

템플릿 내의 주요 구조는 템플릿의 특성에 따라 계약 당사자가 선택할 수있는 선택 사항을 자세히 설명하는 선택 구조입니다..

선택 구조는 선택을 행사할 책임이있는 컨트롤러 또는 당사자를 식별합니다. 이 구조의 다른 요소에는 소비성, 이름, 반환 유형, 선택 인수 및 선택 본문이 포함됩니다..

더 읽어보기 : DAML 교육 자습서

DAML과 스마트 계약 비교

스마트 계약 이해

앞서 설명한 것처럼 스마트 계약은 분산 원장 기술 (DLT)의 중요한 구성 요소입니다. 공개 블록 체인에서 두 명의 익명 당사자가 특정 거래를 촉진하기 위해 스마트 계약을 생성 할 수 있지만 데이터는 공개 원장에 저장됩니다. 즉, 네트워크의 모든 참가자가 거래의 세부 정보를보고 진위 여부를 확인할 수 있습니다. 따라서 신뢰의 집행이 가능합니다..

비공개 또는 허가 된 DLT에서는 모든 당사자가 알려져 있지만 특정 거래에 관련된 당사자 만 해당 거래의 데이터에 액세스 할 수 있습니다. 신뢰는 참가자가 액세스 권한이있는 모든 트랜잭션을 검증 할 수있는 메커니즘을 통해 유지됩니다..

스마트 컨트랙트는 차별화 된 특징을 가지고있어 혁명적입니다..

예를 들어, 스마트 계약은 정해진 기한 (트리거링 이벤트라고도 함)의 신호에 따라 시작되는 자체 실행 메커니즘을 가질 수 있습니다. 공용 네트워크에서 모든 이해 당사자는 이상을 식별 할 수 있도록 스마트 계약의 활동을 분석 할 수 있습니다..

또한 거래자는 스마트 계약을 사용하여 시장의 흐름을 파악할 수 있습니다. 여기에는 시장의 추세와 불확실성을 예측하는 기능이 포함됩니다..

스마트 계약에는 데이터 불변성을 포함하는 여러 가지 이점이 있습니다. 기본적으로 불변성은 원래 상태에서 데이터를 변경할 수 없음을 의미합니다. 즉, 데이터는 생각할 수있는 방식으로 삭제하거나 변경할 수 없습니다..

데이터의 불변성은 스마트 계약을 항상 정확하게 만듭니다. 셋째, 어떤 경우에는 스마트 계약을 통해 피어가 중개자없이 직접 거래 할 수 있습니다. 따라서 이러한 거래는 매우 저렴하며 때로는 한 푼도 들지 않습니다.

스마트 계약의 속성

의무 및 권리 증명

스마트 계약이 가져야하는 중요한 기능 중 하나는 전체 프로세스에 익숙하지 않고 거래 할 필요가 없다는 것입니다. 본질적으로 계약 체결에 동의하는 것은 전적으로 자발적이지만 그에 따른 결과는 의무적입니다. 따라서 사용자는 서명하는 계약의 향후 영향을 안정적이고 확실하게 고려해야합니다. 현명한 계약은 이것이 항상 사실임을 보장해야하며, 제대로하기가 매우 어려울 수 있습니다..

거래 유효성 확인

앞서 설명한 것처럼 계약 세부 정보에 대한 정보는 원장에서 쉽게 추적 할 수 있습니다. 따라서 이는 진정성과 유효성을 확인할 수있는 계약 요건을 충족합니다..

더 읽어보기 : 스마트 계약 사용 사례

DAML과의 비교

본질적으로, DAML은 기존 언어의 결함을 수정할 수 있다는 점에서 DAML이 스마트 계약의 하위 집합을 생성한다는 것이 분명합니다. 앞서 논의한 바와 같이, 공용 네트워크의 스마트 계약이 공용 원장에 데이터를 저장한다는 사실은 스마트 계약을 기밀 거래에 매력적이지 않게 만듭니다..

그러나 DAML을 사설 네트워크와 함께 사용하면 계약을 승인 한 당사자와 세부 정보를 볼 수있는 위임 된 권한이있는 당사자 만 계약 정보에 액세스 할 수 있습니다. 이것이 지식이 풍부한 관찰자들이이 언어가 금융 기관 및 거래 기밀성을 요구하는 다른 사람들에게 킬러 기능이라고 믿는 이유 중 하나입니다..

그럼에도 불구하고 스마트 계약을위한 언어로서의 DAML은 서면 계약을 공유 할 때 기존의 스마트 계약과 다릅니다. Solidity와 같은 스마트 계약 언어는 정보를 공개적으로 공유하므로 전체 네트워크가 세부 정보에 액세스 할 수 있습니다. 이것이 사람들이 DAML과 견고성에 대해 토론하는 이유입니다..

반대로 DAML로 작성된 계약은 알 필요가있는 경우에만 사용할 수 있습니다. 이는 바람직하지 않은 제 3자가 세부 정보에 액세스 할 수 없음을 의미합니다. 특히,이 언어는 데이터가 원하지 않는 당사자에게도 제공되지 않는 추가 보안 계층을 활용합니다..

DAML의 이점

오픈 소스

블록 체인 플랫폼은 불과 10 년이 지났지 만 빠르게 성장하고 있습니다. 오늘날 기술은 전례없는 속도로 산업에 혁명을 일으키고 있습니다. 이러한 빠른 성장의 이유는 블록 체인이 오픈 소스이며 모든 개발자가 특정 문제에 대한 최상의 솔루션을 제공하기 위해이를 수정할 수 있기 때문입니다..

흥미롭게도 DAML은 2019 년 4 월 4 일부터 오픈 소스입니다. 이는 개발자가 스마트 계약 및 블록 체인 생태계 전반에 관한 가장 혁신적인 솔루션을 만들기 위해 DAML 코드를 수정할 수있는 능력이 있음을 의미합니다..

더 읽어보기 : 블록 체인은 미래입니다?

개인 거래 활성화

전통적인 스마트 계약 언어에는 계약을 비공개로 할 수있는 강력한 제한이있는 기본 기능이 포함되어 있지 않습니다. 본질적으로 계약의 정보는 바람직하지 않은 제 3자를 포함한 모든 참가자가 액세스 할 수 있습니다..

그러나 앞서 논의한 바와 같이 DAML은 이러한 정보가 승인 된 당사자 만 액세스 할 수있는 추가 보안 계층을 통합합니다..

엔터프라이즈 블록 체인 채택 가속화

블록 체인이 엔터프라이즈 사용 사례로 전환됨에 따라 기술을 방해하는 문제 중 하나는 정보의 분산 특성입니다. 특히 앞서 논의한 바와 같이 이미 모든 참여자가 입장 전에 허가를 받아야하는 프라이빗 블록 체인 플랫폼을 만드는 등의 노력이 진행 중입니다..

그러나 기업은 여전히 ​​경쟁 업체가 자신의 전략을 눈치 채는 위협에 직면 해 있습니다. 그러나 DAML의 진입은 그 문제에 대한 잠재적 인 해결책입니다. 특히이 언어는 계약 데이터를 액세스 권한이있는 노드로만 제한하며, 계약 관련 정보는 다른 사용자에게 제공되지 않습니다. 따라서 기업은 변명의 여지가 없지만 기업 블록 체인의 잠재력을 활용해야합니다..

더 읽어보기 : 블록 체인 기술을 구현하는 기업

모델 정확성 검증을위한 내장 지원

블록 체인의 정교함을 감안할 때 대부분의 작업과 모델은 실험적이고 참신합니다. 따라서 모델의 정확성에 대한 지속적인 검증이 필요합니다. 운 좋게도 DAML은 모델의 정확성 검증이 자동으로 이루어지는 내장 지원을 제공합니다..

스토리지 추상화

DAML 런타임은 견고하며 언어를 기존 대안보다 우수하게 만드는 중요한 작업을 수행합니다. 예를 들어 런타임은 개발자가 계약의 논리에 집중할 수 있다는 점에서 원장의 세부 정보를 추상화합니다..

DAML과 다른 대체 스마트 계약 언어 비교

블록 체인 생태계는 여전히 성장하고 있으며 이는 표준 운영 시스템이 없음을 의미합니다. 이것은 또한 스마트 계약 작성에서 지배적 인 단일 언어가 없다는 것을 의미합니다. 따라서 DAML 외에 다른 많은 대안이 있습니다..

DAML 대 견고성

Solidity는 인기를 얻은 이더 리움 스마트 계약을 작성하는 최초의 언어 중 하나입니다. 이 인기는 이더 리움 블록 체인 플랫폼이 스마트 계약을위한 선호 네트워크 인 결과였습니다..

프로그래밍 언어로서 Solidity는 이더 리움 플랫폼을 지배합니다. 이 언어는 JavaScript와 유사한 고급 구문 및 스크립트를 사용합니다. 특히이 언어는 이더 리움 가상 머신의 향상에 매우 중요합니다. Hyperledger Burrow 및 Monax와 같은 여러 다른 사설 블록 체인은 기본 개발에이 언어를 사용합니다..

또한 Ethereum 개발자는 Solidity를 사용하여 소프트웨어 버전 0.4.0을 작성했습니다. 이 언어의 장점은 블록 체인 네트워크의 기능을 손상시키지 않는다는 것입니다..

또한이 언어는 Ethereum 가상 머신 (EVM)에서 실행되는 스마트 계약 생성에 필수적입니다. 이 언어는 스마트 계약에 내재 된 비즈니스 로직을 자체 강화하는 애플리케이션의 기능을 향상시킵니다. 결과적으로 Ethereum 생태계의 거래 당사자는 검증 가능성을 촉진하기 위해 거래에 대한 권위있는 기록을 남깁니다..

언어가 Haskell과 유사한 DAML과 달리 Solidity는 ECMAScript에 가까운 구문을 사용합니다. 그러나 Solidity에는 가변 반환 유형 및 정적 유형과 같은 추가 기능이 있습니다. 또한 Solidity로 작성된 계약은 C3 선형화로 촉진되는 다중 상속을 지원합니다..

Actulus 모델링 언어

블록 체인이 기업의 방향을 취하기 시작한 이래 다양한 금융 도메인 별 언어가 등장하여 초기 언어에서 확인 된 문제를 해결했습니다..

DAML 및 Solidity 외에도 Actulus Modeling Language (AML)는 연금 및 보험 부문의 계산 문제를 해결하는 데 도움이되었습니다. 특히 AML은 Edlund A / S와 IT University of Copenhagen을 통합 한 다자간 벤처 기업입니다..

일반적으로 다양한 설정에 적용되는 Java 및 C / C ++와 같은 언어와 달리 AML은 도메인에 따라 다릅니다. 즉, 언어가 특정 목적에 유용하거나 특정 플랫폼에서 실행되는 응용 프로그램을 만들 수 있습니다. 따라서 언어는 독립형 프로그램, 인터페이스 및 응용 프로그램을 만들 수 없습니다..

BOScoin 신탁 계약

이것은 웹 온톨로지 언어 (WOL)를 사용하여 스마트 계약을 생성하는 또 다른 대안 솔루션입니다. BOScoin은 항상 Timed Automata Language (TAL)를 사용하여 계약의 신뢰와 견고성을 강화합니다. 특히,이 언어는 분산 애플리케이션 (DApp) 생성을 용이하게하는 신뢰 계약을 생성합니다. 본질적으로 스마트 계약은 DApp의 신뢰할 수있는 특성을 강조합니다..

더 알아보기: dApp이란??

DAML과 마찬가지로 BOScoin은 Turing-Complete가 아닙니다. 대신 Ethereum 스마트 계약의 Turing-Complete 특성과 구별되는 언어를 결정할 수 있습니다. Ethereum 스마트 계약과 달리 BOScoin Trust Contracts는 포괄적이고 더 포함 된 온톨로지 언어를 사용합니다. 특히 이는 개발자가 신뢰할 수있는 계약을 제시 할 수있는 플랫폼을 팀이 만들어야하기 때문입니다..

DAML의 미래는 어떻게 될까요?

현명한 상황에서 블록 체인 환경은 스마트 계약 언어로 넘쳐납니다. 많은 언어로 인해 블록 체인 애플리케이션이 상호 운용되기 어렵고 블록 체인의 대량 채택이 지연됩니다..

흥미롭게도 Hyperledger 플랫폼은 Hyperledger Sawtooth에서 스마트 계약을 생성하는 DAML을 포함하여 6 개 이상의 언어를 사용합니다..

그러나 DAML 런타임의 추상화 기능은 전반적으로 생성 된 스마트 계약의 여러 버그 문제를 해결하는 데 도움이됩니다. 또한 DAML 응용 프로그램을 다른 플랫폼으로 이식 할 수 있습니다. Digital Asset의 플랫폼 외에도 VMware Blockchain 및 Sawtooth에 대한 DAML 지원이 발표되어 다른 플랫폼에서이를 채택 할 수 있음을 나타냅니다..

따라서 DAML 언어는 향후 수십 년 동안 범용 스마트 계약 언어가 될 가능성이 높습니다..

블록 체인 기술과 관련된 유사한 기본 주제에 대해 자세히 알아 보려면 무료 엔터프라이즈 블록 체인 과정을 확인하십시오..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me