일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 페이스북유니버시티 #마케팅교육 #마케팅캠프
- 블록체인 #layer2 #레이어2 #이더리움스케일링
- 자료구조 #알고리즘
- vp #vc #did #신원인증 #블록체인
- 미쉬킨의화폐와금융 #미쉬킨 #화폐금융론 #화폐와금융 #경제학 #교양 #경제지식 #경제공부
- html #js #parsing
- #경제상식 #화폐 #금융 #화폐금융론 #경제학 #경제기본 #경제지식 #경제근육 #투자지식 #경제공부 #경제학전공 #금융이란 #화폐란 #금융시장 #금융시장역할 #화폐역할 #화폐역기능 #금융역기능 #
- #국제채권시장 #유로본드 #유로커런시 #유로달러 #외국채 #금융중개기관 #간접금융 #거래비용#다우존스공업평균지수 #나스닥종합지수 #FTSE100 #DAX #CAC40 #straittimes #항생지수 #거래비용 #유동성 #위
Archives
- Today
- Total
평행우주 : world 1
[비트코인이론] 비트코인 거래 스크립트 본문
거래 스크립트
- 비트코인 거래 유효화는 고정 패턴에 기초한 것이 아니라 스크립트 언어를 실행함으로써 이루어진다
- 스크립팅 언어는 거의 무한대에 가까운 표현 가능한 조건을 만들 수 있다
- 바로 이 점이 '프로그램 가능한 화폐'를 만들게 된다
튜링 불완전성
- 비트코인 거래의 스크립트 언어는 많은 연산자를 포함하고 있지만, 한 가지 중요한 방법을 이용해 의도적으로 기능이 제한된다
- 스크립트 언어는 조건부 흐름 제어 기능 이외에는 루프나 복잡한 흐름제어 능력을 가지고 있지 않다
- 즉 튜링이 완전하지 않다 (비트코인 거래 스크립트는 복잡성이 제한되고 실행 시간 예측이 가능하다)
- 스크립트는 다용도 언어가 아니기 때문에 제한성이 있고,
- 그 덕분에 스크립트 언어는 무한 루프나 논리 폭탄 같은 형태를 만들 수 없다
+)이더리움은 비트코인 스크립트 언어의 이러한 한계점을 극복하기 위해 튜링완전한 솔리디티 등을 이용한다
무상태형 검증
- 비트코인 거래의 스크립트 언어는 무상태형이며, 스크립트 언어 내에서는 스크립트 실행 전후에 저장되는 상태가 없다
- 스크립트를 실행하는 데 필요한 모든 정보는 스크립트 내에 담겨 있다
- 스크립트는 어떤 시스템에서든 예측 가능하며 동일한 방식으로 실행된다
- 만약 어떤 스크립트가 유효하다면, 비트코인 네트워크 내에 존재하는 시스템 전체에서 해당 스크립트는 유효하다
- 즉 하나의 유효한 거래는 모두에게 유효하다
- 결과에 대한 예측 가능성이 비트코인 시스템의 핵심 이점이다
스크립트 구성(잠금 + 해제)
잠금스크립트
- 잠금 스크립트는 출력값에 위치하기 때문에 향후 출력값을 소비하기 위해 충족되어야 하는 요건을 명시하고 있다
- 잠금스크립트에는 보통 공개키 혹은 주소(공개키 해시)가 담겨있어 스크립트펍키라고도 부른다
해제스크립트
- 해제스크립트는 잠금스크립트가 출력값에 놓아 둔 조건을 해결하거나 충족시켜서 출력값이 소비될 수 있게 하는 스크립트다
- 해제스크립트는 모든 거래의 입력값에 들어있는 요소이다
- 대부분의 경우 사용자의 지갑이 개인키로부터 생성한 디지털 서명을 담고 있어 스크립트시그하고도 불린다
- 비트코인 거래 유효화 엔진은 거래를 유효화 하는 잠금-해제 스크립트에 의존한다
- 모든 비트코인 검증 노드는 잠금-해제스크립트를 함께 실행해 거래를 유효화한다
- 각 입력값에는 해제스크립트가 들어있고,
- 입력값들은 이전에 존재했던 UTXO를 참조한다
- 유효화 소프트웨어는 해제스크립트를 복사해서 입력값이 참조한 UTXO를 검색한 후에 해당 UTXO로부터 잠금스크립트를 복사한다
- 그후 해제스크립트와 잠금스크립트가 차례로 실행된다
- 해제스크립트가 잠금스크립트의 조건을 충족하는 경우 해당 입력값은 유효해진다
- 거래의 유효화 과정의 일부로 모든 입력값들이 개별적으로 유효화된다
스트립트 실행 스택
- 비트코인 스크립팅 언어는 스택 데이터 구조(후입선출)를 사용하는 스택 기반 언어이다
- 스택은 푸시 연산(최상부에 항목 추가)과 팝 연산(최상부 항목 제거)이 가능하다
실행
- 해제스크립트는 스택 실행 엔진을 이용해 실행된다
- 해제스크립트가 오류없이 실행되면,
- 메인스택이 복사되면서 잠금스크립트가 실행된다
- 해제스크립트로부터 복사된 스택 데이터와 함께 잠금스크립트의 결과가 TRUE라면
- 해제스크립트는 잠금스크립트가 부과한 조건을 해결한 것이다
- 따라서 해당 입력값은 UTXO를 소비하기 위한 유효한 승인이다
'텃밭 1 : BlockChain > 이론' 카테고리의 다른 글
[블록체인이론] 블록에 거래 추가 Workflow (0) | 2022.03.07 |
---|---|
[블록체인이론] UTXO와 Account 방식의 장단점 (0) | 2022.03.07 |
[블록체인이론] 거래 수수료 (0) | 2022.03.06 |
[블록체인이론] 지갑의 의미와 종류 (0) | 2022.03.06 |
[블록체인이론] 비트코인의 개인키와 공개키 (0) | 2022.03.06 |
Comments