"트러스트 컨트랙트"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(보스아고라의 설명)
(보스아고라의 설명)
31번째 줄: 31번째 줄:
 
웹 상에서 복수의 언어로 작성되는 프로그램을 클라이언트 애플리케이션을 사용하여 거의 네이티브에 가까운 속도로 실행하는 것은 이전에는 불가능했다. WebAssembly에서 코드를 실행하는 것은 실제 하드웨어와 유사하다. [[WebAssembly]]를 통해 개발자들은 C++, 러스트 등 다양한 프로그래밍 언어로 코딩할 수 있으며, 네이티브와 가까운 성능으로 프로그램을 실행할 수 있을 것으로 기대할 수 있다. 또한 [[EOS]], [[Ethereum]], [[Tron]], [[Cardano]]와 같은 많은 블록체인 플랫폼 또한 WebAssembly를 사용하여 가상 머신을 도입하거나 도입할 계획을 가지고 있다.
 
웹 상에서 복수의 언어로 작성되는 프로그램을 클라이언트 애플리케이션을 사용하여 거의 네이티브에 가까운 속도로 실행하는 것은 이전에는 불가능했다. WebAssembly에서 코드를 실행하는 것은 실제 하드웨어와 유사하다. [[WebAssembly]]를 통해 개발자들은 C++, 러스트 등 다양한 프로그래밍 언어로 코딩할 수 있으며, 네이티브와 가까운 성능으로 프로그램을 실행할 수 있을 것으로 기대할 수 있다. 또한 [[EOS]], [[Ethereum]], [[Tron]], [[Cardano]]와 같은 많은 블록체인 플랫폼 또한 WebAssembly를 사용하여 가상 머신을 도입하거나 도입할 계획을 가지고 있다.
  
