TXGX(Tech Forum by Ground X) Review
들어가며
제가 블록체인을 처음 접하고 공부하기로 마음 먹은 것은 아마 작년 초 즈음이었습니다. 교내 IT경영학회 활동을 하면서 매주 새로운 기술에 대해서 발제하던 중, 블록체인이 유난히 더 큰 변화를 이끌어 갈 것이라는 확신이 생겼고, 비트코인 백서를 시작으로 블록체인에 빠져들었습니다.
나름대로 공부하면서 가장 즐거웠던 점은, 당시 다양한 밋업과 컨퍼런스가 이곳저곳에서 열려서, 쉽게 블록체인에 관심있거나 이미 업계에서 종사하고 계시는 분들을 만날 수 있다는 것이었습니다. 참석자들에게 맛있는 저녁을 제공해주는 밋업들도 많아, 주변 친구들도 몇번 데려갔었습니다.
그런데 지금와서 생각해보면, 그 당시에 제가 참석한 밋업은 대부분 dApp들이 주최한 것이며, 블록체인을 통해 어떤 문제를 해결할 것인지 발표하는 자리였던 것으로 기억합니다.
그러나 오늘날까지 블록체인의 확장성 문제는 완벽히 해결되지 않았고, 그 외에 이제 스마트 컨트랙트를 실행할 때의 보안 이슈 또는 프라이버시 문제가 제기되고 있으며, 꾸준히 새로운 컨센서스 알고리즘 아이디어들도 제시되고 있습니다.
마침 자체 플랫폼 체인을 개발하고 있는 그라운드 엑스(Ground X)가 위 세가지 주제를 각각의 세션으로 구성한, 오직 개발자를 위한 테크포럼을 개최하였습니다. 각각의 주제에 대하여 연사로 참여한 팀들이 구체적으로 어떤 기술적인 접근 방식을 취하고 있고, 어떤 고민을 하고있는지 엿볼 수 있는 좋은 기회였습니다. 이번 글에서는 TXGX(Tech Forum by Ground X)의 세션들을 리뷰하고자 합니다.
이미 카카오 정책연구팀에서 발표 내용에 대해서 잘 정리(https://brunch.co.kr/@kakao-it/268) 했기 때문에, 저는 연사들의 발표를 들으면서 개인적으로 들었던 생각, 그리고 각 팀들이 어느 솔루션을 도입하였고, 앞으로는 어떤 문제를 해결해 나가야하는지 위주로 정리해보았습니다.
첫번째 세션 : 블록체인 확장성(Scalability)
카이버 네트워크(Kyber Network) https://kyber.network/
카이버 네트워크라는 이름을 들으면 딱 떠오르는 것은 ‘탈중앙화 거래소(DEX)’입니다. 플랫폼 블록체인의 기술을 논의하는 포럼에 카이버 네트워크가 첫번째 연사로 참여하게 된 것은, 바로 자체 기반 블록체인인 Gormos를 알리기 위해서였습니다. 카이버 네트워크의 토큰 교환 시스템인 카이버 스왑(Kyber Swap)에 대해서 들을 때마다 드는 생각은, 일단 이더리움 트랜잭션이 채굴되어 확정(confirm)되는 것이 느리다는 것이었습니다. 카이버 네트워크도 이런 한계점을 인지하고 있었던 것 같습니다. 그러나 이더리움을 떠나진 않았습니다. Gormos는 이더리움 사이드체인으로 설계되고 있으며, 샤딩과 플라즈마를 결합하여 개발한다고 합니다. 한 쌍의 토큰이 하나의 리저브(reserve)에서 교환되는 것을 생각해보면, 카이버 네트워크의 탈중앙화 거래소 모델이 은근히 샤딩이랑 잘 어울릴 것 같다고 생각했습니다. 실제로 로이 루도 하나의 샤드에 하나의 리저브가 들어갈 것이라고 말했습니다. 리저브는 각각 독립적으로 운영되기에, 샤딩에서 가장 어려운 “샤드 간 커뮤니케이션 문제”를 풀 필요도 없기 때문입니다. 무엇보다, CEO인 로이 루(Loi Luu)는 이전에 샤딩에 관한 논문을 쓴 이력이 있어서 기대됩니다. 카이버 네트워크 팀은 당분간 이더리움 샤딩과 플라즈마 프로젝트에 커밋할 것이라고 말했습니다. 독자 체인을 만들려는 dApp의 도전! 관심이 많이 갑니다.
쿼크체인(Quark Chain) https://quarkchain.io/
쿼크체인은 샤딩에 집중한 프로젝트입니다. 위에서 말씀드린 것처럼 샤딩에서 가장 어려운 부분은, 샤드 간 커뮤니케이션 입니다. A샤드에 있는 스마트 컨트랙트가 B샤드에 있는 스테이트 정보를 변경하고자 할 때, 우선 A샤드의 트랜잭션이 B샤드로 잘 전달되어야 하며, B샤드 내의 다른 트랜잭션과 겹치면 안됩니다. 이 문제에 대해서 쿼크체인은 “상호의존성(dependency)”이 있는 스마트 컨트랙트는 같은 샤드 안에 배치되어야 하고, 반대로 없을 경우에는 어느 샤드에 들어가든 상관 없다”는 해결책을 제시하였습니다. 그러나 중장기적으로 스마트 컨트랙트들이 서로 커뮤니케이션 해야할 상황이 많아진다면, 트랜잭션과 스마트 컨트랙트가 결국 하나의 샤드에 모두 몰리게 될 것 같고, 결국 샤딩이 실질적으로 이루어지지 않을 것 같다는 느낌이 들었습니다. 쿼크체인은 샤딩을 구현하기 위해 해결해야하는 문제들을 뚜렷히 파악하고 있었으나, 개인적으로 이번 발표에서는 샤드 간 커뮤니케이션 문제에 대해서 명쾌한 해답을 못들었던 것 같습니다. 자세한 사항은 쿼크체인의 백서를 확인해보아야겠습니다!
엘프(Aelf) https://aelf.io/
‘크립토 키티 사건’ 당시 하나의 dApp으로 인해 이더리움 네트워크가 교란 상태에 놓였습니다. 이를 방지하기 위해, 하나의 dApp 당 하나의 사이드체인을 할당하여 각 dApp 별로 자원을 격리시키자는 엘프의 접근 방식은 매우 신선합니다. 엘프의 메인체인은 여러 사이드체인을 인덱싱하며 사이드체인 간의 커뮤니케이션도 주재하는 마치 ‘리눅스OS’와 같은 역할을 합니다. 다만 해결해야하는 문제는, 백서에서도 언급하고 있듯이, 사이드체인 간에 속도 차이가 다르다는 것입니다. 완결성(finality)이 확인되려면 비트코인 PoW의 경우 10분인 반면, EOS의 dPOS의 경우 0.5초입니다. 사이드체인 간의 속도가 이렇게 다르면 다음과 같은 문제가 발생하게 됩니다 : A사이드체인(PoW) 상의 트랜잭션이 B사이드체인(dPOS)의 스테이트 정보를 변경하고자 한다고 가정했을 때, A사이드체인 상의 트랜잭션이 완결되기 위해서는 10분이 걸리는데, 그 10분 사이에 B사이드체인의 스테이트 정보가 이미 변경되었을 경우, 소위 ‘atomicity’가 유지되기 어려운 것입니다. 이 문제를 어떻게 해결해 나갈지 엘프 팀의 인사이트가 궁금합니다. 또한 메인체인이 사이드체인의 정보를 꾸준히 인덱싱해야하는데, 엘프 팀이 이 부분을 어떻게 구현하고 있는지 아직 명확하게 이해되지 않습니다. 간단하게 생각하면, 누군가 사이드체인 블록을 메인체인 위임 노드에게 전달해주거나, 메인체인 위임 노드가 사이드체인 블록을 라이트 노드로써 지켜보아야 합니다. 그러나 두가지 경우 모두, 프로세스가 특정 노드에게 집중되어있기 때문에 쉽게 위변조가 가능한 포인트로 보입니다. 엘프 팀이 위 두 문제를 어떻게 해결해나갈지 궁금합니다.
라이트닝 토크 #1
각 세션 사이에는 라이트닝 토크가 있었습니다. 글루와(Gluwa)의 대표 오태림 님은 생체정보 기반 디지털 아이덴티티 생성에 대해서 발표해주셨습니다. 개인의 생체정보와 디바이스 정보를 통해 디지털 상에서도 1인 1아이덴티티를 생성할 수 있다는 발표였습니다. 블록체인 상에서 자주 언급되는 시빌 어택(Sybil Attack)을 방지하는 방법이라는 생각이 들었습니다. 동시에 ‘아, 내가 등록한 디바이스를 잃어버리면 어떡하지’라는 걱정이 들기도 했습니다.
이어진 라이트닝 토크는 카이스트에서 석사과정을 하고 계신 김민정 님의 발표였습니다. 현재 스텔라(Stellar)가 백서의 내용과 다르게 구현되어 있으며, 신규 노드가 Quorum만 고를 수 있고 Quorum Slice은 선택할 수가 없다는 것입니다. 스텔라 레딧에 올라오는 글들을 보면 “Stellar, Slice that Quorum!”이라고 외치며 가치상승을 외치는 스텔라 홀더들이 많이 있었습니다. 보안성의 핵심인 Quorum Slice가 구현되지 않고 아직 소수 노드가 실패하면 망가지는 상황이라는 점이 놀라웠습니다. 앞으로 공부 비중을 어떻게 정해야 할지 고민됩니다. 백서에서는 아이디어 정도만 확인하고, 실제 코드를 보는 연습을 해야할 것 같다는 생각이 듭니다. 갈 길이 머네요!
두번째 세션 : 블록체인의 보안성(Security)
질리카(Zilliqa) https://zilliqa.com/
이제 스마트 컨트랙트의 코드가 법이 되는 세상이 왔습니다. 코드에 따라 코인 분배와 같은 중요한 사항들이 결정됩니다. 따라서 스마트 컨트랙트 코드를 검증하는 것도 중요해졌습니다. 검증 작업을 “Smart Contract Auditing”이라고 말합니다. 질리카는 쉽게 자신의 코드를 검증할 수 있도록 실라(Scilla)라는 새로운 스마트 컨트랙트 언어를 개발하였습니다. 솔리디티(Solidity)만큼 독자적인 개발환경과 테스트넷도 준비되었음을 세션에서 보여주었습니다. 프로그래밍 언어를 새로 만들었다는 점이 매우 놀랍고, 대다수의 개발자가 솔리디티에 집중된 상황에서, 실라 개발자 커뮤니티를 어떻게 키워나갈지 앞으로 주목해야겠습니다.
오브스(Orbs) https://www.orbs.com/
오브스 팀은 요즘 여러 블록체인 백서 곳곳에서 목격할 수 있는 Threshold BLS Signature Scheme에 대해서 강의해주었습니다. 전자서명부터 기초부터 차근차근 가르쳐 주셨는데, 마치 Multi-Sig Account와 같이 일정 수 이상의 노드들이 서명해야지만 전체의 서명이 이루어지는 구조를 갖춘 암호체계였습니다. 오브스 팀은 암호학에 대한 전문성을 갖춘 팀이며, 오브스 블록체인에 암호학적 지식을 잘 녹여내고 있는 것 같습니다. 오브스 포지셔닝 백서에는 “Network Owned Secret”이라는 이름으로, 분산 네트워크 상에서 공유된 비밀을 유지할 수 있다고 언급하고 있는데요, 이 또한 Threshold BLS Signature Scheme을 기반으로 하고 있습니다. 그럼 Network Owned Secret이 어떻게 활용될까요? 백서의 간단한 예시를 인용해보겠습니다. 우선 비트코인 블록체인에서 SPV(Simple Payment Verification)가 이루어지는 방식을 생각해 보면, 특정 트랜잭션을 검증하기 위해 하나의 노드에게만 쿼리할 경우, “man-in-the-middle attack”에 취약해집니다. 즉, 라이트 클라이언트(light client)가 질문한 노드가 나쁜 노드(malicious node)일 경우, 의도적으로 잘못된 정보를 줄 수 있으니 문제가 된다는 것입니다. 따라서 오늘날, 비트코인 상에서 SPV는 여러 노드에게 질문하는 방법을 적용하고 있습니다. 오브스 상에서 SPV는 오브스 네트워크 노드 전체에게 질문하는 형식으로 이루어질 수 있습니다. Threshold encryption에 기반하여, 전체 노드 중 일정 수 이상의 노드들이 서명할 경우, 해당 트랜잭션을 더욱 확실하게 검증할 수 있는 것입니다. 기술적으로 어떤 모습을 하고 있을지 궁금한데요, 마침 오브스가 곧 구현 백서(implementation white paper)를 공개한다고 합니다!
오아시스 랩스(Oasis Labs) https://www.oasislabs.com/
오아시스 랩스는 스마트 컨트랙트를 실행하는 과정에서 프라이버시를 보호하면서 대량의 연산을 효율적으로 처리할 수 있는 방법을 연구하고 있으며, 해당 기술을 기반으로 오아시스 블록체인을 설계하고 있습니다. 이 팀의 CEO이신 Dawn Song 교수님은 이미 에키든(Ekiden) 리서치 페이퍼에서 TEE(Trusted Execution Environment) 기반의 블록체인 스마트 컨트랙트 연산 구조를 증명해 보였습니다. 에키든을 요약하면, 컴퓨터의 주인도 조작할 수 없는 안전한 연산 환경에서 스마트 컨트랙트 연산을 실행하고, 이 연산이 ‘안전한 연산 환경에서 연산되었음’을 증명받아 블록체인 컨센서스 노드에게 전달하면, 컨센서스 노드는 해당 증명만 검증하고 블록체인에 기록하는 형식입니다. 유저의 입력값과 스테이트 정보는 모두 암호시스템을 통해 프라이버시가 보호됩니다. 다만, 에키든의 한계점은 바로 앞서 말씀드린 ‘증명’이 인텔(Intel)의 중앙화된 증명(혹은 인증) 서비스(Intel Attestation Service)를 통해 이루어진다는 것입니다. 이 문제를 해결하기 위해서 현재 Keystone(https://keystone-enclave.org/)이라는 “open-source hardware enclave implementation” 프로젝트가 진행중에 있습니다. 인증 과정의 탈중앙화만 이루어진다면 블록체인 업계의 엄청난 성장을 이루어낼 수 있을 것으로 기대됩니다.
오아시스 랩스와 동일한 문제의식을 갖고 솔루션을 개발 중인 프로젝트로, 요즘 제가 많이 관심을 갖고 있는 팀으로 에니그마(Enigma)가 있습니다. 하나의 TEE에서 연산하는 오아시스 랩스와 달리, 에니그마는 데이터를 여러 조각으로 나누어 오프체인 에니그마 네트워크 상의 노드들이 나누어 연산을 한 뒤 블록체인 노드에게 다시 합쳐서 보내주는 형식입니다. 데이터가 나누어져 있기 때문에 각 노드는 원본 데이터가 무엇인지 알 수 없고, 빠르게 연산을 할 수 있습니다. 다만 각각의 연산이 올바르게 이루어졌는지 어떻게 확인할 수 있는지, 에니그마 네트워크의 노드들은 어떤 방식으로 인센티브를 받는지는 백서를 마저 읽어보아야겠습니다.
라이트닝 토크 #2
두번째 세션이 끝나고 이어진 라이트닝 토크의 연사는 카이스트의 두 교수님이었습니다. 김용대 교수님은 컨센서스 알고리즘을 가상환경에서 실험해보는 툴인 쉐도우(Shadow)를 소개하셨고, 비트코인부터 실험하고 있다고 말씀하셨습니다. 류석영 교수님께서는 솔리디티로 작성된 스마트 컨트랙트의 코드를 분석하고 취약점을 집어내고 계셨습니다. 빠르게 흘러가는 블록체인 업계에서 굳건한 밑바탕이 될 연구들을 차근차근 진행중이신 것 같았습니다.
그라운드 엑스(Ground X) https://groundx.xyz/
그 다음 순서는 이번 테크포럼을 주최한 그라운드 엑스 팀의 발표가 이어졌습니다. 국내에서 퍼블릭 블록체인 플랫폼을 만드는 팀은 흔치 않아서, 개인적으로 많이 기대했던 세션이기도 합니다. 그라운드 엑스는 카카오의 블록체인 자회사이며, 클레이튼(Klaytn)이라는 이름의 블록체인 플랫폼을 만들고 있다고 합니다. 무엇보다 이번 TXGX가, 그라운드 엑스 팀이 클레이튼을 최초로 공개하는 자리였습니다. 발표에서는 클레이튼의 전반적인 아키텍쳐를 설명해주었습니다. 이 팀은 블록체인의 보안성에 더욱 집중하여 레인져 노드(Ranger Node)라는 역할을 만들어 컨센서스 노드들을 꾸준히 감시하도록 설계하고 있다고 합니다. 공개된 자료가 많지 않아서 정확히 알 수는 없었지만, 퍼블릭 블록체인을 개발하는 국내 프로젝트로서 많은 기대가 됩니다.
네트워킹
그라운드 엑스 팀의 발표가 끝나고, 네트워킹 파티를 위해 모두 버스를 타고 맥파이 브루어리로 떠났습니다. 넓은 야외 공간에서 맥주 한잔을 손에 들고 다니며 연사로 참여한 팀들과 다양한 소속의 개발자 분들을 만나뵐 수 있었습니다. 피맥하면서 블록체인 이야기를 하다 보니 어느덧 제주도의 밤이 왔습니다.
세번째 세션 : 블록체인의 컨센서스 알고리즘(Consensus Algorithm)
다음 날 아침 세션의 주제는 컨센서스 알고리즘이었습니다. 최근에 비트코인의 PoW, 이더리움의 캐스퍼, EOS의 dPOS만 중점적으로 보았기에 관심가는 세션이었습니다.
치아 네트워크(Chia network) https://chia.net/
비트코인 채굴자들이 ASIC에 무한투자하여 채굴기를 돌리고, 현재 네트워크 해시레이트가 과대하게 불어오른 상태입니다. 치아 네트워크는 그런 CPU가 아닌, “빈 스토리지를 스테이킹”하는 컨센서스 알고리즘을 사용하고 있습니다. 스토리지의 가격은 날이 갈수록 낮아지니까 아무도 대량 투자해서 들어올 리가 없고, 누구나 스토리지가 조금씩 남아있어, 마이닝이 중앙화될 우려는 없겠다고 생각했습니다. 굉장히 친환경적인 컨센서스 알고리즘 같은데, 마침 치아 네트워크 공식 사이트에 접속해 보니 완전 초록빛입니다.
토모체인(Tomochain) https://tomochain.com/
EOS의 경우, EOS 홀더가 BP 선거에 참여하고, 자신이 뽑은 BP가 선출되어 블록을 생성하더라도 EOS 홀더에게 직접적인 보상이 돌아오진 않습니다. BP가 공약을 이행해야만 투표 목적은 달성할 수 있겠죠. 토모체인은 내가 뽑은 BP가 블록을 생성하면 해당 블록 보상의 일부분을 자신을 뽑아준 홀더들에게 분배하는 거버넌스 구조를 플랫폼에 스마트 컨트랙트로 심어놓았습니다. 그러나 “내가 투표한 사람이 당선되면 내가 금전적인 이익을 얻는다”는 이 구조가 잘 워킹할지는 약간 의문입니다. 공약으로 투표할 BP를 결정하는 것이 아니라, 단순히 당선될 것 같은 BP에게 투표하는 것이 홀더에게 금전적으로 더 이익일 것이니까요. 그러나 크립토 월드가 어느 플랫폼의 손을 들어줄 지는 아무도 예측할 수 없습니다.
람다256(Lambda256) https://lambda256.io/
람다256도 그라운드 엑스와 같은 국산 플랫폼 블록체인 팀입니다. 이 팀은 PoA(Proof of Authority)라는 컨센서스 알고리즘을 채택하였는데, 권한 설정에 대한 내용이 주이기 때문에, 프라이빗 체인에 잘 어울리는 형식인 것 같습니다. 이 팀 역시 백서가 곧 출시될 예정이므로, 자세한 방향성에 대해서는 조금 기다려보아야 할 것 같습니다.
라이트닝 토크 #3
마지막 라이트닝 토크의 연사는 그라운드 엑스의 엔지니어 Melvin Woo와 디사이퍼(Decipher)의 회장 김재윤 님 이었습니다. 블록체인의 확장성 이슈라고 하면 흔히 TPS만 생각하는데, Melvin Woo는 플랫폼 체인 개발사의 엔지니어 답게 블록체인의 성능에 있어서 고려해야할 요소들을 여러 세부항목으로 나누어주었습니다. 김재윤 님은 엣지 컴퓨팅 기술에 블록체인 기반의 인센티브 구조를 적용한 아이디어를 발표해 주셨습니다.
마치며
이틀간 진행되는 TXGX 세션들을 경청하면서 여러 궁금증이 풀리기도 했고, 몇몇 문제에 대한 해결책도 찾았습니다. 그러나 그만큼의 새로운 문제들을 발견하게 되었습니다. 문외한일 때에는 기술 발전이 휙휙 이루어지는 줄 알았는데, 생각보다 점진적으로 작고 큰 문제들을 해결해나가는 과정이었습니다. 이젠 블록체인도 남의 군생활이 아니라 내 군생활 같습니다.
TXGX는 그라운드 엑스의 CEO이신 Jason Han 님의 엔딩 멘트로 마무리되었습니다. 그라운드 엑스는 매년 TXGX를 개최할 것이며, 내년에 보자는 인사도 잊지 않으셨습니다. 그라운드 엑스와 함께 제주도에서, 플랫폼 블록체인의 나아갈 방향에 대해서 계속 고민할 수 있었던 좋은 기회였습니다. 플랫폼 체인들이 직면하고 있는 문제들을 어떤 방식으로 해결해 나갈지 기대됩니다. TXGX,내년에 또 만나요!
저한테는 저기 어디 아프리카 오지 말 처럼 들립니다;;;;;;;
이제 막 정보 수집해가며 알아가고 있는데 원... 도무지 어려워서 포기해야 하나 싶을때가...ㅋㅋㅋ
암튼 정보 감사합니다!!! :)
정말 좋은 정보 올려주셔서 감사합니다.
힘든 시기지만 좋은 시기가 왔을 때를 위해 리서치 해주시는 글들 열심히 정독 하겠습니다.
응원합니다. ㅎ