영상 / 자막 by Lunamint
안녕하세요 저는 서니입니다
현재 저는 텐더민트에서 코스모스 프로젝트 연구원/코어 개발자로 일하고 있습니다
그 외에도 저는 블록체인 앳 버클리(Blockchain at Berkley)에서 활동을 하고 있으며
에피센터(Epicenter)라는 블록체인 팟캐스트의 호스트입니다
질문: 텐더민트의 연구원으로서 어떤 일들을 하는가?
블록체인 분야 내에서 흥미로운 것 들을 찾고 연구하는게 제 역할인 것 같습니다
신기한 아이디어를 발상하며 관련 글들을 쓰기도 합니다
최근들어서는 연구 업무 보다는 개발 쪽에서 집중하고 있고요
아시다시피 코스모스 허브 개발이 조금... 늦어져서... ㅎㅎ
그래서 사실상 코드를 할 수 있으면 모두 개발을 돕고 있는 상태죠
저는 텐더민트가 좋은 이유는
블록체인 분야 연구원들의 다수가
상당히 이론적인 연구에 전념하고
실제 구현하는 것은 전혀 신경 쓰지 않기도 합니다
반대로 텐더민트가 가진 철학은
"좋은 아이디어가 있다면, 가서 구현해라" 입니다
이런 철학이 맘에 들죠
질문: 다른 블록체인들에 비하면 코스모스는 어떤 장점들이 있는가?
제가 생각하기에는
블록체인 설계를 검토 할때
트레이드오프에 대한 고민을 안할수가 없습니다
가장 흔한 트레이드오프는
탈중앙화와 확장성 중 어떤 것을 선택할지 고민입니다
벨리데이터의 숫자를 낮게 잡을지 또는 높게 잡을지 결정할때
확장성에 대한 트레이드오프가 있는 것이죠
또 다른 예시는 개발 프로세스의 난의도와 보안입니다
예를 들어 테조스의 경우
마이클슨 프로그래밍 언어가 개발자 친화적인 언어는 아닙니다
하지만 정형검증(formal verification)을 위해서는 잘 설계되었죠
어디에나 트레이드오프가 있는 것이 사실입니다
그래서 모든 장단점들의 중간점을 찾는 블록체인을 만들기 보다
모든 종류의 트레이드오프를 실험할 수 있는
다수의 블록체인 생태계를 제시하는 것이죠
더이상 '평균'을 기준으로 삼는 것에 만족할 필요가 없이
더 다양한 블록체인 디자인을 이용해볼 수 있는 것이죠
그 과정에서 소수의 블록체인 만이 살아 남는다면
지금처럼 일부 개발자들이 모든 결정을 내리는 것이 아닌
시장이 직접 결정할 수 있는 기회를 주는 것이라 생각해 좋다고 생각합니다
질문: 왜 코스모스가 블록체인 디자인의 혁신이라고 생각하는가?
제가 생각하기에
큰 틀에서 보았을 때
코스모스와 텐더민트가 블록체인 디자인 패러다임의 전환인 것을 보여주는 것은
모듈화와 점진적인 접근방식이라고 생각합니다
모듈화라고 하면은
우리 기술의 모든 계층은 더 작은 분야로 나뉘어져 있고
추상화(abstraction)가 편리한 설계가 되어있어
그래서 블록체인의 각 계층들의 큰 그림을 쉽게 볼 수 있죠
각 계층 또한 쉽게 바꿀 수 있습니다
예를 들어, 텐더민트 코어 합의 알고리즘은
코스모스 SDK와 다른 계층에 있고
코스모스 SDK 또한 모듈화가 되어있습니다
개인적인 생각에는
'블록체인들의 인터넷' 같이 복잡한 시스템의 최적화된 설계가 아닌가 싶습니다
물론 코스모스는 애플리케이션 특화 블록체인에 초점을 맞추고 있습니다
우리는 초창기 블록체인 생태계에 있었던 문제들에서 배운 것이 많죠
비트코인의 경우 매우 단일구조적인 설계를 가지고 있어
자신만의 블록체인을 만들고 싶었다면
그 당시에는 사실 비트코인 코드를 포크하는 방법 밖에 없었습니다
또한 매우 난잡하고 유연하지 않은 코드를 가지고 있어서
새로운 애플리케이션이 비트코인의 형태와 비슷할 수 밖에 없었죠
그래서 초기 블록체인들은 라이트코인과 도지코인 같이 비트코인과 매우 유사했습니다
네임코인 같이 다소 다른점이 있었던 소수의 애플리케이션은
사용 목적에 맞지 않는 매우 비효율적인 솔루션을 가진 블록체인에서 운영되었고요
비트코인 코드에서 크게 벗어날 수 없었기 때문이죠
코스모스의 또 다른 장점은 점진적인 접근방식이라고 생각합니다
전에 이야기 했던 것 처럼
코스모스는 "좋은 아이디어가 있으면 직접 만들어라"라는 마인드가 있습니다
반면 다른 프로젝트들은
너무 복잡한 메커니즘들을 생각해내고 있죠...
예를 들어 플라즈마... 지금 사실 플라즈마의 종류만 해도 10개가 되는 것 같아요
하지만 근본적으로 현재 블록체인 간 소통을 가능하게 하는 방식을 찾은 프로젝트가 없다는 것이 현실이죠
물론 실제로 작동하는 것을 보여준 프로젝트들도 없고요
그래서 저는 코스모스의 '한 걸음씩이라도 앞으로 나아가자'라는 생각이 핵심이라고 생각하고요
질문: 왜 코스모스 SDK가 블록체인 개발 절차를 바꾼다고 생각하는가?
코스모스 SDK는...
우선은 개인적으로 블록체인 개발에 3개의 '세대'가 있다고 생각합니다
1세대는 전에 언급했던
비트코인 코드를 포크해서 조금씩 변형하는 것이죠
물론 비트코인의 단일적 설계가 문제가 되기는 했죠
다음은 이더리움이 소개한 2세대의 블록체인 개발입니다
이더리움은 다목적 버추얼 머신(VM)을 제공하고
그 VM 위에 스마트 컨트랙트를 만들 수 있는 도구를 제공해주었습니다
이 도구를 이용해 블록체인 애플리케이션들이 만들어졌죠
하지만 이런 구조의 단점은
근본적인 프로토콜을 나의 사용 목적에 따라 변경할 수 없다는 것입니다
이렇게 되면, '평균적으로 봤을때만 좋은 시스템' 을 이용할 수 밖에 없습니다
제가 흔히 말하는 예시로는
(이더리움의) '계정 단위 시스템'은 보편적으로 좋은 설계일 수 있습니다
대체로 작업도 순조롭기도 하고요
하지만 만약에 제가 결제 시스템을 만들고 싶다고 한다면
저는 UTXO 시스템이 결제 시스템에는 더 우수한 디자인이라고 생각합니다
비트코인이 UTXO를 이용한 이유가 있죠
병렬 구성과 동시 사용이 더 쉽기 때문입니다
하지만 만약 제가 이더리움 위에 결제 시스템을 만들고 싶다고 하면
저는 이더리움의 계정 모델에 한정될 수 밖에 없죠
또는 누가 이더리움의 프리컴파일(pre-compile) 권한을 결장하는가 등
태생적인 설계를 바꿀 수 없다는 문제가 존재하죠
코스모스 SDK의 경우
이더리움이 불러온  개발 편의성에 모듈성을 추가했고
내 블록체인의 근본적인 설계를 바꿀 수 있는 권한을 줍니다
텐더민트의 CTO Ethan Buchman이 늘 말하는 것 처럼
누군가의 제국의 법칙에 속할 필요 없이
나만의 도시 국가를 만들어서
나의 커뮤니티가 자체적으로 법칙을 만들고
나만의 사용성을 위해 최적화를 할 수 있는 것이죠
질문: 블록체인 인터오퍼러빌리티(상호호환성)란 무엇인가?
코스모스가 정의하는 가장 근본적인 블록체인 상호호환성은
블록체인간 자산과 상태를 이동할 수 있다는 것입니다
이런 것들에는 토큰을 이동하는 것도 포함이 되어있고
비트코인 블록체인에 있는 비트코인을
'비트코인'이라는 ERC-20 토큰 형태로 이더리움에 옮기고
스마트 컨트랙트에서 이용을 하다가
다 썻으면 다시 비트코인 블록체인으로 이동시키는 것이죠
이런 것들은 아토믹 스왑으로 불가능한 일들이죠
그리고 결국 블록체인간 토큰을 이동하는 것으로 시작은 하지만
시간이 지날수록 더 복잡한 상호호환성을 준비하고 있습니다
예를 들어 NFT토큰(non-fungible tokens)이나
이더리움 보다 잘 설계된 VM이라면 스마트 컨트랙트를 이동하거나
프라이미아(Primea)가 보여준 모델에서는  스마트 컨트랙트 이동도 가능할 것 같고요
또는 제가 흔히 '컴플렉스 오브젝트'라고 부르는
작동 로직이 내장되어있는 NFT 토큰이 있을 수도 있고요
예를들어 제가 크립토키티 토큰을
이더리움에서 다른 블록체인으로 이동시킬때
크립토키티의 종자에 관련한 로직들은 아직 이더리움 블록체인에 있다는 문제가 존재하죠
만약 제가 크립토키티를 번식하려면 다시 이더리움으로 이동해야 하고요
하지만 컴플렉스 오브젝트는 로직이 내장돼있기 때문에 어떤 체인에 있던 크립토키티를 번식할 수 있죠
이런 것들이 제가 연구하고 있는 장기적인 생각들 중 하나입니다
다시 '점진적인 발전'에 대한 논의로 돌아가자면
우선은 가장 기본적인 토큰 이동을 해결하고
천천히 더 복잡한 기술을 발전시키는 것이죠
코스모스는 오픈 프로토콜이고 코드 또한 오픈 소스입니다
제가 직접 일일이 확인해보았어요, 우리가 만든 모든게 오픈소스인지
저희는 단 하나의 비공개 코드도 존재하지 않다고 말할 수 있습니다
우리의 모든 기술은 오픈소스이기 때문에
커뮤니티 멤버 누구나 이를 이용해 개발을 할 수 있습니다
