최근에 회사일이 다사다난하고, 개인적인 일도 많아서 포스팅을 하지 못했습니다. 인터체인 프로젝트 정리를 서둘러서 마무리해야하는 상황인데도 불구하고.... 최근의 개인사로 인해서 잠시 펜딩을 하고, 최근에 블록체인 세미나를 돌았던 내용중에 하나를 풀어보려 합니다. 주제는 우리가 블록체인의 구조에 대해서 공부하면서도 크게 개의치 않았던 블록의 Header 값에 들어있는 Time, 바로 시간입니다.
블록체인의 도입이유
블록체인의 도입에는 수 많은 이유가 있을 수 있습니다. 보안, 안정성, 비가역성, 분상원장을 통한 탈중앙화, 중개자의 제거와 같은 부분들이 우리가 알고 있는 대표적인 이유입니다. 하지만 블록체인을 도입하는 이유가 정말 이게 전부일까요? 그렇다면 어째서 지금 모든 기업들이 블록체인을 도입하지 않을까요?
단순히 보안을 위해서는 기존 Data storage에 Software 기반의 보안을 좀더 덕지 덕지씌워주면 미흡한 보안에 대한 문제는 어느정도 해결됩니다. 안정성도 마찬가지입니다.
비가역성은 이전의 데이터를 암호화하여 저장하고 해당 내역의 변화를 해시값으로 지속적으로 업데이트하게 된다면 데이터의 변동에 대한 기록을 덮어씌우는 개념이 아니라, 변화의 내역을 기록하는 방식으로 완성됩니다.(정확히는 과거 데이터의 수정이라기 보다는, 변화의 내용을 기록, 일반적으로 대부분의 사람들이 기업이 도입하는 블록체인을 암호화된 레져를 분산해서 들고있을 뿐이라고 표현하는 이유) 다만 이러한 내역을 담당하는 주체가 기존에 서버이기 때문에 중앙화의 문제점(신뢰에 대한 문제)이 해결되지 않는 다는 것입니다.
몇몇 선구자 적인 기업들이 블록체인을 도입하고 있습니다. 과연 이러한 기업들이 탈중앙화를 위해서 블록체인을 도입할까요? 기업들이 생각하는 블록체인의 도입 목적은 탈중앙화가 아닙니다. 이미 중앙화되어 이익을 내고 있는 상황에서, 이익과 비용의 분산이라는 개념의 목적을 가지고 탈중앙화라는 목표로 블록체인을 사용할 이유는 전혀 없습니다. 대부분의 기업들이 블록체인을 도입하고자 '계획'하는 이유는 중개자의 제거를 통한 비용의 효율화일 것입니다.
얼마전에 올렸던 PPT 파일에서 교보생명의 케이스를 본다면 이해가 쉬울 듯합니다. 얼마전에 언론에서도 공식적으로 발표를 하였으니 내용을 적기도 부담스럽지 않군요.
일반적으로 우리가 실손보험을 수령하기 위해서는 병원비를 결제하고, 증명서를 발급받고, 증명서를 제출하고, 보험금을 지급받는 과정을 거치게 됩니다. 이 과정에서 2~3일정도의 시간이 소요되고, 보험사 내부에서는 해당 내역을 확인하는 수많은 사람들이 존재합니다.
기존에 보험사에서 확인하는 것들은 다음과 같습니다.
- 교보생명에 가입이 되어있는지
- 실손보험에 가입이 되어있는지
- 월 납부를 꾸준히 했는지
- 병원에서 실손보험에 해당하는 병원비를 결제했는지입니다.
블록체인을 도입하기 이전에는 A라는 사람이 보험사에 증명서를 제출한 순간 1번부터 확인과정이 시작되게 됩니다. 만약 블록체인을 도입하면 어떻게 될까요?
블록체인을 도입하게 되면 이미 1~3번까지는 확인이 끝나있습니다. 마지막 4번인 결제가 끝나는 상황에서 이미 보험금 지금 준비는 완료되게 되는 것이죠. 이미 언론에서 이야기한바와 같이 교보생명은 향후에 실손보험에 한해서는 10분 내외의 시간에 보험금지급을 완료하게 될 것입니다.
이미 기존에 교보생명은 실손보험 서비스를 진행하고 있습니다. 기존의 서비스가 과연 보안이 낮아서 블록체인을 도입했을까요? 안정성? 비가역성? 탈중앙화? 그 무엇도 도입의 이유는 아닙니다. 교보생명 내에서 보험지급의 내역을 확인하는 과정에 있는 중개자(회사의 직원)의 컷팅을 통한 인건비 절감과, 보험서비스 가격의 현실화 정도가 그 이유가 될 수 있을 듯합니다.
하지만 저는 개인적으로 블록체인의 현재 기술 수준에서는 기업들이 블록체인의 시범적인 도입이 아닌, 본격적인 도입을하기에는 어렵지 않나 생각합니다. 이유는 데이터가 기록되는 순서가 명확하지 않다는 점, 바로 시간입니다.
지금 현대 사회에서 발생하는 수많은 상호작용이 있습니다. 걸어가는 것, 숨을 쉬는 것, 주변을 보는 것과 같은 사람의 행동 뿐만 아니라, 차를 움직일때 엑셀을 누르는 것, 엔진에 연료가 들어가서 동력을 만들고 차가 움직이는 것과 같은 것들 말입니다. 만약 이러한 상호작용을 기반으로하는 현실세계를 블록체인화 한다면 어떻게 될까요?
단연코 완벽한 혼돈에 빠질 것입니다. 모든 상호작용에는 시간을 기반으로하는 순서가 있습니다. 현재의 블록체인은 순서를 기록하지 못합니다. 제가 엑셀을 밟고 엔진이 움직이는 것은 실생활에서는 거의 동시간대에 이루어지지만 명백한 순서가 존재합니다. 만약 블록의 사이즈나 tps의 문제, 또는 체리픽킹의 문제, 벨리데이션에 걸리는 시간의 문제로 엔진이 먼저 움직인 것으로 기록된다면 어떻게 될까요? 자동차의 문제일까요 블록체인의 문제일까요? 비트코인의 PoW에서는 블록의 생성 시간(예를 들면 1초에 들어가있는 전송과 9분 59초에 들어간 전송이 동일 블록에 기록될 수 있음) 과 체리픽킹과 수수료 이슈로 인해서 순서를 명확히 기록할 수 없고, 이더리움의 경우에도 마찬가지 입니다. 블록체인이라는 기술에서 발생하는 데이터 지연의 효과도 무시할 수 없습니다.
예를 들어 블록체인을 기반으로한 거래소가 있다고 가정해보겠습니다. 사실 저는 지금의 블록체인 기술을 기반으로하는 암호화폐 거래소에 대해서 굉장히 회의적입니다. (실제로 현재 만들어진 dex는 안쓰이고 있습니다, 일간 거래가 100건~300건 수준)이유는 단순합니다. 블록의 생성이 0.01초 만에 이루어지는 엄청난 성능의 블록체인을 만들어낸다 하더라도 지구 반대편에 있는 친구가 저의 주문내역이 반영되어있는 Order book을 확인하기 위해서는 데이터 지연 효과가 2초정도 발생하기 때문입니다.
퍼블릭 블록체인, 암호화폐는 지구를 잇는 기술이 아니던가요? 과연 지구 반대편에 있는 친구가 2초의 시간 갭에서 저와 동시에 주문을 넣는다면, 누구의 주문이 먼저 체결될까요? 아니 되어야 할까요?
그렇기 때문에 우리는 tps에 이토록 집착하는 것일지도 모릅니다. 높은 전송에 대한 톨러런스는 순서에 대한 문제를 최소화할 수 있을 테니까요. PoW -> PoS -> DPoS -> LFT, 텐더민트 등등....으로 조금씩 탈중앙화를 포기하면서 나아가는 합의 알고리즘의 변화는 대부분 이러한 목적을 가지고 진행되고 있습니다. 수많은 플랫폼 블록체인은 매일 매일 tps에 대한 이야기를합니다. 소수의 노드를 기반으로 AWS에서 1000tps를 도달했다느니, 이론적으로 10만 tps가 가능하다는 이야기와 같은 것들입니다.
다만 이러한 합의 알고리즘의 변화는 10년 20년뒤에 본다면 지금의 PoW와 같이 모두 구시대의 유물이 될 것입니다. 모든 사람들이 플랫폼 블록체인을 생활속에서 사용하고, V2X와 같은 차간통신이 사회 전반에 깔리게 될때에는 tps 10만건은 지금의 tps 3.5건(비트코인)과 비슷한 수준일 것이기 때문입니다.
tps는 지속적으로 발전할 것입니다. 지금의 10만, 20만이 아니라, 100만 1000만과 같이 말입니다. 다만 현재 이러한 기술의 발전 방향은 기술경연 대회에 불과해 보입니다. 본질적인 문제가 해결되지 않은 이러한 기술을 누가 사용하게 될까요? 저는 현실을 대체하기 위해 근본적으로 필요한 고민이 반영되지 않은 기술의 효용은 없다고 판단합니다. 마치 만들어놓고 아직까지 잘 쓰이지 않고 있는 중국의 슈퍼컴퓨터인 Sunway 처럼 말입니다. (물론 최근에 해시그래프의 경우에는 시간을 감안하려하고 있습니다, 향후 코드 오픈이 된다면 과연 정말 시간에 대한 문제를 해결했는지 코드리뷰를 해볼 계획입니다)
혹여나 지금 새로운 합의 알고리즘을 고민하시는 블록체인 엔지니어 분들이 계시다면, 시간에 대한 순서를 고려하시고 디자인을 해주셨으면 하는 바램이 있습니다. 어차피 블록체인은 대부분 오픈플랫폼입니다. 모두가 tps에 집중하고 있을때, 시간의 흐름(flow)에 집중하는 사람이 있다면 플랫폼 블록체인의 발전은 좀 더 생산적인 방향으로 나아가지 않을 까 생각합니다.
너무나 많은 플랫폼 암호화폐가 등장하는 와중에 느껴진 매너리즘을 한번 적어봤습니다. 같은 고민을하고, 답을 함께고민해보는 사람들이 많아졌으면 좋겠습니다. 감사합니다.
저도 해시그래프 자체에는 꽤나 포커스를 두고 있습니다만... 뭔가 아웃풋이 안보여서 -ㅅ-;
코드만 오픈된다면 확인이 가능하지 하지않을까요....?ㅎㅎ 저도 정말 기대하면서 기다리고있습니다.
코드 오픈을 할 생각이 없는것같습니다. 기업에 판매하기 위해서 기술 유출을 극도로 꺼리더군요.
최근 포스팅이 뜸하셔서 많이 기다리고 있었네요~ ㅎㅎ 해쉬그래프가 엄청난 tps와 함께 시간 순서까지 고려할 수 있을지 의문스럽기도 하고 기대가 되기도 합니다. 간만에 좋은 포스팅 잘 보고 갑니다 :)
주중에는 회사에서 일을하고 주말에도 세미나를 다니느라(UIC 등등...)시간이 너무 부족해서 포스팅을 할 시간적 여유가없었습니다...ㅎㅎ 기다려주시는분이있다니 기분이 정말 좋네요! 기다려주셔서 감사합니다. 해시그래프는 코드오픈되몀 코드리뷰 포스팅을 남겨보도록라겠습니다 :)
지금이야 tps를 따지긴한데.. 확실히 본질적인 문제가 더 중요한거같긴합니다. @홍보해
그쵸... 우리가 동일 시장을 타겟팅하는 dapp에 투자하지않듯... 플랫폼과잉의 시대인듯합니다. 구글구글구글구글....
@홍보해
kr-dog이 죽었나 봐요..ㅠㅜ
기술적인 고민이 담긴 글 잘 읽고, 리스팀합니다^^
감사합니다 ^^
기술적인 발전을 확장시키는데는 본질적인 것을 해결하는 어떤 전환점이 필요한 것이 아닐까 싶습니다. 공감하고 갑니다:)
그쵸...블록의 생성속도측면에서의 발전(이오스는 0.5초라고하고...)이던 블록내 인풋의 반영 순위 기준등이 마련되지않는다면 블록체인의 보편적 도입을위한 본질적인 문제의 해결은 이루어지지않을듯합니다
잘 읽었습니다.
시간의 문제는 어떤 용도로 쓰일 블록체인이냐에 따라 달라질 문제 같습니다.
용도를 고민하지 않고 개발하는 기술은 당장은 찬란해 보여도 결국 죽은 기술이 되겠지요.
보험에 블록체인을 도입한 경우도 기업은 비용절감을 먼저 생각하겠지만, 고객은 투명성을 먼저 보지 않을까요?
지금은 내가 내는 보험료가 어떻게 지급되는지 볼수 없는데(물론 우편 통지는 받지만 과정은 없고 결과만 보여줍니다.) 가까운 미래에는 이 과정을 투명하게 보여주는 보험회사가 등장할 것으로 기대되며, 기존의 보험 회사도 그에 따라 갈수 밖에 없는 시장환경이 되지 않을까 싶습니다.
즉, 보험료의 인풋과 아웃풋을 투명하게 밝히는 보험회사가 등장 하지 않을까 싶네요. 이제까지 어떠한 보험 회사도 고객에게 그런 정보를 제공하지 않더군요.
중앙화되고 프라이빗한 보험의 특성상(보험과 재보험의 집중) 비용구조의 투명한 공개는 어려울듯합니다. 이윤을추구하는기업의 이익구조를 오픈하는것과 마찬가지니까요...ㅎㅎ
저도 기존 기업이 그런 일을 할거라 보지 않습니다.
그런 시도를 하는 보험회사가 등장하면 고객들이 그 쪽으로 쏠림 현상이 일어나고 결국 기존 보험회사들이 손을 드는 식으로 흘러 갈듯합니다.
예를 들어, 저는 이 스팀잇이 사용자가 아주 많아지면 결국은 광고를 받아들일 수 밖에 없다고 보는데 이 경우, 스팀잇의 광고수익은 모두 드러납니다. 그리고 그것이 어떻게 사용자에게 보상으로 돌아가는지까지...(혹은, 스팀잇이 아닌 다른 블록체인 기반 SNS일수도 있구요. 어찌 되었건 미래에 크게 성장한 블록체인 기반 SNS가)
그런 과정을 통해 기존의 SNS 기업들이 무너지거나 따라 하거나 둘중 하나를 선택해야하는 시점이 올거라고 봅니다.
그럴수 있지요, 블록체인은 과거에 없는 투명한 환경을 제공해주기도 했으니까요.
이번 페이스북의 데이터 주권의 문제가 이를 촉발시킬수도 있어보입니다. 조만간 사이버 프라이버시와 관련해서 최근에 세미나한 pt자료를 업로드 할 계획입니다.
잘읽었습니다
감사합니다 ^^
좋은 글 잘 보았습니다.
검증에 대한 인건비 절감으로써 블록체인은 참 좋은 것이군요. ^^ ?
전 아직 대부분의 모든 문제를 블록체인으로 해결 못한다고 생각하고 있습니다. 기존 중앙화 서버 아키텍쳐에 비해 장점도 없고 현실은 더 중앙에서 관리하는 MQ등의 클라우드 아키텍쳐가 발전하고 있죠.
블록체인은 단지 신뢰라는 점인데... 과연... 그 리소스를 낭비할 필요가 있나 쉽네요. 정치적이거나 누군가 조작을 하면 안되는 부분이 아닌 이상
서비스 관점에서는 아직 먼 기술로 보고 있습니다.
비동기를 순차적으로 해결해야 하는 트랜잭션 문제도 아직 해결 못하고 있으니까요.
논의하신 부분들이 저에게 도움이 되어서 댓글 남겨봅니다.
아직 갈길이 먼기술입니다 ^^... 수많은 기업에 블록체인 TF가 만들어졌지만 아직까지 딱히 도입하지 않는 이유이기도해보입니다. 블록체인이라는 기술이 궁극적으로 사용되려면 프라이빗과 퍼블릿의 조화가 필수적으로 사용되어야해 보이고(몇몇 세계를 연개해서 새로운 비지니스를 만들어내지않는한...속도나 탈중앙화 안정성에 대해서 부분적으로 포기하는). 단순히 데이터 스토리지의 역활을 하는것으로 보았을때는 말씀하신데로 클라우드와 같은 기존 서버단을 대체하기도 어려워보입니다. 이때문에 클라우드 기반의 baas가 도입되는듯합니다. 월마트의 돼지고기 사례처럼 블록체인의 flow에 대한 기록과 이용은 그만큼 파워풀하니까요. 같이 재미있게 스터디해보시죠 ^^
블록체인의 flow에 대한 기록은 참 멋지군요. ^^
좋은 정보 감사합니다.
좋은 글 정말 감사합니다.
현재 많은 사람들이 알고리즘의 퍼포먼스에.너무 집착하고 있다는 부분은 참 공감이가는 부분입니다..