블록체인허브 (blockchainhub.kr) - 블록체인 포털
홈 > 포럼 > 오리지날 Bitcoin 이야기
포럼포럼   오리지날 Bitcoin 이야기 Original Bitcoin인 비트코인SV(BSV) 관련 Topic들을 다룹니다. website twitter twitter

[BSV] 비트코인의 지불 채널(Payment Channels) 과 스마트컨트랙트(Smart Contracts) by Wei …


  • 이 글은 nChain 의 수석연구원 Wei Zhang 의 아래 링크 글을 번역한 글입니다. (번역과 게시에 대한 원작자의 사전허락을 득하였습니다.) 제가 이해한 내용을 바탕으로 일반인들이 이해하기 쉽게 의역이 추가 되어 오역이 있을 수 있습니다. 오역과 의견에 대한 댓글 부탁드립니다.
  • 원글 : https://nchain.com/en/blog/payment-channels-smart-contracts-bitcoin/

사람들은 흔히 비트코인은 다른 블록체인들에 비해 스마트컨트랙트에 덜 적합하다는 오해를 하고 있다.

비트코인의 스크립트 언어는 가능한 원시적인 형태(OP 코드)로 설계되어 있다. 이러한 OP 코드들의 조합은 외부의 공격 가능한 요소를 의도적으로 최소화 함으로써 최고 수준의 보안성을 확보하게 된다. 하지만 이러한 방식이 때때로 사람들로 하여금 비트코인의 잠재력을 과소평가 하게 만든다. 사실 비트코인 스크립트 언어자체에만 주목 하다보면 이 비트코인 스크립트 언어가 가지고 있는 더 다양한 흥미로운 특징들을 간과하게 되는 위험이 뒤따르게 된다. 비트코인이 스마트컨트랙트에 어떻게 적합한지 이해하기 위해서는 비트코인 트랜잭션들간의 전체 흐름에서 각각의 단계가 어떤 역할로 작동하는지 가까이(자세히) 그리고 멀리서도 살펴볼 필요가 있다.

이렇게 살펴보다 보면 비트코인상에 스마트컨트랙트를 구현하는 많은 방식이 존재함을 분명히 알 수 있다. 대략적으로 다음과 같이 요약할 수 있겠다.

  1. 스마트 잠금(locking) 스크립트
  2. 스마트 서명해시 플래그(sighash flags)의 사용
  3. 지불 채널(payment channels)

이 글은 이 셋중 어떻게 지불 채널이 비트코인을 스마트컨트랙트에 적합하게 만드는지에 대한 내용을 담고있다.

지불채널이 무엇인가?

지불 채널이란 비트코인 트랜잭션을 통해 거래 당사자들이 소통하는 채널을 말한다. 모든 소통하는 정보는 비트코인 트랜잭션내에 표현된다.

몇가지 필수 사전 지식

각각의 비트코인 트랜잭션은 하나이상의 인풋(input)을 가질 수 있다. 그리고 각각의 인풋은 시퀀스 넘버(sequence number)라는 파라미터를 가지고 있다. 이 숫자는 해당 인풋이 최종본인지 아닌지를 나타내게 된다. 만약 이 값이 최대값(0xFFFFFFFF)이 아닐 경우 트랜잭션 검증 프로세스는 락타임(locktime) 값을 추가적으로 체크하게 된다. 이 락타임은 비트코인 트랜잭션에 정의되어 있으며 이 것은 해당 트랜잭션이 언제 유효(valid)하게 되는지를 나타낸다. 현재시간이 비트코인 트랜잭션에 설정된 락타임을 지나야 해당 트랜잭션이 유효하게 되는 것이다. 락타임을 미래로 설정함으로써 이 락타임의 기능을 유용하게 쓸 수 있다. ( 가장 먼 미래의 락타임으로 현재 시간으로 부터 9,500년 이후를 설정할 수 있을것이다.) 설정된 락타임이 도래하기 전에 더 높은 시퀀스 넘버를 가진 새로운 버젼의 트랜잭션이 만들어 진다면 더 낮은 시퀀스 넘버를 가진 트랜잭션은 무효화 되고 이전 버젼(낮은 시퀀스넘버) 트랜잭션의 동일한 인풋을 더 높은 시퀀스 넘버를 가진 트랜잭션이 사용(spend)할 수 있게 된다. (역자주: RBF(Replace by Fee)와 비슷하게 동작한다 생각 할 수 있으나 RBF는 유효한 이전 트랜잭션보다 높은 수수료로 이전의 유효한 트랜잭션을 앞질러서 블록에 담기게 할 수 있는기능이지만 locktime 과 시퀀스 넘버는 현재는 무효한 트랜잭션을 유효하게 바꿀 수 있다는 점에서 완전히 다른 목적으로 사용된다고 할 수 있다.)

