오피리턴 편집하기
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
− | '''오피리턴'''(OP_RETURN)은 | + | '''오피리턴'''(OP_RETURN)은 하나의 스크립트 조작 코드로, 사무 출력을 무효로 표시하는데 사용된다. 오피리턴은 어떤 출력도 신뢰할 수 없음을 증명할 수 있기 때문에 오피리턴 출력은 [[비트코인]]을 기록할 때 사용된다.<ref> "[https://en.bitcoin.it/wiki/OP_RETURN OP_RETURN]", 《比特币维基》, </ref> 오피리턴 기능은 2014년에 정식 출시되었다.<ref name="区块网"> 〈[url 比特币OP_Return还能这样用?这波安利你吃不吃?]〉, 《 区块网》, 2018-04-25</ref> |
− | |||
[[파일:오피리턴 우지한.png|300픽셀|섬네일|오른쪽|[[우지한]] [[비트메인]] 설립자가 2018년 8월 2일 서울 삼성동에서 열린 후오비카니발 행사에서 오피리턴에 대한 기조연설을 하고 있는 모습]] | [[파일:오피리턴 우지한.png|300픽셀|섬네일|오른쪽|[[우지한]] [[비트메인]] 설립자가 2018년 8월 2일 서울 삼성동에서 열린 후오비카니발 행사에서 오피리턴에 대한 기조연설을 하고 있는 모습]] | ||
== 개요 == | == 개요 == | ||
− | + | 오피리턴(OP_RETURN)은 비트코인 트랜잭션 출력을 ‘유효하지 않은 것(invalid)’으로 표시하는 데 사용되는 [[스크립트]]다. 평소 비트코인 금융 거래에 영향을 미치지 않은 [[메타데이터]](metadata)를 사용할 수 있다. 블록체인 처리 과정에 영향을 주지 않고 블록체인 상에서 제거도 가능하다. BCH도 [[무허가성]]을 기반하며 BCH는 의사결정 방식인 ‘합의 알고리즘’에 변화를 주지 않아도 여러 프로젝트를 시도할 수 있는 것이 오피리턴이다. | |
+ | 때문에 BCH 블록체인 상에서 [[스마트계약]]이나 토큰을 발행하는 등 여러 기능들을 자유롭게 구현할 수 있다. | ||
− | BCH는 2018년 5월 오피리턴 용량을 늘려 | + | 또 BCH는 지난 2018년 5월 오피리턴 용량을 늘려 플랫폼 출시하는 데 용이하게 했다. 기존 40바이트(bytes)였던 오피리턴 용량을 업그레이드를 통해 220바이트로 늘렸다. |
− | 오피리턴은 모든 사람들이 자유롭게 활용해 혁신에 접목할 수 있는 요소이며 BCH상에서 프로젝트를 진행하고자 하는 사람 누구나 접미사처럼 코드 앞에 덧붙여 활용할 수 있고 상호보완성도 보장된다. 또한 오피리턴을 사용한다고 해도 합의 알고리즘에 변동이 있는 게 아니기 때문에 어떤 동의를 요청하지 않아도 된다.<ref>Bit셀럽 , 〈[https://blog.naver.com/rmadhtlwkd/221331727564 우지한 “BCH 프로젝트 비결은 ‘무허가성’…오피리턴 용량 늘릴 것”]〉, | + | 오피리턴은 모든 사람들이 자유롭게 활용해 혁신에 접목할 수 있는 요소이며 BCH상에서 프로젝트를 진행하고자 하는 사람 누구나 접미사처럼 코드 앞에 덧붙여 활용할 수 있고 상호보완성도 보장된다. 또한 오피리턴을 사용한다고 해도 합의 알고리즘에 변동이 있는 게 아니기 때문에 어떤 동의를 요청하지 않아도 된다.<ref>Bit셀럽 , 〈[https://blog.naver.com/rmadhtlwkd/221331727564 우지한 “BCH 프로젝트 비결은 ‘무허가성’…오피리턴 용량 늘릴 것”]〉, 《네이버블로그》, 2018-08-03</ref> |
=== 배경지식 === | === 배경지식 === | ||
− | 비트코인의 각 거래 정보에는 [[ | + | 비트코인의 각 거래 정보에는 [[input]]과 [[output]]의 두 가지 부분이 포함되어 있다. output 안의 스크립트를 검증 스크립트라고도 하고, input안의 스크립트를 튜닝 스크립트라고도 한다. A의 output에 있는 비트코인을 써버리는 거래를 하려면 B의 조달 스크립트가 A의 검증 스크립트를 충족할 수 있도록 거래 B를 구성해야 한다.<ref name="오피">LJZN, 〈[https://segmentfault.com/a/1190000013614471 关于OP_RETURN]〉, 《SegmentFault 思否》, 2018-03-08</ref> |
− | |||
=== 오피리턴과 블록체인 데이터 === | === 오피리턴과 블록체인 데이터 === | ||
블록체인은 하나의 불가변 데이터 구조로 볼 수 있기 때문에 사람들은 이 특성을 이용하여 다른 애플리케이션을 개발하려고 시도한다. 이것은 거래 기록에 다른 데이터를 저장해야 한다. 일반적인 P2PH(pay to pubKey hash)거래에서는 output에 있는 검증 스크립트를 다른 데이터로 바꿀 수 있다. 이렇게 하면 요건을 충족하는 디버깅 스크립트를 다시 찾기가 어렵기 때문에(해시를 반대로 구해야 함) 이 거래에서 비트코인을 더 이상 쓸 수 없게 된다. 비트코인 노드에서 대개 속도를 고려해 소비되지 않은 거래인 UTXO(Unspent Transaction Output))가 메모리에 저장되기 때문에 이러한 거래정보가 많은 메모리 공간을 차지하면서 비트코인 네트워크의 효율성에 영향을 미친다는 단점도 있다. | 블록체인은 하나의 불가변 데이터 구조로 볼 수 있기 때문에 사람들은 이 특성을 이용하여 다른 애플리케이션을 개발하려고 시도한다. 이것은 거래 기록에 다른 데이터를 저장해야 한다. 일반적인 P2PH(pay to pubKey hash)거래에서는 output에 있는 검증 스크립트를 다른 데이터로 바꿀 수 있다. 이렇게 하면 요건을 충족하는 디버깅 스크립트를 다시 찾기가 어렵기 때문에(해시를 반대로 구해야 함) 이 거래에서 비트코인을 더 이상 쓸 수 없게 된다. 비트코인 노드에서 대개 속도를 고려해 소비되지 않은 거래인 UTXO(Unspent Transaction Output))가 메모리에 저장되기 때문에 이러한 거래정보가 많은 메모리 공간을 차지하면서 비트코인 네트워크의 효율성에 영향을 미친다는 단점도 있다. | ||
21번째 줄: | 20번째 줄: | ||
이 변경은 블록체인에 데이터를 저장하는 것을 의미하지는 않는다. 오피리턴은 데이터 저장 방안 중 일부가 이미 배치되어 있고 임의의 데이터를 영구적으로 저장하지 않음을 증명하는 출력을 변경했다. | 이 변경은 블록체인에 데이터를 저장하는 것을 의미하지는 않는다. 오피리턴은 데이터 저장 방안 중 일부가 이미 배치되어 있고 임의의 데이터를 영구적으로 저장하지 않음을 증명하는 출력을 변경했다. | ||
블록체인에 임의의 데이터를 저장하는 것은 여전히 나쁜 생각이며, 다른 곳에 비 화폐 데이터를 저장하는 것은 원가가 더 낮고 효율적이기도 하다.<ref> 〈[https://bitcoin.org/en/release/v0.9.0#downgrading-warnings 比特币核心版本0.9.0发布]〉, ''BitcoinCore'', 2014-03-19</ref> | 블록체인에 임의의 데이터를 저장하는 것은 여전히 나쁜 생각이며, 다른 곳에 비 화폐 데이터를 저장하는 것은 원가가 더 낮고 효율적이기도 하다.<ref> 〈[https://bitcoin.org/en/release/v0.9.0#downgrading-warnings 比特币核心版本0.9.0发布]〉, ''BitcoinCore'', 2014-03-19</ref> | ||
− | |||
=== 오피리턴 응용 === | === 오피리턴 응용 === | ||
오피리턴은 디지털 자산 소유권 증명에 사용할 수 있으며, 때로는 거래에 필요한 기타 정보를 전달하는 데 사용된다. | 오피리턴은 디지털 자산 소유권 증명에 사용할 수 있으며, 때로는 거래에 필요한 기타 정보를 전달하는 데 사용된다. | ||
27번째 줄: | 25번째 줄: | ||
2014년 3월 출시 이후 이미 오피리턴은 여러 각도에서 검증되었다. 오피리턴이 디지털 문서를 블록체인에 영구적으로 링크하는데 사용됨을 증명하는 서비스인 [[존재증명]](PoE, Proof of Existence)이 그 중의 하나이다. Counterparty의 수석 개발자들은 40바이트의 오피리턴 데이터로부터 시스템을 실행하는 방법을 발견했다고 발표했다. | 2014년 3월 출시 이후 이미 오피리턴은 여러 각도에서 검증되었다. 오피리턴이 디지털 문서를 블록체인에 영구적으로 링크하는데 사용됨을 증명하는 서비스인 [[존재증명]](PoE, Proof of Existence)이 그 중의 하나이다. Counterparty의 수석 개발자들은 40바이트의 오피리턴 데이터로부터 시스템을 실행하는 방법을 발견했다고 발표했다. | ||
− | + | Mastercoin은 임베디드 데이터에 의존하는 또 다른 프로젝트로, 사용 방법을 전문적으로 찾는 방법에 대한 OP_RETURN에 대한 논의를 시작했다. | |
− | + | [[스텔스 주소]]는 오피리턴의 또 다른 사례이다. 이 방안은 수신자의 공적인 키나 주소를 밝히지 않고 돈을 받을 수 있도록 했다. 이 시스템의 작업에 필요한 데이터를 디버깅 중에 오피리턴으로 인코딩하도록 한다. 본질적으로 비트코인은 보안 소식 전달 프로토콜로서 이중 기능을 가지고 있다.<ref>Rich Apodaca , 〈[https://bitzuma.com/posts/op-return-and-the-future-of-bitcoin/ OP_RETURN和比特币的未来]〉, ''Bitzuma'', 2017-09-28</ref> | |
=== 제한성 === | === 제한성 === | ||
비트코인 핵심 개발자는 오피리턴이 비트코인 네트워크에 과다한 비거래 정보를 저장해 비트코인의 정상적인 사용에 영향을 줄 수 있다고 판단하고 크기(초기 40바이트에서 80바이트로 확장했다 다시 40바이트로 축소)를 제한했다. 이것은 일부 이층프로토콜 항목을 다른 메인체인에 돌리게 하였다. | 비트코인 핵심 개발자는 오피리턴이 비트코인 네트워크에 과다한 비거래 정보를 저장해 비트코인의 정상적인 사용에 영향을 줄 수 있다고 판단하고 크기(초기 40바이트에서 80바이트로 확장했다 다시 40바이트로 축소)를 제한했다. 이것은 일부 이층프로토콜 항목을 다른 메인체인에 돌리게 하였다. | ||
36번째 줄: | 34번째 줄: | ||
* 비트코인 거래: | * 비트코인 거래: | ||
0x8bae12b5f4c088d940733dcd1455efc6a3a69cf9340e17a981286d3778615684 | 0x8bae12b5f4c088d940733dcd1455efc6a3a69cf9340e17a981286d3778615684 | ||
− | |||
[[파일:오피리턴사용예.png|썸네일|800픽셀|가운데|비트코인 거래에서 오피리턴 사용예]] | [[파일:오피리턴사용예.png|썸네일|800픽셀|가운데|비트코인 거래에서 오피리턴 사용예]] | ||
− | + | 우리는 첫 번째 output이 Unspendable address로 표시되고 Type이 비어있는 것을 볼 수 있다. 그리고 구체적인 내용을 볼 수 있다. | |
− | |||
1 OP_RETURN 636861726c6579206c6f766573206865696469 | 1 OP_RETURN 636861726c6579206c6f766573206865696469 | ||
0x36861726c6579206c6f766573206865696469는 UTF8-DECODER를 통해 다음과 같이 얻을 수 있다.<ref> jason_cuijiahui, 〈[https://blog.csdn.net/jason_cuijiahui/article/details/79785664 比特币OP_RETURN元数据]〉, 《CSDN博客》, 2018-04-02</ref> | 0x36861726c6579206c6f766573206865696469는 UTF8-DECODER를 통해 다음과 같이 얻을 수 있다.<ref> jason_cuijiahui, 〈[https://blog.csdn.net/jason_cuijiahui/article/details/79785664 比特币OP_RETURN元数据]〉, 《CSDN博客》, 2018-04-02</ref> | ||
49번째 줄: | 45번째 줄: | ||
2018년 4월 말, TD아메리트레이드는 68번의 비트코인 발송 거래를 통해 비트코인 블록에 이 회사 로고가 달린 숫자의 깃발을 만들었다고 발표했다. | 2018년 4월 말, TD아메리트레이드는 68번의 비트코인 발송 거래를 통해 비트코인 블록에 이 회사 로고가 달린 숫자의 깃발을 만들었다고 발표했다. | ||
이 회사는 비트코인 프로토콜의 오피리턴 기능으로 문자열을 삽입하여 68건의 무효 거래를 창설했다 .이 깃발은 블록체인이 고칠 수 없는 특징을 감안할 때 이 암호화된 화폐의 장부에 영원히 보존될 것이다.<ref name="区块网"></ref> | 이 회사는 비트코인 프로토콜의 오피리턴 기능으로 문자열을 삽입하여 68건의 무효 거래를 창설했다 .이 깃발은 블록체인이 고칠 수 없는 특징을 감안할 때 이 암호화된 화폐의 장부에 영원히 보존될 것이다.<ref name="区块网"></ref> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 오피리턴 미래 == | == 오피리턴 미래 == | ||
− | 2018년 5월, | + | 2018년 5월, 비트코인은 오피리턴의 공간을 223바이트로 늘렸다. 비트코인의 2층 협의 개발에 새로운 활력을 불어넣을 것으로 본다. |
− | |||
− | |||
− | |||
− | |||
{{각주}} | {{각주}} | ||
77번째 줄: | 60번째 줄: | ||
* jason_cuijiahui, 〈[https://blog.csdn.net/jason_cuijiahui/article/details/79785664 比特币OP_RETURN元数据]〉, 《CSDN博客》, 2018-04-02 | * jason_cuijiahui, 〈[https://blog.csdn.net/jason_cuijiahui/article/details/79785664 比特币OP_RETURN元数据]〉, 《CSDN博客》, 2018-04-02 | ||
* "[https://arxiv.org/pdf/1702.01024.pdf An analysis of Bitcoin OP RETURN metadata]", ''arxiv.org'' | * "[https://arxiv.org/pdf/1702.01024.pdf An analysis of Bitcoin OP RETURN metadata]", ''arxiv.org'' | ||
− | |||
− | |||
− | |||
− | == | + | == 같이보기 == |
− | |||
* [[스크립트]] | * [[스크립트]] | ||
* [[비트코인]] | * [[비트코인]] | ||
* [[스텔스 주소]] | * [[스텔스 주소]] | ||
+ | * [[input]] | ||
+ | * [[output]] | ||
* [[TD아메리트레이드]] | * [[TD아메리트레이드]] | ||
* [[존재증명]] | * [[존재증명]] | ||
{{블록체인 기술|검토 필요}} | {{블록체인 기술|검토 필요}} |