[블록미디어 프로메타 이건우 연구원] 비트코인 탭루트(Taproot) 업그레이드가 99% 이상의 동의를 얻으며 락인(Lock-in)됐다.
# 탭루트 Lock In.. 11월 활성화 예정
탭루트 과거 세그윗(Segwit) 업그레이드 때와 달리 커뮤니티간 충돌은 크게 찾아 볼 수 없었다. 진행 방법에 따른 의견 차이는 있었다. 마이너들이 탭루트를 채택하지 않을 경우 탭루트를 아예 포기해야 할지에 대한 논란, 업그레이드 자체에 UASF(User Activated Soft Fork)와 관련된 코드를 넣어야 할지 등 갑론을박이 오갔다.
의견 충돌은 ‘SpeedyTrial’ 방식이 제시되면서 해결되었다. Speedy Trial 방식은 기존 업그레이드와 다르게 석 달이라는 짧은 시간동안 채굴자들의 동향을 물어 채택 여부를 판단하고, 동시에 UASF 필요성까지 확인한다. 기존 제안(Proposal)들은 1년 이상의 긴 시간이 걸렸다.
# 탭루트로 서명 알고리즘과 보안성 개선
탭루트 업그레이드는 서명 알고리즘 개선과 네트워크 정보 보호 기능 강화를 골자로 한다. 슈노르(Schnorr)를 서명을 도입해 멀티시그 서명에 사용되는 데이터의 양을 획기적으로 줄이고, MAST(Merklized Abstract Syntax Tree)를 통해 스마트컨트렉트의 보안성을 확보했다.
이번 업그레이드로 블록당 처리할 수 있는 트랜젝션의 수도 증가한다.
# Schnorr 서명 알고리즘으로 멀티시그 서명 단순화.. 스마트컨트랙트 비용 감소
탭루트 업그레이드는 스마트컨트렉트 구현을 위한 여러 장애물들을 해결했다. 비트코인 네트워크 상에서 구동되는 스마트컨트렉트들은 지나치게 많은 비용이 든다.
스마트컨트렉트에는 대체로 하나의 지갑이 아닌 여러 개의 지갑들이 동시에 참여하는데, 이때 컨트렉트에 참여하는 모든 지갑들의 서명을 트랜젝션 안에 담으면서 트랜젝션의 용량이 크게 증가한다.
3개의 지갑이 참여하면 3개의 서명을 담아야 했고, 10개의 지갑이 참여하면 10개의 서명이 담겨야 했다. 참여 지갑에 비례해 컨트랙트 구동 비용도 같이 증가한다. 경제성 측면에서 낙제점이다.
Schnorr 서명 알고리즘은 이 문제를 해결했다. 스마트컨트렉트에 참여하는 여러 지갑들의 서명을 단 하나의 서명으로 묶어서 전송할 수 있게 됐다. 스마트컨트렉트가 복잡해질 수록 서명에 낭비되는 용량이 커지는 문제를 단번에 해결한 셈이다.
지금보다 더욱 복잡한 스마트컨트렉트가 네트워크 상에 올려져도 서명으로 인해 수수료가 크게 증가하는 문제는 이제 없을 것이다.
# MAST로 익명성 확보.. 스마트컨트랙트 보안증진
기존 비트코인 네트워크의 스마트컨트렉트는 비용 문제 뿐 만 아니라 보안 측면에서도 우려가 제기됐었다. P2SH(Pay to Script Hash) 방식을 채택하면서 스마트컨트렉트와 관련된 모든 정보는 온체인 상에 기록된다.
스마트컨트렉트 구현을 위한 모든 조건들이 명시되면서 잠재적인 보안 리스크가 부상했다. 특정한 스마트컨트렉트에 참여하는 지갑의 주소, 자금이 이체되기 위해 필요한 조건들이 반복적으로 노출되면 자연스레 보안성도 떨어지게 된다.
탭루트를 통해 도입되는 MAST(Merklized Abstract Syntax Tree) 구조가 보안 우려를 해결할 것으로 보인다. 머클트리의 활용 방안인 MAST를 이용하면 스크립트를 체인에 기록하지 않고도 거래를 진행할 수 있기 때문이다.
나아가 거래 참여자가 모두 협조적인 경우에는 트랜젝션에 32바이트의 해시를 추가하지 않아도 된다는 점도 큰 이점이다.
# 저렴한 비용과 보안성 확보…스마트컨트렉트 초석 마련
Schnorr 서명 알고리즘을 통해 서명에 낭비되는 비용을 줄이고, MAST 구조를 통해 스크립트의 보안성을 확보하면서 앞으로 비트코인 네트워크에 스마트컨트렉트가 보다 다양하게 구현될 것으로 보인다.
특히 이를 활용한 라이트닝 네트워크의 발전 방안을 주목해야한다. 라이트닝 네트워크 상에 결제를 위한 풀을 형성해 잔액 추적을 더욱 어렵게 하는 등 다양한 논의가 이뤄지고 있다.
# 이제 시작.. DeFi 등 복잡한 스마트컨트렉트 구현 불가
이번 업그레이드로 이더리움을 부흥시킨 디파이(DeFi) 같은 복잡한 형태의 스마트컨트렉트까지 구현이 가능해지는 것은 아니다.
비트코인 네트워크와 이더리움 네트워크의 가장 큰 차이는 튜링 완전성이다. 튜링 완전성이라는 특성을 갖는 이더리움은 조건 설정과 반복 명령어가 쉽게 구현될 수 있다. 복잡한 형태의 댑(dAPP)들이 구동될 수 있다.
반면 비트코인은 네트워크를 구성하는 스크립트 차원에서 이러한 응용을 구조적으로 막아놨다. 비트코인 스크립트 자체의 혁신이 있기 전까지는 비트코인 네트워크 상에서 복잡한 형태의 스마트컨트렉트는 찾아보기 어렵다.
비트코인이 이더리움처럼 스마트컨트렉트 플랫폼으로 기능하기 위해서는 해결해야할 과제가 많다.
비트코인 멀티시그 컨트랙트의 예시(https://www.coindesk.com/what-is-a-multisignature-crypto-wallet)
이더리움 스마트 컨트랙트의 예시(https://www.researchgate.net/figure/The-process-of-smart-contracts-development-deployment-and-interaction_fig3_319249505)