이 기능은 오리지날 비트코인 프로토콜에 이미 있으며 나카모토 지불 채널(Nakamoto Payment Channel)이라 알려진 지불 채널 형태에 있어서 필수적인 요소라 할 수 있다.

비트코인상의 스마트 컨트랙트 기본형태

이제 설명할 스마트 컨트랙트 기본형태의 핵심 요소는 펀딩 트랜잭션(funding transaction)이라 불리는 것이다. 이 트랜잭션이 온체인에 기록되는즉시 지불 채널이 열리게 된다.

전형적인 펀딩 트랜잭션은 다음과 같이 되어있다.:

f6719aa8bd68686306f1898827ba16c7_1572928665_6717.png
 

그리고 이러한 펀딩 트랜잭션에 해당하는 환불 트랜잭션(refund transaction)이 또한 존재하게 된다. 이것은 락타임이 지난 후 초기 자금을 참가자에게 되돌려 주게 되는 트랜잭션이다.

f6719aa8bd68686306f1898827ba16c7_1572928692_197.png
 

일단 트랜잭션 TxIDo 가 블록체인에 기록되고 나면 펀딩 트랜잭션내에 명시된 계약내용대로 지불채널이 열리게 된 것이다. 이후 앨리스와 밥간에 일어나는 모든 소통은 비트코인 트랜잭션을 통하게 된다. 이러한 트랜잭션들은 비트코인 프로토콜과 호환되어야 하는것 뿐만 아니라 지불채널에 명시된 규칙을 따라야 한다. 이 소통을 위한 트랜잭션의 검증은 각 참여자에 의해 이루어 질 수 있다. 이과정을 간단히 요약하면 다음과 같다. :

1. 앨리스(Alice)는 그녀의 제안을 담은 트랜잭션을 그녀의 서명과 함께 밥(Bob)에게 전달한다.

2. 밥은 앨리스에게 받은 트랜잭션의 내용(제안)을 확인한다.

a. 만약 앨리스에게 받은 제안이 마음에 들 경우 밥은 그 트랜잭션에 자신의 서명을 더한 후 앨리스에게 다시 돌려준다. 이 행위는 지불 채널의 체크포인트(Check Point)가 된다.(가장 마지막으로 서로 합의한 트랜잭션)b. 만약 앨리스에게 받은 제안이 마음에 들지 않으면 밥이 원하는 제안 내용을 수정 한 트랜잭션을 작성하여 앨리스에게 다시 돌려준다.

3. 각각의 수정된 트랜잭션은 시퀀스 넘버를 1씩 더하여 간다.

4. 앨리스와 밥은 제안 내용을 확정짓기 전까지 1. ~ 3. 의 행위를 반복한다.

어떻게 이것이 스마트 컨트랙트 인가?

우리는 계약이 자동화 될 수 있고, 강제화될 수 있고, 무신뢰를 요구 할 수 있다면 그 계약은 스마트 하다고 말할 수 있다. 이런 스마트 컨트택트의 요건을 하나씩 검증해보자.

자동화

앨리스와 밥 양측의 행동은 완전히 자동화 될 수 있다. 펀딩 트랜잭션을 생성할 때 계약 이행에 관련한 프로그램 소스코드를 OP_RETURN 상에 기록할 수 있다. 해당 트랜잭션에 양쪽 계약당사자의 서명이 포함되었다는것은 계약 프로그램의 자동화 내용이 확인되었고 앨리스와 밥에 의해 승인되었다는것을 시사한다.

