Home / Knowledge / 비트코인 거래와 거래 스크립트의 원리

비트코인 거래와 거래 스크립트의 원리

거래로 생각하기 1

거래로 생각하기 2

모든 비트코인 거래는 거래가 유효한 조건을 설명하는 작은 프로그램을 실행합니다. 이 놀라운 행동은 비트코인 위에 다양한 계약을 구성하는 데 활용될 수 있습니다. 이 기사에서는 기본 거래 스크립트가 원리적으로 어떻게 작동하는지 배울 것입니다.

새로운 거래는 자신의 입력 필드의 거래 스크립트와 이전 거래의 거래 스크립트가 참으로 검증될 경우 유효합니다.

거래로 생각하기 3

그림: 출력 거래는 스크립트 프로그램이 부울 TRUE를 결과로 내야만 유효합니다. 스크립트는 두 개의 스크립트 블록으로 구성되어 있으며, 스크립트의 실행 순서는 다음과 같습니다: 먼저 OutputTX의 ScriptA가 실행되고, 그 다음 InputTX의 ScriptB가 실행됩니다.

스크립트 언어는 스택 기반으로, 이는 각 데이터, 입력 또는 출력이 다른 데이터의 스택에 놓인다는 것을 의미합니다. OutputTX의 스크립트가 먼저 실행됩니다: 즉, 리디머의 코드입니다. 그러나 스크립트가 완전히 실행되기 전에 중단하고 거래를 유효하다고 표시하는 것은 불가능합니다. 마지막으로 InputTX의 ScriptB가 실행되고 프로그램이 종료될 때 반환 값이 OutputTX가 유효한지 여부를 결정합니다.

증명 가능한 사용 불가능한 거래

널 거래는 아마도 가장 간단한 거래입니다.

거래로 생각하기 4

이 거래는 항상 유효하지 않습니다. ScriptA에 어떤 코드가 있든, ScriptB가 실행될 때 OP_RETURN op-code가 거래 스크립트의 실행을 중단하고 FALSE로 검증합니다. 이 패턴은 종종 블록체인에 데이터를 인코딩하는 데 사용됩니다. OP_RETURN 이후에는 임의의 데이터를 삽입할 수 있습니다. 장점은 간단한 비트코인 노드가 거래를 잘라내어 메모리를 절약할 수 있고, 전체 노드는 이를 보유할 수 있다는 것입니다. 이는 데이터를 저장하기 위해 블록체인을 ‘오용’할 때 좋은 행동으로 간주됩니다.

누구나 사용할 수 있는 거래

거래로 생각하기 5

첫 번째 거래의 출력 스크립트가 비어 있다면, 리디밍하는 두 번째 거래는 스택에 TRUE를 간단히 넣어 거래를 유효하게 만들 수 있습니다. 운이 좋다면 그러한 ‘비어 있는’ 거래를 발견할 수 있는 사람이라면 누구나 할 수 있습니다. 누구나 사용할 수 있는 거래는 현재 비표준이며, 네트워크에서 방송되지 않습니다. 그러나 미래에 중요한 역할을 할 수 있습니다, 예를 들어 신뢰 채권과 같은 경우에.

생성 거래

일반적으로 비트코인 거래는 이전 거래(입력 거래)에 대해 검증됩니다. 채굴자가 해시 경쟁에서 이기고 상금을 리디밍할 때, 이전 거래는 없습니다. 그는 공개적으로 알려진 채굴 수수료로 Input TX를 간단히 생성합니다. 그러한 거래를 리디밍하는 것은 Input TX의 공개 키의 유효한 서명을 제공할 수 있는 누구에게나 허용됩니다, 즉 채굴자 자신입니다.

거래로 생각하기 6

이제 스크립트를 단계별로 실행할 시간입니다. 거래 스크립트는 스택에서 실행됩니다. 처음에는 스택이 비어 있고 프로그램은 다음과 같습니다:

OP_CHECKSIG

  1. 먼저 프로그램은 첫 번째 토큰을 읽고, 데이터이므로 스택에 넣습니다. 이는 권한 있는 리디머의 개인 키로 암호화된 데이터 조각이어야 합니다.
  2. 이제 두 번째 토큰도 데이터이므로 pubkey를 스택에 넣습니다. pubkey는 리디머의 공개 키(해시되지 않은 비트코인 주소)입니다. 이 두 작업이 끝나면 스택은 다음과 같습니다:

거래로 생각하기 7

다음 토큰은 연산입니다. OP_CHECKSIG는 스택에서 첫 번째 인수를 가져와 두 번째 인수를 검증합니다. 기본적으로 공개 키로 열려고 시도합니다. 성공하면 true를 반환하여 거래 Output TX를 유효하게 만듭니다.

우리는 보았습니다: 개인 키의 소유자만 생성 거래를 리디밍할 수 있으며, 그는 운이 좋은 채굴자입니다.

단순 거래

표준 거래 스크립트는 다음과 같습니다:

거래로 생각하기 8

따라서 전체 스크립트는 다음과 같습니다:

OP_DUP OP_HASH160

OP_EQUALVERIFY OP_CHECKSIG

