비트코인용 스마트계약 언어 ‘미니스크립트’ 공개

등록 : 2019년 8월 21일 17:00 | 수정 : 2019년 8월 21일 16:13

Pieter Wuille Unveils ‘Miniscript,’ A New Smart Contract Language for Bitcoin

출처=코인데스크

비트코인 코어 개발자 가운데 한 명인 피터 바일라(Pieter Wuille)가 비트코인에 스마트계약을 접목할 수 있는 새로운 코딩 언어 미니스크립트(Miniscript)를 공개했다.

바일라는 19일 비트코인 개발자들에게 보낸 이메일에서 미니스크립트는 프로그래머들이 비트코인에 더 쉽게 스마트계약을 접목할 수 있게 하는 언어라고 설명했다. 여기서 말하는 스마트계약이란 미리 정한 요건을 충족하면 비트코인이 거래되고 사용될 수 있도록 하는 것이다.

바일라는 앤드루 포엘스트라, 산켓 산잘카르와 함께 1년 정도 이 코드를 만들었다고 말했다. 그러면서 친분이 있는 개발자들에게 몇 차례 코드를 보여주고 의견을 구한 적이 있지만, 이렇게 이메일 주소록에 든 개발자들에게 한꺼번에 메일을 보내 코드를 공개하는 건 처음이라고 밝혔다.

“이제는 이 코드가 좀 더 많은 관심을 받고 다양한 피드백을 받을 때가 됐다고 판단했다.”

‘스크립트’란 비트코인의 스마트계약 언어로 비트코인을 전송하는 데 필요한 특정 요건을 이용자들이 미리 정해두는 것이다. 예를 들면 해당 비트코인이 얼마 동안은 묶여있다가 어느 시점이 지나면 사용할 수 있다고 미리 입력해두거나 두 명이 거래를 승인해야만 비트코인을 전송할 수 있다는 다중 서명(multi-sig)을 조건으로 정해두는 것이다.

이런 식으로 정해놓은 요건을 만족해야만 거래할 수 있도록 돈을 프로그래밍하는 건 디지털 화폐가 등장하기 전에는 불가능했다. 비트코인이 등장하기 전을 생각해보면 은행이나 중간에서 거래를 관장하는 중개인을 거치지 않고 돈을 프로그래밍하는 것은 불가능했다. 프로그래밍하더라도 이를 정해진 대로 이행할지 신뢰할 수 없었기 때문이다.

미니스크립트는 프로그래밍 언어를 기반으로 한다. 돈을 프로그래밍할 수 있게 되면 개선할 수 있는 일이 많다. 바일라는 예를 들어 A는 언제든 비트코인을 받을 수 있게 하고, B는 미리 정한 날짜가 지난 뒤에만 비트코인을 받을 수 있게 프로그래밍할 수 있다고 설명했다.

비트코인 스크립트를 옮기면 다음과 같다.

OP_EQUALVERIFY OP_CHECKSIGVERIFY <144> OP_CSV OP_ENDIF

미니스크립트에서는 아래와 같다.

or_d(c:pk(A),and_v(vc:pk_h(B),older(144)))

미니스크립트는 비트코인 스크립트 위에 쓸 수 있는 언어다. 즉 비트코인 고유 언어를 토대로 자유롭게 편집할 수 있다.

비트코인 개발자 커뮤니티는 미니스크립트를 격찬하고 있다. 블록스트림의 라이트닝 네트워크 엔지니어 러스티 러셀은 이런 트윗을 남겼다.

“사람들이 ‘이거 나오기 전에는 도대체 어떻게 살았지?’ 하는 정도로 엄청난 기술이다. 쓸데없이 화려하게 치장한 것 하나도 없이 프로그래밍 언어에 핵심만 훌륭하게 담아냈다.”

비트코인 스마트계약의 활용사례는 무궁무진할 것으로 기대된다. 에릭 롬브로소는 디지털 지갑의 복잡한 스크립트를 훨씬 쉽게 시행할 수 있게 해줄 거라고 말했다. 비트코인을 홍보하는 일을 하는 비트코인 지지자 지미 송은 라이트닝네트워크를 보완하는 데도 스마트계약이 쓰일 수 있다고 말했다.

지미 송은 블록체인 언어의 지평을 넓힐 수 있는 계기로 삼을 수 있다고 말했다. 그러면서 비트코인의 스마트계약 언어와 이더리움의 스마트계약 언어인 솔리디티(Solidity)의 차이를 설명했다. 즉 솔리티티는 이더리움 플랫폼에서 어떤 일에든 스마트계약을 적용해 새로 쓸 수 있는 언어지만, 미니스크립트는 반대로 거래 요건을 명확하게 규정함으로써 다른 가능성을 줄여준다. 송은 비트코인의 스마트계약은 거래 요건을 단순화하며, 잠재적인 공격 지점을 없애주기 때문에 이더리움 스마트계약보다 더 낫다고 주장했다.

바일라가 공개한 미니스크립트 언어는 C++와 러스트(Rust) 두 가지 프로그래밍 언어로 쓰였다. 바일라는 미니스크립트 관련 개발과 테스트를 계속하고 있다고 밝혔다.

“일단 지금까지 대규모 무작위 실험을 통해 새로운 스마트계약 언어가 현재 비트코인의 합의 메커니즘이나 기본적인 규칙을 해치지 않는다는 확신을 얻었다.”

번역: 뉴스페퍼민트

각종 제보 및 보도자료는 contact@coindeskkorea.com 으로 보내주세요.

This story originally appeared on CoinDesk, the global leader in blockchain news and publisher of the Bitcoin Price Index. view BPI.