강제화

만약 계약 당사자중 한쪽이 사기를 치려고 한다면 다른쪽이 단순히 마지막으로 합의된 계약 이행 트랜잭션을 블록체인에 전파 해버리면된다. 비트코인 트랜잭션의 특성상 마지막으로 합의(양측이 서명한)된 트랜잭션의 내용을 어느한쪽이 독자적으로 수정하여 더 많은 이득을 취하는것이 불가능 하다. 다른말로 펀딩 트랜잭션과 환불 트랜잭션의 쌍으로 인해 강제화를 가능케 하는 것이다.

신뢰

지불채널은 앨리스와 밥이 상호간의 신뢰를 필요로 하지 않는다. 일단 펀딩 채널이 블록체인에 기록되면 합의를 위해 지불 채널을 위해 서로 소통을 해야 할 것이다. 그렇지 않으면 그들은 항상 마지막 합의된 트랜잭션으로 밖에 되돌아 갈 수 없다. 이것은 위의 강제화 요소에서 비롯된다.

어떻게 이것이 더 나은가?

우리는 이것이 여타 다른 스마트 컨트랙트 보다 나은 방법이라고 주장한다. 왜냐하면 확장성, 유연성, 프라이버시, 비용 효율성 때문이다.

확장성

지불 채널은 일반적으로 단지 두개의 트랜잭션만 온체인에 기록되면 된다. 펀딩 트랜잭션과 확정(settlement 또는 refund) 트랜잭션. 지불 채널에서 모든 소통은 P2P(Peer to Peer)로 일어난다. 따라서 다른 블록체인들의 스마트 컨트랙트처럼 모든 단계의 스마트컨트랙트들을 모든 채굴자가 일일이 검증해야 하는것과 같이 지불채널에서 일어나는 중간과정의 트랜잭션들을 일일이 채굴자가 검증할 필요가 없다. 이러한 P2P 패러다임이 확장성을 제공해 주게 된다.

유연성

특정 플랫폼에서만 실행되거나 계약 참여자가 따라야 하는 추가적인 규칙을 요구하는 프로그램 소스코드로 계약내용을 작성할 필요가 없다. 비트코인 스마트컨트랙트 작성시 필요한것은 단지 지불채널에 참여하는 모든 참여자가 모든 계약내용과 규칙이 명시된 펀딩 트랜잭션에 동의(서명)하기만 하면 된다.

프라이버시

계약내용을 명시적으로 펀딩 트랜잭션에 반드시 넣을 필요는 없다. 보다 높은 수준의 프라이버시를 확보하기 위해 OP_RETURN 에 계약 내용의 해시값만을 포함시켜도 될 것이다.

비용 효율성

스마트 컨트랙트에 특별히 실행되어야 하는 서비스같은것이 없기때문에 이런 행위를 위해 채굴자들에게 비용을 지불할 필요가 없다.

위에 나열된 장점들에 더해서 다양한 형태의 펀딩 트랜잭션 템플릿을 만들어 시장에서 일어나는 유사한 케이스의 지불채널에 공유될 수 있을 것이다. 예를들어 체스 경기를 위한 지불채널의 펀딩 트랜잭션의 템플릿은 또다른 체스 경기자들이 재사용 할 수 있을 것이다. 또한 채굴풀을 위한 펀딩 트랜잭션 템플릿을 또다른 채굴풀 들이 채택할 수 있을것이다. 이런 지불채널 템플릿을 설계할때의 과제는 지불 채널에 명시된 규칙들이 특정 참여자의 이익에 편향되지 않도록 설계 하는것이다.

결론

우리가 이 글에서 제공했던 일반적인 비트코인의 스마트 컨트랙트의 패러다임은 많은 사람들이 비트코인상에서는 불가능하다고 말해왔던 특징들이다. 우리는 비트코인 지불 채널이 확장성, 유연성, 프라이버시와 비용 효율성으로 이러한 기능들을 제공한다는 것을 보았다. 가능한 사용예들을 나열해 보면 소액결재, 콘텐츠 스트리밍, 온라인 게임 과 e-스포츠, 빈번한 결제를 필요로 하는 상업 계약들 그리고 수많은 다른 케이스들이 존재할 것이다. 얼마나 창의적으로 이 비트코인 스마트 컨트랙트를 활용하는 가는 이제 당신의 몫이다.