프로그램의 실행을 단계별로 살펴보겠습니다:

  1. 두 개의 데이터 토큰이 프로그램의 처음 두 단계에서 스택에 놓입니다.
  2. 연산 OP_DUP는 스택의 첫 번째 요소를 복제하여 다음과 같이 만듭니다:
  3. 연산 OP_HASH160은 스택의 첫 번째 요소를 해시하여 다음과 같이 만듭니다:
  4. 스택에 놓입니다:
  5. 연산 OP_EQUALVERIFY는 스택의 첫 번째 두 요소를 비교합니다. 실제로 이것은 조합된 연산입니다: OP_EQUAL과 OP_VERIFY가 실행됩니다. OP_EQUAL은 두 요소가 같으면 스택에 TRUE를 놓습니다. OP_VERIFY는 스택의 최상위 요소가 참이면 거래를 유효하다고 표시하고, 참이면 최상위 스택 요소를 제거하며, 거짓이면 그대로 둡니다. 일반적으로 스택에서 실행되는 명령은 스택에서 매개변수를 가져오고 결과를 스택에 놓습니다. 따라서 OP_VERIFY는 거짓일 때 정상적으로 작동하며, 결과를 스택에 남깁니다. 그러나 참일 때 비정상적으로 작동합니다. 결과 TRUE를 스택에서 제거하여 다음 매개변수로 진행합니다. 긍정적인 검증의 결과는 다음과 같습니다:
  6. 마지막으로 스택의 서명이 생성 거래와 동일한 방식으로 OP_CHECKSIG로 검증됩니다. 검증이 성공하면 TRUE가 반환됩니다.

따라서 단순 거래는 전혀 단순하지 않습니다. 먼저 리디머가 주장하는 공개 키가 Input TX에 있었던 것과 동일한지 증명한 다음, 리디머가 거래의 서명을 검증하여 올바른 비밀 키를 가지고 있는지 확인합니다.

결론

이 기사에서는 거래 스크립트가 지불자의 입력 스크립트와 이전 거래의 출력 스크립트로 구성된다는 것을 배웠습니다. 스크립트는 거래가 유효하다고 간주되기 위해 TRUE로 검증되어야 합니다. 우리는 스크립트가 단계별로 실행되는 방식을 보았습니다.

이 지식을 바탕으로 다중 서명, 에스크로 및 스마트 자산과 같은 더 고급 계약에 대해 배울 수 있습니다.

참조

opcodes 및 스크립트의 세부 설명: https://en.bitcoin.it/wiki/Script

일부 고급 거래 스크립트: https://en.bitcoin.it/wiki/Contracts

비트코인에 대한 기술적 소개: youtube.com/watch?v=Lx9zgZCMqXE

비트코인 프로토콜이 실제로 작동하는 방식: michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works

비탈릭 부테린의 비트코인 프로그래밍 소개: https://bitcoinmagazine.com/articles/developers-introduction-bitcoin-1388634312

관련 기사

전통 금융이 기관들이 비트코인의 하락세를 매수하면서 암호화폐로 급속히 진입하고 있다: Axios 1

전통 금융과 비트코인의 급속한 진입

전통 금융 기관들이 암호화폐에 대한 회의감을 떨쳐내고 있으며, 이 변화는 2026년에 가속화되고 있습니다. 은행, 중개업체 및 거래소는 소매 투자자, 기관

댄 로브가 첫 임기의 마지막 시간에 로스 울브리히트 감형에 대한 트럼프에 대한 법무부의 위협을 공개하다 1

트럼프의 로스 울브리히트 형량 감형 결정

헤지펀드 매니저 댄 로브는 2021년 1월 트럼프의 첫 임기 마지막 시간에 법무부가 도널드 트럼프 대통령을 위협했다고 공개적으로 주장하며, 로스 울브리히트,

암호화폐 산업의 거물들이 상원에 개발자 보호 조항이 포함된 명확성 법안을 통과시킬 것을 촉구하다 1

블록체인 개발자 보호 조항이 포함된 법안 촉구

암호화폐 산업의 가장 저명한 CEO와 창립자 60명 이상이 6월 9일 존 튠 상원 다수당 원내대표와 척 슈머 소수당 원내대표에게 서한을

5년이 지난 지금, 엘살바도르는 여전히 비트코인을 구매하고 있다. 1

엘살바도르 비트코인 현황

어제 5년 전, 엘살바도르 의회는 62대 22로 세계 최초의 비트코인 법안을 통과시켜, 이 작은 중앙 아메리카 국가가 비트코인을 법정 통화로

세컨드 론치, 비트코인 메인넷에서 바크 출시, 셀프 커스터디 UX 격차 목표로 설정 1

바크: 비트코인 메인넷에서 혁신적인 솔루션

두 번째로, 비트코인 개발 연구소가 비트코인 메인넷에서 아크 프로토콜의 구현인 바크를 공식 출시하여 개발자와 일반 사용자 모두가 전통적으로 라이트닝 네트워크나

코인베이스 임원: 대규모 기관들이 비트코인의 폭락을 사들이고 있다 1

코인베이스의 비트코인 매수 전략

비트코인은 2024년 10월 이후 처음으로 $60,000 아래로 떨어졌으며, 최저 $59,099까지 하락했습니다. 이는 $126,000에 가까운 사상 최고치에서 50% 이상 하락한 것을