도입 계획의 타당성을 연구하여 해결책이 발견되면, 본 백서에 제시된 "Trust Contract"의 목적과 방향을 완성하기 위한 기술적, 실용적 조치를 취할 것이다.<ref>보스아고라 백서 - 〈[https://bosagora.io/wp-content/uploads/2020/01/BOSAGORA-Whitepaper-Ko.pdf BOSAGORA Whitepaper]〉, 2017-04-07</ref>
+
도입 계획의 타당성을 연구하여 해결책이 발견되면, 본 백서에 제시된 "Trust Contract"의 목적과 방향을 완성하기 위한 기술적, 실용적 조치를 취할 것이다.<ref>보스아고라 백서 - 〈[https://bosagora.io/wp-content/uploads/2020/01/BOSAGORA-Whitepaper-Ko.pdf BOSAGORA Whitepaper]〉, 2020-01-16</ref>
  
 
{{각주}}
 
{{각주}}

2020년 2월 20일 (목) 10:51 판

트러스트 컨트랙트는 보스코인에서 최초로 제안한 스마트 컨트랙트의 개선안이다. 현재는 보스아고라프로젝트에서 계승하여 진행중이나 초기의 컨셉과 다른 방향으로 개발 중인것으로 보인다.

보스코인의 설명

트러스트 컨트랙트(trust contracts)란 아울체인(OWLchain)이라 불리는 결정가능성을 가지는 프레임워크에 기반하여 안전하게 실행되는 계약을 말한다. 아울체인(OWLchain)은 온톨로지 웹 언어(OWL; Ontology Web Language)와 타임드 오토마타 언어(TAL; Timed Automata Language)로 구성되어 있다. 아울체인이라 불리는 결정가능성을 가진 프로그래밍 프레임워크에 기반하여 안전한 계약을 보장하며, 기존 스마트 계약의 결정불가능성으로부터 발생되는 문제들을 극복할 수 있다. 온톨로지 웹 언어(OWL)의 목적은 기존의 웹 표준 기술들의 조합을 통해 인터넷 상에서 정보의 신뢰성을 제공하는 것이다. 보스코인 블록체인 위에 만들어진 아울체인에 기반한 계약을 트러스트 컨트랙트라고 한다. 이 아키텍처는 표현력을 확장하면서도 계약이 안전하고 정확하게 실행되도록 지원할 수 있는 결정가능성을 유지하도록 설계되어 있다. 아울(OWL)과 RDF 모두 모호하지 않은, 구조화된 데이터 분류체계를 작성하는데 사용될 수 있다. 보스코인은 온톨로지 웹 언어(OWL)를 트러스트 컨트랙트의 기반 언어로 선택했다. 그 이유는 OWL은 이전에 제시된 사실 또는 공리의 집합에서 논리적인 결과를 추론하는 도구인 Reasoners를 사용하여 P-TIME 복잡성을 보장하기 때문이다. 가기.png 보스코인에 대해 자세히 보기

보스아고라의 설명

초기 보스코인 백서에서 Trust Contract에 대해 다음과 같이 설명하고 있다 : “Trust Contracts란 Owlchain이라 불리는 프로토콜 레이어에 기반하여 안전하게 실행되는 계약을 말한다. Owlchain은 Web Ontology Language와 Timed Automata Language로 구성된다. Trust Contracts는 Owlchain이라 불리는 결정가능성을 가진 프로그래밍 프레임워크에 기반하여 안전한 계약을 보장하며 기존 스마트 컨트랙트의 결정불가능성(non-decidable)으로부터 발생되는 문제들을 극복한다.”[1]

이 아키텍처의 궁극적인 목표는 안전하고 정확한 실행을 보장하는 동시에 확장성을 극대화하는 데 있어 결정가능한(decideable) 계약을 구축하는 것이다. 이 목표를 달성하기 위해, 초기 백서는 두 가지 방법론을 언급한다. 하나는 가상 머신에서 유연한 프로그래밍 언어를 사용하는 것이고, 다른 하나는 그에 비해 덜 유연하지만 특정 도메인의 언어를 사용하는 것이다. 초기 계획은 후자의 방향으로 결정되어 있었다.

초기의 개발팀은 시맨틱웹 기술을 바탕으로 추론 엔진을 연구하였으나 성과가 없었고. 또한 이 문제를 극복할 수 있는 방법이나 기술 연구의 결과가 없었다.

온톨로지(Ontology)는 개념의 명시적 규격이다. 이 용어는 시스템적으로 존재한다는 철학적인 뜻에서 차용되었다. 온톨로지(Ontology)는 존재에 대한 체계적인 설명을 가능케 하는 철학 지식 기반 시스템, 즉 "존재한다" 라는 것을 정확하게 나타낼 수 있는 방법이다. 도메인에 대한 지식이 특정한 형태를 갇추어 표현될 때, 표현할 수 있는 대상의 집합을 논의 영역(universe of discourse)이라 한다. 대상의 집합과 그들 사이의 설명 가능한 관계는 지식 기반 프로그램이 지식을 나타내는 표현 어휘에 반영된다. 따라서, 일련의 표현 용어를 정의함으로써 프로그램의 온톨로지를 설명할 수 있다.”[2]

“온톨로지는 특정 영역에서 공유할 수 있는 개념화의 공식적이고 명시적인 규격이다.”

온톨로지는 오랫동안 인공지능과 자연어 처리 분야에서 연구 개발되어 왔다. 이는 컴퓨터가 관계와 정의로부터 주어진 정보를 이해할 수 있게 해준다. 이를 근거로, 컴퓨터는 결국 요청된 정보를 추론하게 될 것이다.

하지만 현실 세계에서 온톨로지를 구축하는것, 즉 세상의 사물에 대한 관계를 정립한다는 것에는 많은 노력과 시간이 필요하다. 탈중앙화된 일반 대중이 추론 엔진의 기능이 완성될 때까지 추론 엔진의 의미에 대해 작업하는 것은 어려울 뿐만 아니라, 엔진의 사용에도 한계가 있고 입력 값에 따라 결과를 검증하는 것도 어렵다. 그리고 현재 추론 엔진을 여러 상황에 쉽게 사용할 수 있는 상용화된 기술은 존재하지 않는다.

또한, OWL에서 구현된 의미론적인 소스 코드를 분석하여 Time Automata Language 기반 검증을 자동화하기는 더욱 어렵다. 소스 코드의 복잡성이 증가함에 따라 검증 대상 수가 기하급수적으로 증가하여 검증이 거의 불가능하다. OWL을 계약서 작성에 사용할 경우, 복잡하고 상세한 사양을 요구하게 되며, 예측 가능하고 현실적인 계약서를 작성하는 과정이 너무 어려워서 검증하기 어렵다면 이용자로 하여금 해당 기술을 사용하도록 장려할 수 없다.

BOSAGORA 팀은 최초의 의도대로 안전하고 정확한 프로그램 가능하며 실행할 수 있는 계약을 가능하게 하는 Trust Contract의 개발을 목표로 한다.

실현 불가능한 것을 계속하기보다는 ‘Trust Contract’를 재정의하고, 최적의 방향의 선정과 핵심기능 개발을 위해 적절한 기술 적용을 적극적으로 추진하겠다. 또한 가상 머신 위에 유연한 프로그래밍 언어를 사용하는 방법론을 채택하는 것을 고려하고 있으며, 우리는 현재 다른 업계 경쟁사들과 같이 WebAssembly를 연구하고 있다. 결국, 우리는 효율적이고 안전하게 설계된 Smart contract 엔진을 제공하고 개발자들이 쉽게 채택할 수 있도록 많은 도구와 인기 있는 개발하기 쉬운 언어를 제공할 생각이다.

WebAssembly는 최신 웹 브라우저에서 실행할 수 있는 새로운 종류의 코드다. 이는 상당한 성능이점을 제공한다. "WebAssembly는 스택 기반 가상 머신의 이진 명령 형식이다. WebAssemblyC/C++/Rust와 같은 고도의 언어를 컴파일하기 위한 휴대용 타겟으로 설계되어 있어 클라이언트 및 서버 애플리케이션을 웹상에 배포 가능하게한다."

웹 상에서 복수의 언어로 작성되는 프로그램을 클라이언트 애플리케이션을 사용하여 거의 네이티브에 가까운 속도로 실행하는 것은 이전에는 불가능했다. WebAssembly에서 코드를 실행하는 것은 실제 하드웨어와 유사하다. WebAssembly를 통해 개발자들은 C++, 러스트 등 다양한 프로그래밍 언어로 코딩할 수 있으며, 네이티브와 가까운 성능으로 프로그램을 실행할 수 있을 것으로 기대할 수 있다. 또한 EOS, Ethereum, Tron, Cardano와 같은 많은 블록체인 플랫폼 또한 WebAssembly를 사용하여 가상 머신을 도입하거나 도입할 계획을 가지고 있다.

도입 계획의 타당성을 연구하여 해결책이 발견되면, 본 백서에 제시된 "Trust Contract"의 목적과 방향을 완성하기 위한 기술적, 실용적 조치를 취할 것이다.[3]

각주

  1. 보스코인 백서 1.0 - 박한결, 박창기, 최예준, 최현덕, 〈The BOSchoin White Paper - BOScoin, 스스로 진화하는 암호화폐 플랫폼〉, 2017-04-07
  2. A Translation Approach to Portable Ontology Specifications 〈A Translation Approach to Portable Ontology Specifications
  3. 보스아고라 백서 - 〈BOSAGORA Whitepaper〉, 2020-01-16