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

[BSV] BitcoinSV #6 OP_RETURN data by 남정수

안녕하세요. 남정수입니다.

자리를 마련해 주신 오리지날님과 관심가져주시는 모든분들 감사드립니다.

원문: https://medium.com/@namjungsoo/bitcoinsv-6-op-return-data-5fa38c32a7c6


OP_RETURN은 Bitcoin Script의 OP code중의 하나이며, transaction에 데이터를 추가하기 위해서 사용한다. BitcoinSV에서는 현재(Genesis upgrade 이전) 100KB 크기의 데이터를 OP_RETURN에 포함시킬 수 있다.

OP_RETURN의 위치는 transaction의 output이다. 기존의 output에는 잠금 스크립트(scriptPubKey)가 존재하여 spend가 가능하지만, OP_RETURN은 잠금 스크립트가 존재하지 않아서 spend가 불가능하다.

다음과 같은 코드를 통해 간단한 string 타입의 OP_RETURN 데이터를 포함한 transaction을 작성할 수 있다. addData() 함수가 바로 OP_RETURN 데이터를 추가 하는 함수이다. 여러번 호출할 수 있으며, to()와도 섞어서 사용할수 있으나, 호출하는 순서대로 output index가 정해진다.

생성된 raw transaction은 아래와 같다. [0]번의 output에 OP_RETURN 데이터가, [1]번의 output에는 change의 P2PKH 송금이 포함되어 있다.


Mainnet에서 OP_RETURN string 데이터의 예제는 다음과 같다.


Transaction에 입력한 addData()는 [‘buskon’, ‘hello’]이다. 그리고 ASCII의 결과가 jbuskonhello로 j가 앞에 붙는 이유는 OP_RETURN의 OP code가 0x6a로 ASCII code ‘j’와 겹치기 때문이다.

실제 Script의 결과는 다음과 같이 Script 탭에서 확인 가능하다.

Hex도 마찬가지이다. Hex에서는 OP code와 각 데이터 사이에 따라오는 데이터의 bytes length를 hex code로 기록해 넣는다. OP_RETURN의 6a 다음에 나오는 06은 buskon의 length이다. hello의 hex code인 ‘68656c6c6f’ 앞에도 length인 05가 기록되어 있다. 

B protocol

Binary 데이터를 기록하는 방법을 알아보자. BSV의 생태계에서는 Bitcoin의 프로토콜을 이용한 3rd party의 개발도구 및 프로토콜들이 많이 있다. B protocol은 그중의 하나이며 OP_RETURN을 이용하여 저장한 바이너리 파일을 식별하기 위한 protocol이다.

프로토콜 스펙은 다음과 같다. Bitcom prefix는 OP_RETURN 사용시에 header와 같은 역할을 하게 되는데, 발송자가 서로 겹치지 않게 하는 우편번호의 역할을 한다. 현재로서는 강제성은 없다.

문법은 다음과 같다. 아래로 이어지는 구문들은 output index로 종으로 증가하는게 아니라 횡으로 공백(띄어쓰기)으로 구분이 된다. 즉, 하나의 transaction의 같은 output index에 포함이 된다는 말이다.

문법을 설명하면, 19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut로 시작하면 B protocol이며, [DATA]는 실제 파일의 데이터이고, 그 데이터의 타입은 [MEDIA TYPE]에서 정의 한다. 나머지 파일명과 인코딩은 선택사항이다.

위의 스펙을 코드로 구현할 때는 하나의 addData()에 배열로 추가하되, 바이너리 포맷이면 Javascript의 Buffer로 포함시켜야 한다. 내부적으로는 자동으로 hex code로 변환이 된다.

이미지 발송 예제를 보자. 아래의 예제는 bico.media 에서 구할수 있다. (우리가 잘 아는 이미지이다.)

https://bico.media/a3907e5b910f798c8d0fb450d483a0aefa5ce40ac74064b377603e5ea51deccb

URL의 뒤에 있는 a3907e5b910f798c8d0fb450d483a0aefa5ce40ac74064b377603e5ea51deccb가 txId이다. txId이므로 Block Explorer에서 찾을 수 있다.

Transaction을 확인해 보면 아래와 같은 결과를 볼수 있다. 1번째 컬럼에 B protocol의 prefix가 존재한다. (19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut) 그러므로 이 OP_RETURN은 B protocol이다.

2번째 컬럼에 이어지는 데이터는 파일의 바이너리 데이터 [DATA]이다.

이제 스크롤 해서 파일 끝으로 가보자. 3번째 컬럼에는 [MEDIA TYPE] 이 존재해야 하는데 확인해 보니 이 파일은 image/jpeg 포맷이다.






추천&비추천 정책안내

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

Comments

하이디 19-12-04 01:20 0   0
우~~왕 어려워요 감사합니다

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


[BSV] BitcoinSV #6 OP_RETURN data by 남정수 15

안녕하세요. 남정수입니다.자리를 마련해 주신 오리지날님과 관심가져주시는 모든분들 감사드립니다.원문: https://medium.com/@namjungsoo/bitcoinsv-6-op-return-data-5fa38c32a7c6OP_RETURN은 Bitcoin Script의 OP code중의 하나이며, t...
| 18 | 2019.12.02

[뉴스] Unwriter가 $1.6M 달러를 Planaria 주식회사 투자: 멋진 것들을 계속 만들어라 28

비트 코인 개발자 Unwriter는 자신의 회사인 플라나리아(Planaria Corp)에 1.6million 달러를 투자했다고 발표했다. 기존의 VC주도 방식의 자금 조달을 따르기보다는 "매스 신디케이션(mass syndication)"이라고 알려진 개인 및 기업 공인 투자자 집단을 선택했습니다. 왜냐하...
| 37 | 2019.11.23

Satoshi Nakamoto는 누구인가요? 46

비트코인 발명가인 Craig S. Wright 박사는 "비트코인: P2P 전자 현금 시스템"이라는 백서(2008년 10월 31일에 게시됨)에서 Satoshi Nakamoto라는 필명으로 비트코인의 정의와 목적을 간략하게 설명했습니다.Wright 박사는 약 두 달 뒤인 2009년 1월에 첫 번째 오픈 소스...
| 63 | 2019.11.23

채굴자는 누구이며 그들이 비트코인 설계에 중요한 이유는 무엇인가요? 61

비트코인의 진정한 가치는 경제적인 설계에서 모든 기술 혁신을 뛰어넘는다는 것입니다. 비트코인은 참여자들이 동일한 거래장부를 유지하기 위해 네트워크의 여러 노드에 대한 보상을 제공함으로써, 참여자들이 손쉽게 거래할 뿐만 아니라 “이중지불”의 방지를 위해 이용해왔던 중개기관(은행 또는 결제 처리 기관)에 더...
| 77 | 2019.11.22

비트코인이 무엇인가요? 25

누군가 이런 질문을 한다면 일반적으로 이 질문에 대한 답변 대신 사용할 수 있는 “비트코인”, “비트코인 프로토콜”, “비트코인 블록체인” 및 “비트코인 티커심볼(BSV)”에 대해 명료하게 설명하는 것이 중요합니다. 그러나 이 용어들은 사실 서로 다르며 고유한 특징을 갖고 있습니다.가장 간단하게 설명하자...
| 28 | 2019.11.22

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

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

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

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

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

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