* 이글은 오리지날 비트코인 프로토콜을 따르는 진짜 비트코인, 비트코인 SV(BSV)에 관한 글이다.

Translated and published with permission from https://nchain.com/en/blog/payment-channels-smart-contracts-bitcoin/ copyright 2019 nChain Limited.

추천&비추천 정책안내

, , , , , , ,

신고
  • 카카오톡으로 보내기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오스토리로 보내기
  • 네이버밴드로 보내기
  • 네이버로 보내기
  • 텀블러로 보내기
  • 핀터레스트로 보내기

Comments

오리지날 19-11-05 13:55 0   0
번역하시느라 고생하셨습니다! 감사합니다.
까마귀까악 19-11-05 17:02 0   0
좋은 정보입니다 까악~

축하합니다! 행운의 1 HUB가 적립되었습니다 ^.^

오미재박 19-11-05 21:52 0   0
비트코인에 대한 많은 오해와 궁금증이 풀리는 글 같습니다. 너무 감사하고, 앞으로도 좋은 글들 많이 부탁드립니다.

축하합니다! 행운의 5 HUB가 적립되었습니다 ^.^

kane1006 19-11-09 10:28 0   0
감사합니다 ㅋ

축하합니다! 행운의 5 HUB가 적립되었습니다 ^.^


[뉴스] 원스토어 버스크온 TF 팀장 인터뷰 "비트코인SV밖에 없었던 거죠" 20

BSV 블록체인을 통해 새로운 음악 플랫폼 서비스를 준비하고 있는 버스크온(BUSKON) 관련 지디넷 최신 기사 입니다.본 글에선 기자님 허락하에 BSV와 관련된 부분만 발췌하여 올려드립니다.기사 전문은 아래 링크를 참고해주세요.기사 전문 보기원스토어는 국내 앱마켓 2위 사업자다. 구글 플레이스토어 다음...
| 24 | 2시간전

[BSV] 비트코인 트랜잭션의 현주소 (2019.11.20) 39

오늘은 BTC, BCH, BSV 블록체인 트랜잭션과 관련된 주요 지표들을 살펴 보겠습니다.관련된 모든 Data는 coin.dance, bitinfocharts.com, blockchair.com에서 확인하실 수 있습니다.1. 일 평균 블록 사이즈 (≒ 트랜잭션 볼륨) 1) BTC : 1MB 상한에 갇혀 ...
| 50 | 2019.11.20

[BSV] BitcoinSV #5 Transaction with multiple outputs, fee, zero confirm by 남정수 19

안녕하세요. 남정수입니다.자리를 마련해 주신 오리지날님과 관심가져주시는 모든분들 감사드립니다.원문: https://medium.com/@namjungsoo/bitcoinsv-5-transaction-with-multiple-outputs-fee-zero-confirm-44de7549a133Bitcoin은...
| 21 | 2019.11.19

[BSV] 오늘날 만연한 비트코인에 대한 잘못된 인식 뽀개기 — CSW 19

비트코인SV 메타넷 ICU 슬랙의 아래 크박사의 강의를 번역한 내용입니다. 제가 본문을 읽고 이해하기 위해 의역을 해야만 했기때문에 오역이 있을 수 있습니다. 오역에 대한 의견 부탁드립니다. 메타넷 ICU 슬랙 #bitcoin-general 채널에 한해 크박사의 글만 외부 공유가 가능한 점 참고 바랍니다...
| 24 | 2019.11.19

[BSV] 11월 15일, 비트코인 독립 1주년 81

11월 15일오늘은 사토시가 꿈꿨던혁신적인 글로벌 스케일P2P 전자화폐 시스템으로비트코인을 회복시키기 위해진짜 Bitcoiner들이 뼈아픈체인 분리를 감행하여오리지널 프로토콜비트코인(BSV)을독립시킨날입니다.독립 1주년을 기념하여비트코인SV글로벌 사이트가새로 만들어졌습니다.한국의 열성 BSV 지지자분들의...
| 95 | 2019.11.15

