마스트

해시넷
1621141 (토론 | 기여)님의 2019년 8월 8일 (목) 11:59 판 (새 문서: '''마스트'''는(Merklized Abstract Syntax Trees)는 Bitcoin에 제안 된 추가 기능으로, 더 작은 거래 규모, 더 많은 개인 정보 보호 및 더 큰 스마트 계...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

마스트는(Merklized Abstract Syntax Trees)는 Bitcoin에 제안 된 추가 기능으로, 더 작은 거래 규모, 더 많은 개인 정보 보호 및 더 큰 스마트 계약을 허용한다. 이 게시물에서는 MAST의 기본 사항을 살펴보고 잠재적 이점을 설명하고 Bitcoin Protocol에 추가하기위한 현재 제안 중 일부를 요약한다.

소개

현대 암호 시스템의 맥락에서 공통 주제 분산 트러스트 네트워크를 만드는 것이다. 이들 대부분 설계, 계약의 영구 저장이 필요하다. 그러나 영구 스토리지는 주요 성능이 될 수 있다. 비용 병목 현상. 결과적으로 좋은 코드 압축체계는 이러한 계약 기반 암호화 시스템을 확장하는 데 중요한 요소이다. 이 프로젝트를 위해 우리는 공식화하고 Merkelized Abstract Syntax Tree라는 데이터 구조(MAST)는 데이터 무결성과 압축을 모두 해결한다. MAST를 사용하면 원격으로 실행될 계약 프로그램을 간결하게 표현할 수 있다.[1]

데이터 구조

MAST는 Merkle Trees 와 AST (Abstract Syntax Trees)의 특성을 결합하여 프로그램을 간결하고 안전하게 표현한다. 머클 트리는 데이터의 무결성을 효율적으로 검증하는 데 사용 저장, 데이터 블록은 리프 노드에 저장되며 비 리프 노드는 하위 노드의 레이블 해시이다. 비트 코인 블록 체인에서 머클 트리는 현재 거래 내역을 효율적으로 저장하는 데 사용된다. AST, 반면에, 프로그램의 구문 구조를 나타낸다. 프리미티브는 AST의 리프 노드에 있으며 비 리프 노드는 프로그래밍 작업을 나타내고 제어 흐름 메커니즘 MAST에서 트리의 루트는 다른 모든 노드는 서브 프로그램을 나타낸다. 트리의 각 경로는 다른 실행 분기이다.[1]

구현

마스터노드

  • 마스트노드는 문자열 내용과 부모 포인터로 구성된다.
  • 문자열 내용은 실행할 수있는 코드이며 마스터 노드는 여러 개의 자식을 가질 수 있다.
  • 각각은 서로 다른 프로그램 실행 분기를 나타내며 addBr 메소드를 통해 새 분기를 추가 할 수 있다.
  • 경로를 따라 각 노드의 모든 문자열 내용 결합 따라서 마스트 에서 하나의 가능한 경로에 대한 코드를 생성한다.[1]

평가와 전망

이 프로젝트의 주요 영향은 응용 프로그램에 있다. 계약을 활용 한 기존 환경, 마스트 도입은 기존에 큰 영향을 줄 수 있다. 비트 코인 계약에서 네트워크의 분산 노드 사이의 코드 전송에 이르는 문제, 이 마스트 구현에 대한 잠재적 개선 사항은 다음과 같다.

  • 분산 구조 및 실행에 대한 더 큰 지원
  • 또는 더 큰 확장 성을 허용하는 프레임 워크 추가
  • 이 데이터 구조의 사용자에 의해 완벽한 통합
  • 비트 코인은 저장된 데이터의 양을 줄임
  • 블록 체인을 통해 더 많은 성과를 거둘 수있게 될 것
  • 우리가 모델링 한 의지와 같은 복잡한 거래[1]

각주

  1. 1.0 1.1 1.2 1.3 마스트〉,《GitHub》

참고자료

  • 제레미 루빈,〈마스트〉,《GitHub》</ref>