[BSV] 비트코인SV 2nd 밋업 in 이태원 (12/16, 19:00) 20

[12월 16일, 두번째 서울 BSV 밋업 공지]* 코인긱과 비트코인 협회 주관아래, 두번째 서울 BSV 밋업이 이태원 바토스에서 개최됩니다. 이번 밋업은 원스토어의 "Buskon" 런칭을 기념하며 뮤지션의 공연과 더불어 BSV의 이해를 높이기 위한 메타넷 개론 및 실제 개발 사례등을 발표하는 자리가 될...
| 28 | 2019.11.13

[BSV] 빅블록에 대한 무지와 오해 뽀개기 12

이번 글은 포럼 초기에 올렸던 이글과도 중복되는 부분이 많긴 하지만, 한국 커뮤니티 내에 블록크기에 대한 무지와 오해가 너무 많은 것 같아 다시 한번 정리해보고자 합니다. (제가 글에서 언급하는 비트코인은 오리지날 프로토콜로서의 비트코인을 말하며 BTC가 아닙니다. 현재 오리지날 비트코인 모습에 가장 가...
| 18 | 2019.11.13

[BSV] 전직 nChain CEO가 왜 워싱턴 DC에??? 8

https://twitter.com/JimmyWinMedia/status/1194377206216175617"워싱턴 DC에서 회의의 첫날이 끝났습니다. 비트코인, 암호화폐, 법에 대해 많은 기관들과 논의할게 많네요."라고 오늘 트윗을 날린 지미 응우옌*.* 지미 응우옌은 전직 nChain의 CEO였으며,...
| 17 | 2019.11.13

[BSV] BitcoinSV #4 Transaction with multiple inputs by 남정수 19

안녕하세요. 남정수입니다.이번 화부터 제가 직접 공유해 드리기로 하였습니다.자리를 마련해 주신 오리지날님과 관심가져주시는 모든분들 감사드립니다.원문:https://medium.com/@namjungsoo/bitcoinsv-4-%EB%8B%A4%EC%A4%91-%EC%9E%85%EB%A0%A5-transa...
| 28 | 2019.11.05

[BSV] 비트코인의 지불 채널(Payment Channels) 과 스마트컨트랙트(Smart Contracts) by Wei Zhang — Senior Researcher, nCh… 17

이 글은 nChain 의 수석연구원 Wei Zhang 의 아래 링크 글을 번역한 글입니다. (번역과 게시에 대한 원작자의 사전허락을 득하였습니다.) 제가 이해한 내용을 바탕으로 일반인들이 이해하기 쉽게 의역이 추가 되어 오역이 있을 수 있습니다. 오역과 의견에 대한 댓글 부탁드립니다.원글 :https:/...
| 28 | 2019.11.05

[뉴스] 페이스북이 비트코인SV를 활용할 수 있는 방법 by Ryan X. Charles (CEO of Money Button) 34

페이스북이 비트코인 SV를 활용할 수 있는 방법만약 페이스북이 비트코인SV(BSV) 블록체인에 리브라 암호화 솔루션을 출시하기로 결정하기만 했다면 덜 골치가 아팠을 것입니다. 비트코인은 글로벌 금융 규제와 정부에 따라 사용하도록 만들어졌습니다. BSV는 비트코인의 최초 백서(White paper)를 준수...
| 51 | 2019.11.02

[뉴스] 비트코인SV노드 버전 0.2.2는 STN재설정 시 처리 용량을 증가 32

비트코인SV노드 버전 0.2.2는 STN재설정 시 처리 용량을 증가비트코인SV(BSV)는 Genesis(제네시스)로 복귀을 위해 꾸준히 개발하며 나아가고 있습니다.10월 30일 BSV노드 팀은 노드 구현의 0.2.2 버전을 출시하여 2020년 2월에 완성될 예정인 Genesis Protocol(제네시스 ...
| 47 | 2019.11.02

[BSV] 지난 크레이그 박사 칼럼에 대한 이해 돕기 (내용 추가됨) 29

지난 번 <만약 금이 납으로 바뀐다면>(<=못 보신 분 클릭)이라는 크레이그 라이트 칼럼 중 이해가 잘 안되는 부분이 있어 BSV 기술토론방에 도움을 구하였습니다. 몇몇분들이 의견을 말씀해주셨는데, 읽어보시면 칼럼과 BSV에 대해 더 깊이 이해하실 수 있을 것 같아 이 번 포스팅을 통해 ...
| 39 | 2019.10.28

[BSV] BitcoinSV #3 Broadcast raw transaction by 남정수 14

본 글은 원스토어의 야침찬 블록체인 온라인 버스킹 뮤직 플랫폼,BUSKON의 개발자이신 남정수님이 미디엄 블로그에 올리신 글입니다. BSV 개발자들에게 도움이 될만한 글입니다. 남 개발자님의 허락을 받아 게재하오니 유용하게 사용하시기 바랍니다.====================이전 글BitcoinSV ...
| 19 | 2019.10.28

[BSV] 만약 금이 납으로 바뀐다면 by 크레이그 라이트 61

10월 21일에 크레이그 라이트 블로그에 올라온 글을 번역한 글입니다. 매끄러운 이해를 위해 부분적으로 의역을 하였습니다.비트코인이 무엇인지 제대로 이해하지 못해 그것을 범죄에 사용한 "멍청한" 사람들에 대한 이야기이며, BTC와 BCH 커뮤니티 내에 퍼져있는 사이버펑크, 무정부주의 사상에 입각한 비트코...
| 75 | 2019.10.26

[BSV] BitcoinSV #2 Create a raw transaction by 남정수 8

본 글은 원스토어의 야침찬 블록체인 온라인 버스킹 뮤직 플랫폼,BUSKON의 개발자이신 남정수님이 미디엄 블로그에 올리신 글입니다. BSV 개발자들에게 도움이 될만한 글입니다. 남 개발자님의 허락을 받아 게재하오니 유용하게 사용하시기 바랍니다.====================BitcoinSV #2 t...
| 17 | 2019.10.25

[BSV] BitcoinSV #1 Generate a Bitcoin address by 남정수 7

본 글은 원스토어의 야침찬 블록체인 온라인 버스킹 뮤직 플랫폼, BUSKON의 개발자이신 남정수님이 미디엄 블로그에 올리신 글입니다. BSV 개발자들에게 도움이 될만한 글입니다. 남 개발자님의 허락을 받아 게재하오니 유용하게 사용하시기 바랍니다.====================BitcoinSV #1 ...
| 17 | 2019.10.24

[BSV] BitcoinSV 앱 프로토콜 생성기, unwriter의 Bitcom by 준 7

본 글은 국내 BSV 개발자이신 "준"님이 미디엄 블로그에 올리신 글입니다. 준 개발자님의 허락을 받아 게재합니다."준" 개발자================BSV에 혜성처럼 나타난_unwriter는 BSV 개발 생태계에 많은 기여를 하고있습니다. 그 한가운데에 있는Bitcom에 대해 소개합니다. Bitc...
| 15 | 2019.10.24

[BSV] 2019년 10월 23일, 역사의 시작 56

2019년 10월 23일,오늘은 크레이그 라이트 박사의 생일이면서비트코인SV 블록체인의 일 평균 블록사이즈가스트레스 테스트 없이 노멀한 상황에서BTC 블록사이즈를 넘어선 첫번째 날입니다.오늘 이후부터는 매일매일이 역사가 될 것입니다.=====================================아래는...
| 71 | 2019.10.24

[BSV] 비트코인은 중립 데이터베이스이다 by 백종찬 61

중립 데이터 베이스로서의 비트코인,비트코인은 머니 그 이상입니다.백종찬님의 글을 통해 무슨 이야기인지확인해보시기 바랍니다.역시 깊은 이해를 위해 삼독을 권합니다.※ 링크#2로 가시면 머니버튼을 통해 백종찬님에게 소액 기부 가능합니다읽으러 Go Go! ▷https://brunch.co.kr/@jeffpai...
| 75 | 2019.10.21