[유튜브 번역] 스케일링 비트코인 x100000/스케일링을 위한 다음 단계 By Emin Gün Sirer
OK.자 어디 한번 여러가지로 이야기를 해봅시다.
시작하죠.
현실직시부터 하죠.
포크가 일어났습니다.
우리모두에게 고통스러운 일이었죠.
우리는 골대의 위치를 마구 옮겨대는 혼란스러운 내러티브속에서 살아왔죠.
그들은 공을 움직이는것보다 더 많이 골대를 옮겨댔죠.
공은 오히려 가만히 그자리에 있었습니다.
끊임없는 싸움과 조롱들,트롤링.
그 모든것이 끝났습니다.
이제는 미래를 향해 나아가야 할 때입니다.
우리에게는 이 화폐,또는 이 오리지널 화폐를
위한 두가지 비전이 주어져 있습니다.
하나는 Store of Value 의 비전입니다.
그들은 특히 이 비전을 굉장히 밀고 있죠.
샴페이든 뭐든 터뜨려가면서 축하도 하고요.
수수료시장에 대한 아이디어.
그렇게 하게 놔둡시다.
그냥 하게 놔둡시다.
샴페인 실컷 먹도록 놔둡시다.
앞으로의 세계에 집중합시다.
도입률이 상승으로 시작되는 세계로요.
여기에 계신 모든분들은 정말 훌륭하게 이일을 수행하고 계십니다.
도입률에 대한 뉴스들은 들을때마다 너무나 기쁩니다.
도입률은 더 많은 확장성을 필요로 합니다.
더 더 많은 확장성에 대한 요구되고 있습니다.
그러면 그 확장성은 어떻게 이뤄낼수 있을까요
끊임없이 블럭사이즈를 계속 조정하면 되는 문제일까요
좋은 질문이죠.
일단 먼저 기본적으로 하나를 깔고 갑시다.
블럭사이즈를 올리는건 가장먼저 해야할 일을 정확히 한것입니다.
그리고 여기에 대한 광범위한 측정 연구 결과를 손에 넣은 셈이죠.
우리 그룹은 Bitcoin 노드가 실제로 가지고있는 자원에 대한 연구를 행한 첫번째 그룹입니다.
우리는 이 자원들과 네트워크 대역폭가 얼마나 되는지,그리고 어떤추세로 상승해왔는지에 대해 수년에 걸쳐종적 연구를 해왔다.
그리고 과학적 층적에서 말하건데 아무런 중앙집중화의 위협없이 비트코인 캐쉬 커뮤니티가 한것처럼 블럭사이즈를 상승시키는것이 가능했습니다.
그리고 계속해서 블럭사이즈를 조정하는것도 중요합니다.
우리는 정체된 세계에서 살고있지 않으니까요.
네트워크가 발전함에 따라서 계속해서 블럭사이즈를 늘리는 것이 가능해집니다.
하지만 그것만으로 충분할 것이냐가 문제입니다.
아마 여기 계신분들이 마음에 안들어 하실 이야기일지도 모르겠지만
그렉 맥스웰과 친구들이 완전히 틀린것만은 아닙니다.
블럭사이즈를 완벽하게 조정할수는
아니 계속적으로 반복해서 조정할수는 없습니다.
단순히 하나의 파라미터를 상승 시키는것만으로는 충분한 스케일을 이뤄내긴 힘듭니다.
마이크로 트랜잭션,IOT등등에서 요구되는 레벨을 위해서는
그저 계속 블럭사이즈를 크게 크게 크게 하는것만으로는 부족합니다.
게다가 우리는 지금 활기가 넘치는 커뮤니티를 가지고 있습니다.
우리는 지성으로서 이끄는 입장에 서야 됩니다.
단순히 어디 다른곳에서 만들어지고 개발된 코드같은 것을 이자리로 들고와서 합치는 것만으로는 충분하지 못합니다.
서로 떨어진 2개의 섬이 있다고 해봅시다.
A 섬은 제한된 자원만을 활용하며 살아가고 있습니다.
그런데 B섬에서 모든 자원을 활용하여 프로토콜을 개발한뒤에
A섬으로 갑자기 이걸 들고 오면 어떻게 되나요
A섬 사람들은 여기에 대한 아무런 준비도 되지 않은 상태인데
이렇게 위험한 위치에 서지 않기 위해 항상 이끄는 입장에 서야 됩니다.
이것은 본질적으로 지금부터 어떻게 스케일을 늘려나갈 것인지를 이해나는 것입니다.
그리고 지금부터 제가 하는 이야기는
온체인과 오프체인 양쪽 모두를 옵션으로 두고 하는 이야기 입니다.
왜냐하면 제가 하려는 이야기의 주요 핵심은 여러분들은 라이트넹 네트워크라는 단어에 너무 세뇌되어 있다는 것입니다.
라이트닝 네트워크 말고도 다른 오프체인 솔루션도 존재합니다.
그리고 비트코인 캐쉬의 비전과 알맞는 오프체인 솔루션도 존재합니다.
나중에 시간이 된다면 네트워크내에서의 스케일링에 관한 이야기도 하도록 하죠.
종종 별게 아닌것처럼 다뤄지는 사안이죠
지금 나열된 목록들중 가장 소외받는 사안이 네트워크이야기 입니다.
비트코인NG에 관해서 이야기를 드리기로 하죠.
NG는 Next Generation의 약자입니다.
꽤나 오래전,약 4년전에 작업을 했던 프로토콜입니다.
이 모든 갈등들이 막 시작되던 시점이었습니다.
저와 Ittay Eyal,Robbert van Renesse 그리고 학생인 Adem Efe Gencer은
비트코인의 핵심 비전지표들은 건드리지 않은체 스케일이 가능한 방법에 대해서 알아보기 시작했습니다.
마이너들은 물론 시스템의 거의 모든 부분들은 그대로 유지하고
보안성과 신뢰도등도 건드리지 않으면서도 어느정도의 스케일을 이뤄내는 거죠.
여기서 어느정도라는건 그렇게 큰 규모를 말하는건 아닙니다.
아쉽게도 NG로는 백만단위까지의 스케일링은 안됩니다.
그저 삼각퍼즐중 한부분일 뿐이라 말할수 있습니다.
비트코인NG에 관해서 지금 설명을 해드릴 테지만
NG의 백서도 한번 일어보시기를 권장합니다.
왜냐면 이건 과학적 탐구면에서 이뤄져야 하는 적절한 스케일링을 위한 일종의 로드맵이라고 저는 믿고 있기 때문입니다.
백서는 세가지 역할을 합니다.
일단 프로토콜을 제안하는 역할.
여러분들도 프로토콜들이 제안되는 것을 봐오셨겠죠.
모두가 그 형편없는 백서들을 보아왔죠.
A가 B에게 메세지를 보내고 B는 또 어쩌고 하면서
어떤것을 어떻게 하는지 기술적인 이야기들을 늘어놓는 백서들
하지만 우리는 그 프로토콜에 대한 기술적인 이야기외에 추가적으로 어떻게 이것을 달성할 것인가,그리고 우리가 목적을 달성했는지의 여부를 측정할수 있는 메트릭스와 양적 측정방식도 소개되어 있습니다.
그이고 데이터 센터에서 비트코인 전체 네트워크를 실행하기 위한 전체 시뮬레이션 프레임워크를 실제로 개발하고 전부 시뮬레이팅을 합니다.
그리고 그 결과를 실제로 보는거죠.
저는 지금 여러분들에게 우리가 한 일에 대해서 최대한 전달하고 싶습니다.
더이상 개발자들이 그저 꾸며내는 이야기나 허황된 디자인같은 함점들에 빠져들지 않도록요.
이제는 어떤것이 제대로 된 행동인지 알수있을겁니다.
비트코인 NG애 관해서 이야기를 해보죠
여기서 핵심적인 요소,핵심적인 인식은
비트코인 블럭은 두가지의 목적을 수행한다는 것입니다.
여기에 블럭이 있습니다.
그리고 그 안에 암호퍼즐이라는 요소가 있습니다.
이 퍼즐이 실제로 하는 일은 무엇일까요
이 암호퍼즐은 마이너에게 다음 10분동안 일어날 일들에 대해 결정할수 있는 권한을 줍니다
일종의 리더 선출이죠.
암호퍼즐을 품으로서 향후 10분동안 리더가 될수 있는겁니다.
그리고 나면 다음 10분간 일어날 일들을 나열합니다.
이 분산원장의 끝페이지에 추가적인 사항들을 더할수 있게 되는거죠.
보시면 알겠지만 이건 회고적인 프로토콜입니다.
선출된 리더는 과거 10분간 무슨일이 일어났냐를 정하는 거죠.
우리는 여기에 약간의 변화를 주었습니다.
이 작은 변화로 흥미로운 결과를 가지게 됩니다.
우리가 하고 싶어 하는것은 뭘까요.
우리는 블럭사이즈를 확장하기를 원합니다.
아주 큰 블럭을 가지고 싶어 하죠.
하지만 그렇게 된다면 포크들이 일어날 것이고
소규모 마이너들이 떠나게 되겠죠.
아니면 블럭의 빈도를 높이는 방법도 있습니다.
하지만 이 역시도 소규모 마이너들이 떠나게 되고 중앙집중화를 초래하죠.
하지만 저는 이 가운데 교차점을 만들고 싶습니다.
낮은 블럭타임과 높은 처리량 임에도 포크의 위험이 없는 상황.
앞전 그림으로 돌아가 보면
이것이 일반적인 비트코인 트랜잭션이 일어날때 일어나는 일입니다.
네트워크는 사실 대부분 평온한 상태입니다.
누군가 누군가에게 지불을 하는일 외에는 별다른 일이 일어나지 않습니다.
그냥 트랜잭션들이 왔다갔다 하고 있는거죠.
그러다 갑자기 블럭이 채굴되면 이 블럭을 최대한 빠르게 전파시키기 위해서 광적인 활동들이 일어나죠.
그리고 나면 다시 평온한 상태로 돌아갑니다.
이 광적인 기간만 없다면 아주 좋을텐데 말입니다.
이 기간은 굉장히 스트레스적인 시간이니까요.
자,그러면 어떻게 해야될까요
아까 말한대로 낮은 블럭타임으로 높은 처리량을 가지면서
프로토콜을 안정화시키려면 어떻게 해야 될까요
비트코인 NG가 제안한 방법은 이런것입니다.
블럭을 2개로 나눠서 각기 다른 용도를 부여하는 겁니다.
우리는 그중 하나를 키 블럭이라고 부릅니다.
이 키블럭의 용도는 리더를 선출하는 용도입니다.
그리고 다수의 마이크로 블럭들이 있습니다.
이 마이크로 블럭들은 실시간으로 벌어지는 일들을 나열시킵니다.
지난 10분간의 일들을 나열하는 본래의 회귀적인 프로토콜이 아니라
앞으로의 일을 다루는 전진 적인 프로토콜을 가지게 되는 겁니다.
선출된 리더는
이런 일이 일어났다.이런 일이 일어났다.이런 일이 일어났다.이런 일이 일어났다.
이게 어떻식으로 보여지냐면
이런식으로 보여집니다.
모든 키블럭안에는
키 블럭은 POW로 채굴됩니다.
종래의 마이너들이 행하는 방식과 똑같은 방식입니다.
블럭 코인베이스 안에는 현재와 마찬가지로 키들이 위치될것입니다.
마이너들 식별사인이나,IP주소,포트 등등 이런것들은 비트코인 NG블럭체인에서는 존재하지 않게 됩니다.
하지만 지금처럼 키는 존재하게 됩니다.
그리고 이 코인베이스키는
트랜잭션들을 담고 있는 작은 마이크로 블럭들을 조립하는 용도로 쓰입니다.
여기서 짚고 넘어가야 할 중요점은 키 블럭들은 아주 작고 드물다는 점입니다.
종래와 마찬가지는 10분마다 하나씩 나옵니다.
마이크로 블럭은 아주아주 작지만 굉장히 많이 있습니다.
10분마다 아주 큰 블럭이 생겨나며 광분모드로 들어가는 대신
10분동안에 걸쳐서 블럭들을 만들어 내는 겁니다.
시스템의 중앙집중화에 대한 압박에서도 벗어나면서 말이죠.
이 작업들이 어떻게 진행되는지 시각화를 하번 해보자면
저기 저 녹색 물체가 블럭체인의 꼬리부분을 나타낸다고 해봅시다.
그리고 중간에 마이너가 키블럭을 발견합니다.
"헤이,내가 암호를 풀었고 여기 내 키가 있어"라면서 들어오는 거죠.
이 키 블럭에는 리더를 선출하기 위한 용도의 키외에는 아무것도 담겨있지 않습니다.
이 시점에서 트랜잭션들이 들어오기 시작하고
마이너는 자신이 발견한 코인베이스키로 이 트랜잭션들에 사인을 하기 시작합니다.
그리고 여기 있는 마이크로 블럭들을 연결하기 시작하고
이로인해 블럭체인은 계속 확장되어 갑니다.
이 블럭들 역시도 보통의 블럭체인들 처럼 같이 연결되게 됩니다.
즉 블럭체인 전체를 망가뜨리지 않는한 따로 떼어낼수 없다는 뜻이죠.
계속해서 블럭체인은 확장을 해 나갑니다.
그런데 어느 시점에서 어떤 마이너가,
여기서는 노랑 마이너군요.
이 마이너가 들어오고 다른 키 블럭을 찾아내게 됩니다.
그리고 이 마이너는 도중에 끼어들게 됩니다.
이렇게 되면 몇개의 마이크로 블럭들이 잘려나가게 되지만
딱히 문제가 되지는 않습니다.
이 키블럭들의 생성 주기는 아까 말한것 처럼 10분입니다.
중앙집중화에 대한 우려는 완전히 클리어된거죠.
그리고 광적인 활동들도 극도로 줄어듭니다.
블럭사이즈는 아주 작아지고,여러번에 걸쳐서 배포된 상태입니다.
기술쪽 분야의 분들은 아마 다 좋아보이는데 여러 방면에서의
공격가능성이 머릿속으로 상상되시겠죠.
맞습니다.여러방면에서 공격이 가능합니다.
대표적으로 두가지가 있습니다.
첫번째는 리더가 마이크로 블럭을 숨겨버릴수 있다는 겁니다.
그냥 무시해버릴수도 있구요.
만약 당신이 여기의 빨강색 리더라면
앞선 블럭의 꼬리부분으로 들어와서 마이크로 블락 몇개를 훔치려고 시도할수 있겠죠.
아니면 파랑리더의 경우 길다란 체인을 만든뒤에 아무에게도 전달하지 않고
그냥 자기가 가지고 있는 경우도 생길수 있습니다.
자기가 다시 빨강리더가 됨으로서 내 체인을 길이를 계속 늘리기 위해서요.
두가지 경우다 적절한 문제제기입니다.
여기서 부터는 설명이 좀 복잡해지는데 너무 깊이 들어가진 않겠습니다.
다만 보상체계가 약간은 다르다 라는건 말하고 싶군요
이 시스템상에서 이론적으로 사람들에게 옳은 방향으로 인센티브를 주기 위해선 어떻게 해야 될까요?
약간 다른 방식의 셋팅이 이뤄집니다.
마이너는 자신들이 일했던 작업양과
체인을 늘렸던 작업양 양쪽에서 보상을 받습니다.
그렇게 함으로서 모두가 좋은 방향으로 일하도록 유도 하는거죠.
여기서 레드 리더는 자신이 작업을 한 레드 블럭의 작업양만이 아니라
그가 연장시킨 블루 마이크로 블락으로 부터도 보상을 받습니다.
이 셋팅을 위해서 수학적인 계산이 요구됩니다만,여기서 거기까지 이야기 하진 않도록 하겠습니다.
약간만 말하자면
백서를 읽어 보시면
보상에 대해서 일종의 제약이 걸려있는 걸 보실수 있습니다.
만약 어떤이가 자신의 블럭으로 부터 나오는 보상의 40%를 받게되면
자신이 연장시킨 블럭으로 부터 60%의 보상을 받게 되는 구조입니다.
이것이 순환이 되면 결국엔 모두 다 같이 작업하고 가장 긴 체인을 연장하면서 올바른 보상을 받을수 있게 됩니다.
이정도가 핵심요소입니다.
나중에 여기에 대한 질문사항이 있다면 기꺼이 답변해드리게습니다.
자 그럼 이 다음은 무엇일까요
제가 여기에 온 이유는 실제로 어떻게 이것을 이뤄낼까에 대해서 이야기 하기 위해서입니다.
이 시점에서 어떤이는 이메일들을 보내서 댓글부대들을 고용하거나 해서 별별 내러티브로 다 도배해대고 다닐수도 있습니다.
하지만 진짜로 이 시점에서 해야 될일은 각각의 메트릭스에 대해서 이야기 하는 겁니다.
저는 이 블락사이즈 논란이 3년이 되도록 아무도 실행하지 않았다는 것애 충격을 받았습니다.
우리는 나름 괜찮은 일을 했습니다.
새로운 프로토콜을 제안하려 했었고,이에 대해 측정하는 방법도 알고 있었고
유일한 과학적인 방법이었습니다.
우리는 다섯가지의 메트릭스를 내놓았습니다.
mining power utilization
fairness
consensus delay
time to win and time to prune
이중 몇가지는 조금 있다가 다뤄보도록 하죠.
어쩄든 이걸 할려면 메트릭스가 필요합니다.
두번째로 프로토콜을 측정하고 평가하기 위한 장치가 필요합니다.
그래서 우리는 연구실로 가서 모든 비트코인 노드 하나하나에 대해서 측정할수 있는 모든 것들을 다 측정했습니다.
그리고 이걸 1년동안 진행했었습니다.
우리의 목표는 우리의 연구실안에 비트코인 네트워크의 소형 레플리카를 만드는 것이었습니다.
외부에 있는 노드는 모두 우리 연구실안으로 들여와서 정확한 지연시간들과,대역폭,그리고 노드와 노드 사이의 특성들을 구성하려 했습니다.
미니어쳐 월드를 만드는 거죠.
이 메트릭스에 대해서 말씀드리도록 하죠.
mining power utilization은 아주 간단합니다.
체인으로 들어가는 해시파워의 양입니다.
이걸 보신다면 비트코인의 경우 99%가 사용되고
이더리움의 경우는 그보다 낮게 가도록 설계되어 있죠.
재밌고 간단한 메트릭스입니다.
time to win and time to prune은 복잡한 메트릭스입니다.
Fairness 도 재밌는 부분입니다.
고아블럭의 발생율에 해시파워가 고려대상이 되길 모두가 바랄겁니다.
소규모 마이너들에게 더 많이 발생하게 되면
서로간에 융합을 하게 되면,그것은 중앙집중화로 이어지게 되니까요.
그외에도 여러가지 메트릭스가 있습니다.
아까말한 미니어처 월드부분인데
노드들 간의 네트워크 상태를 알아내는게 굉장히 어려웠습니다.
하지만 최선을 다했고 이 백서를 위해서 1:6 사이즈의 레플리카를 만들어냈습니다.
2014년도에요.
그리고 비트코인 네트워크의 6분의 1 레플리카를 만들었고
한번 보시죠
해시파워 배분에서 현실적인 데이터들을 취한 그래프입니다.
이 부분이 재밌는 그래프인데
한가지만 말씀드리죠.
2014년도에 우리는 블럭사이즈 논쟁에서 어느쪽의 편에도 서고 싶지 않았습니다.
그래서 X축을 약간 변경해서 어느 사이즈와도 직접적으로 비교하기 어렵게 만들엇죠.
여기서는 기본적으로 몇가지 지표들을 변경했기에 재밌는 효과들을 볼수 있습니다.
하지만 우리가 흔히 알고 있는 사이즈와는 직접적으로 대응시키진 않았습니다.
왜냐면 블럭타임에 변화가 있었으니까요.
우리 시스템은 키 블럭이 발견되는 10분동안 아무것도 일어나지 않고 기다리는게 불가능하니까요.
그러기에는 시간이 너무 아깝잖습니까.
항상 뭐든지 빨리빨리를 추구해야죠.
약간만 이해를 시켜드리자면 블락사이즈 논쟁의 시발점은 이 그래프의 왼쪽 부근에서 일어났습니다.
1메가나 8메가냐 하는 얘기는 여기 이부분
큰 싸움이 일어난건 이 부근에서 이부근까지죠.
윗쪽에서 오차 막대가 보이실 겁니다.
저 부근에서 사람들간에 굉장히 큰 소란이 났었죠.
계속 그래프를 보시면 오른쪽으로 진행되더라도 Fairness에서 아무런 변화가 없는게 보이실 겁니다.
즉 계속 제기되던 내러티브는 전부 양적으로 아무런 의미가 없는거죠.
이런것들을 코어 개발진들에게 전달하려 했지만
하지만 당연히 그들에겐 과학적 담론을 차단시키는 모든 수단이 갖춰져있기에
아뇨 제 말은,방금 그말은 좀 심했을지도 모르겠군요.
그들 개개인은 모두 훌륭한 사람입니다.
다만 그들의 포럼에선 과학적 논의가 허용되지 않으니까요.
다시한번 보죠
여기서 재밌는 점은 그들이 틀리지 않았다는 겁니다.
블럭사이즈가 커지면 커질수록 비트코인은 무너집니다.
성능은 떨어지고,그것도 굉장한 기세로요.
당연히 비트코인NG는 그렇지 않죠.
그렇게 놀랄일도 아니죠.
왜냐하면 설계상으로는 여전히 블럭은 10분당 하나이고
기존의 문제점들에서 벗어난 상태니까요.
또 이런저런 그래프가 있구요.
다 넘어가도록 하죠.
우리는 재매개화를 통해서 여기까진 왔습니다만
이 조정과정에 문제가 생겼을 경우 비트코인 NG로 중기적인 스케일 업을 꾀하는것이 가능합니다.
여기서 비트코인NG를 밀어 붙이려는건 아닙니다.
이것을 행할수도 있고 안할수도 있지만
최소한 이런 존재가 있다는 걸 알아두자는 이야깁니다.
미래로의 길이 한가지 있다는걸 알아둬서 나쁠건 없죠.
하지만 실제로 이게 얼마나 도움이 될까요?
일단 초당 100건의 트랜잭션정도입니다.
이정도면 괜찮죠.
2014년도에 초당 100건의 트랜잭션 처리용량이면 괜찮죠.
나쁘지 않습니다.하지만 구글의 규모는 아니죠.
IOT를 위한 규모는 아니죠.
그럼 무엇을 해야될까요?
이것보다 더 나아질수 있을까요?
지금부터 오프체인에 관한 이야기를 좀 해볼까 합니다.
여러분은 지금까지 계속 세뇌되어 왔습니다.
레이어2 솔루션은 라이트닝 네트워크만이 유일하다고 들어왔습니다.
하지만 제가 훨씬 더 멋진 이름을 하나 소개시켜 드리죠.
훨씬 더 멋진 이름을 가진건데 조금있다가 보여드리죠.
어쨌든 그건 잘못된 내러티브입니다.
최초의 레이어2 솔루션도 아닐뿐더러 최고의 레이어2 솔루션도 아닙니다.
다른 대체제들이 있다는건 모든 커뮤니티들은 알아야 합니다.
그리고 그중에 한가지를 이야기 하고자 합니다.
일단 라이트닝 네트워크의 문제점 부터 이야기 해보죠
이걸 전부 다룰 시간이 있나 모르겠군요.
이걸 전부다 고칠수는 없습니다.
어떤것은 레이어2의 태생적 문제입니다.
저는 코어측이 가지고 있는 레이어2의 비전과 약간 다른 비전을 가지고 있습니다.
일단 이걸 할수있는데가지 해보도록 하죠.
이거에 관해서 블로그 글을 쓸 시간이 있었으면 좋았겠는데 말이죠.
첫번째이자 가장큰 문제점은 제한적인 용량입니다.
이 네트워크의 용량은 알수가 없습니다.
몇년간 소란만 피웠지 아무도 과학적인 연구를 하지를 않았다는 점은 제쳐두고라도
이 용량이라는건 사람들간의 신용관계에 의해서 정해집니다.
그리고 이게 어떻게 될지 알수가 없습니다.
이 신용관계 그래프는 페이스북 소셜 그래프같은것과는 전혀 다릅니다.
나는 비탈릭과 아는 사이고 그를 좋아하지만 그렇다고 제가 그에게 100,000달러치의 신용을 가지는건 아니죠.
미안한 말이지만 그정도는 아니에요.
즉 이 네트워크는 어쩌면 사용가능한 용량이 없을수도 있습니다.
경제학적으로 망가진 모델입니다.
자주 거래하는 상대가 아닌이상 이용하는 혜택이 없습니다.
비탈릭과 내가 1년에 한번 만 거래하는 사이라면 굳이 채널을 열 이유가 없습니다.
설사 100,000달러의 신용관계라 하더라도 말이죠
더 최악인건 거래소들의 자금이 채널에 묶이게 된다는 겁니다.
1인의 감당분 곱하기 고객수에 비례합니다.
어떤 사람이 코인베스로부터 10,000달러까지 받는게 가능하다고 해봅시다.
코인베이스 고객수는 천만명 정도 되나요?
천만 곱하기 10,000을 하면 천억 달러가 묶이게 되는건가요?
정확한 계산은 모르겠지만 어쨌든
미래에 이걸 사용하고 싶어하는 세계에서는
수많은 코인들이 이 지불채널에 묶이게 됩니다.
시스템은 불안정하고 새로운 기관을 요구하며
가변성문제는 수정이 필요합니다.
세그윗이라고 알려진 키친 싱크
이 제안이 저한테서 나왔다면 아마 받아들여지지 않았을텐데
어떻게 된 건지 비트코인 코어에 받아들여졌군요.
키를 온라인에 보관해야 됩니다.
그리고 이 1년 내내 워치가드를 이용해서 계속 지켜봐야됩니다.
안그러면 돈을 잃어버릴수도 있습니다.
눈깜빡하면 잃어버리는 겁니다.
예전 상태인체로로 채널을 닫게 되면 돈을 다 잃어버리는 겁니다.
상대방의 잘못된 행동으로 자금이 잠기게 될수도 있습니다.
안좋은 일이 생기면 그냥 시간이 가기만을 기다려야 됩니다.
또 봅시다.
프라이버시 침해 문제.
이건 그냥... 아 이건 중요한 부분이죠.이부분은 말하고 가야됩니다.
지불중계 라는건 태생적으로 네트워크에서 가능한 중계경로는 찾는것과
그러니까 태생적으로 효율성과 프라이버시가 반비례 합니다.
좋은 경로를 찾기 위해선 모두의 신뢰 관계를 알아야만 됩니다.
그리고 변경되는 것도 고려해서 실시간으로 이걸 할수 있어야 됩니다.
이걸 제가 한다는건 실질적으로 당신을 감시하게 된다는 것이죠.
저기 계신 분이 뒷사람과 어떤 신용관계인지 알아내는 거죠.
이걸 계속해서 반복하는 도중 처리용량이 바뀌게 되면
이 경로에 있는 누군가가 누군가에게 지불을 했구나 라는걸 알게 되죠.
즉 이건 흔히 말하는 네트워크의 단층을 관찰할수 있는 능력을 저에게 주는 셈입니다.
이런건 절대 좋은 결과를 가져오지 않습니다.
지불중계에서 허브 앤 스포크 방식 외의 다른 방식은 어렵습니다.
그리고 이 모든 문제점 위에서 사용자 경험이 이뤄지니다.
그래서 제가 이걸 전부 수정가능할까요?
아니요.
안타깝게도 이걸 다 고치려면 더 많은 연구가 필요합니다.
하지만 몇가지에 관해서는 수정방안을 말해드리죠.
어디보자... 네트워크 용량은 제가 손을 못대겠고
하지만 경제모델은 수정가능합니다.
불안정성과 가변성문제도 수정 가능하고요.
그러면 여러분들께 세그윗 없이 가변성의 수정 없이도 현재의 비트코인 캐쉬에서가능한 레이어2를 소개시켜드리죠
이 방법의 핵심은 새로운 칩이 가진 새로운 능력입니다.
인텔 ARM AMD Ledger 등등의 회사에서 나온 새로운 칩들은
세가지 일을 할 수 있는 안전요소를 가지고 있습니다.
이 요소는 코드가 내부적으로하는 일을 밝히지 않고 기밀성을 유지하면서 일부 코드를 실행할 수 있습니다.
동시에 디버거를 부착하거나 코드가하는 작업을 변경할 필요없이도 무결성을 유지합니다.
코드를 어떤 다른 형태나 형식으로 조작할수도 없습니다.
여러분이 버스선을 연결하더라도
에폭시 코팅이 안된 USB 포트가 외부기기와 연결되어있더라도
그 코드가 하는 행동을 알아낼수 없습니다.
그리고 이 새로운 칩들로 받는 세번째 혜텍은
바로 증명입니다.이게 아주 중요합니다.
제가 누군가에게 질문을 하나 던진다고 합시다.
지금 실행하고 있는 해쉬가 무엇입니까?
그러면 그는 나에게,그의 칩은 나에게 그가 지금 실행중인 코드의 지문을 줄것입니다.
그걸 이용해서 저는 그의 행동을 정확하게 알수 있죠.
그가 하고 있지 않은 행동도 알수있게 되구요.
이부분이 중요합니다.
비잔틴의 상황에서 이 칩들은 우리는 오류가 일어나지 않는 상황으로 이끌어 줍니다.
당신이 할수있는 최악의 행동은 실행을 중지하는 겁니다.
악의적이거나 무모한 행동은 할수가 없죠.
이점도 빼먹으면 안되죠.
여러분은 오로지 칩의 내부에서 실행되는 것을 신뢰해야 됩니다.
그리고 거기엔 지문이 있구요.
즉 앨리스가 밥에게 너의 해쉬가 뭐냐고 묻고
밥은 Dead Beef코드라고 답변을 한다면
당신은 밥이 무슨행동을 할지 정확히 알수 있습니다.
증명이 이뤄지고 나면 밥이라는 인간 자체는 더이상 Dead Beef 코드외의 행동을 하도록 칩을 조작할수 없습니다.
봅시다.Teechan에서의 키는
양 쪽이 서로의 시크릿 키를 교환하고 채널을 닫을수 있게 됩니다.
상대방의 협력을 따로 필요로 하지 않습니다.
그리고 여기서 라이트닝 네트워크와 비슷하게 채널을 열 필요가 있습니다.
둘중 한쪽이 블럭체인과 대화를 나누는 부분이죠.
하지만 채널을 열고 난후에는
이들은 더이상 블럭체인과 소통을 할 필요가 없습니다.
앨리스는 블럭체인을 전혀 모니터링 하지 않아도 밥에게 지불을 할수 있습니다.
굉장히 중요한 부분이죠.
일종의 오픈다임 기기 같은겁니다.
그리고 저와 당신이 오프라인 상태가 될수 있는겁니다.
사하라 사막 한중간에서도 블럭체인에 전혀 손대지 않고도 안전하게 서로 거래할수 있습니다.
그리고 나중에 집에 돌아가서 둘중 한명이 채널을 닫는거죠.
부정한 상태로 채널을 닫는건 불가능합니다.
왜냐면 이건 하드웨어 솔루션이니까요.
소프트웨어 솔루션이라면 당신이 무슨짓을 할지 알수가 없죠.
혹시라도 당신이 과거의 모든 상태들에 접근할수도 있을테니까요.
라이트닝 네트워크 백서를 읽어 보시면
육십몇장 정도 되는 페이지의 59페이지가 전부 부정한 상태에 대해서 어떻게 할것인지의 내용입니다.
상대방이 지나간 상태를 이용하여,자신에게 이득이 되는 쪽으로 채널을 닫을 경우 어떻게 할것이냐의 내용입니다.
그런 상황은 여기서 발생할 수 없습니다.
왜냐면 전 상대방이 지나간 상태를 전부 폐기한걸 아니까요.
안전한 하드웨어에서 실행중이기에 어떤 코드가 실행중이었는지 알고있으니까요.
그리고 그 해쉬도 전 알고 있죠.
우리 팀은 이걸 구현해봤습니다.
그리고 엄청난 엄청난 채널당 처리량을 볼수 있었습니다.
제 노트북에서 실행한 바로는 런던에서 이타카로 보내는 과정에서 초당 78,000트랜잭션의 성능을 보였습니다.
그리고 이 시험에서 딜레이,트랜잭션의 지연시간은 0.4밀리초 플러스 네트워크 지연시간입니다.
즉 이 경우에는 대륙을 가로지는데 40밀리초 정도가 걸렸습니다.
물론 실제로 지불결제가 이뤄지는데 약간의 밀리초가 더 걸렸죠.
당신이 채널을 여러개 가지고 있다면 그에 따라 더욱더 확장이 됩니다.
그리고 앞서 말했듯이 가변성의 수정할 필요가 없습니다.
왜냐면 가변성을 이용한 악의적인 행동을 신경쓸 필요가 없으니까요.
여기서 어떻게 인텔이나 다른이를 어떻게 믿냐고 말하시겠죠.
하지만 이게 절충해야 되는 부분입니다.
여러분들의 말도 맞는 말이지만 동시에 지적하고 싶은것은
여러분들 역시도 인텔을 믿고 있다는 겁니다.
여러분들도 모두 일일히 수동으로 계산해서 트랜잭션을 발행하진 않았을거 아닙니까
아무도 옆에다가 주판을 놓고 알을 팅기면서 하진 않겠죠.
그렇게 하긴 좀 힘들테니까요
다시 말하자면 여러분은 이미 이 하드웨어들을 신뢰하고 있습니다.
다만 중요하게 짚고 넘어갈 점은
채널단위의 신뢰라는 겁니다.
즉 인텔이 악의적인 행동을 하더라도 시스템 자체에 영향을 줄수는 없습니다.
아마도 조작을 가해서 상대방과 연결된 채널에서 상대방이 제 자금을
훔쳐가도록 하게 할순 없겠죠.
하지만 그게 최대치 입니다.
만약 제가 당신과 연결된 채널에 천달러를 넣어넣고
당신이 인텔과 공모하면 그 천달러는 훔쳐갈수 있겠죠.
하지만 인텔은 1년에 580억달러의 수익을 올리는 회사니
그런 행동을 한다는건 약간 비상식적이라고 생각됩니다.
하지만 그보다 더 중요한건 인텔만이 아니라 다른 많은 회사들도 있다는 겁니다.
그중 하나가 다른 방법을 생각해낼 수도 있긴 합니다.
그렇기에 한 회사만을 신뢰하지는 마십시오
종합해서 Teechan 과 라이트닝 네트워크를 비교해 보자면
훨씬 더 안전합니다.
더 안전한 이유는 키들이 온라인상태가 아니라는 점 때문입니다.
하드웨어 자체에 있습니다.
그러니 보안성 을 더 강화시켜 줍니다.
상대방의 악의적인 행동으로 내 자금이 잠기는 일은 없습니다.
Teechan은 기반이 되는 블럭체인에 따로 요구되는 사항은 없습니다.
세그윗은 필요없습니다.
생태계에 변화를 요구하지 않습니다.
워치가드도 필요 없구요.
다른 은행기관도 필요 없습니다.
이게 바로 우리가 여기 있는 이유 아닙니까?
스스로 자신의 은행이 되자.
당신대신 블록 체인에 1년내내 연결되서 모니터링해줄 누군가를 의지할 필요도 없습니다.
라우팅 허브에 의지할 필요도 없구요.
경제적으로 효율적입니다.
이 말을 안했던거 같은데
거래소가 묶이게 되는 자금은
오직 그들의 Float에 비례하는 만큼이기에 N 팩터를 개선하는 효과를 가져옵니다.
N 곱하기 Float 양이 아니라 Float만큼만 묶이죠
코인베이스는 하루에 지불하는 돈이 거의 1000만달러 정도일텐데
그정도가 채널에 필요한 양입니다.
그럼 여기서 어떤 비전을 가져야 할까요.
당신과 당신의 친지간의 연결을 구성하는것이 저의 비전은 아닙니다.
그것은 작업의 대상으로 적합한 모델이 아닙니다.
그런 모델을 목표로 하게 되면 UX,즉 사용자 경험을 오히려 안좋아지도록 이끌게 됩니다.
소개드린 종류의 솔루션들은 상호작용들이 무수하게 일어나는 사업체들을 위한 것입니다.
여러분이 거래소 처럼 계속적으로 상호작용이 일어나는 사업체를 가지고 있다면
이 솔루션은 거래소 간의 차익 거래와 가격에 큰 향상을 줄 수 있습니다.
어쨌든 이게 제가 생각하는 비전입니다.
우리팀이 작업하고 있는 비전이기도 합니다.
사실 사용자들에게 전달하기 위한 용도는 아니죠.
물론 실제로는 사용자도 모델에 똑같이 참여할 수 있다고 생각합니다만
그건 너무 긍정적인 소리같고
상식선에서 보자면 이 접근방식은 거래소들간의 연결용이라고 보는게 좀 더 상식적이라 할수 있겠습니다.
그리고 우리방식도 마찬가지로 다단계 트랜잭션이 가능합니다.
다음 사항은 넘어가고 이것들은 전부 사실
저에게 학술적인 입장에서 질문을 하신다면
다단계 트랜잭션은 학술적 아이디어 입니다.
멋지고 좋은 기능이긴 합니다.
우리 팀은 아토믹에도 열심히 작업했습니다.
당신의 돈이 중계를 거칠때 지불이 안되거나,
어디 다른 여러 채널들에 정체되는일이 없도록이요.
지불절차는 처음부터 끝까지 완전히 실행되거나
아예 실행되지 않도록요.
이런 기능이 있다는건 좋지만
이 비전이 가는 방향에는 맞지 않다고 봅니다.
레이어2 솔루션이 대중들에게 배치되어선 안된다고 봅니다.
아직 준비가 안된 상태입니다.
중계 프로토콜은 아무리 잘해도 향후 5~10년간은 완전히 준비되기 어려울 겁니다.
한가지 더 추가적으로 이야기를 해보도록 하죠.
또 하나의 레이어에 대해서.
모두가 까맣게 잊고 있고 간과하고 있었던 네트워크 레이어죠.
우리팀이 하고 있었던 작업에 대해서 잠깐 이야기 드리죠.
금융 데이터를 가지고 있는자와 원하는 자 사이의 커뮤니케이션 속도를 향상시키는 작업을 하고 있었습니다.
거래소가 가지고 있고,마이너가 원하고
사용자가 가지고 있고,마이너가 원하고
아니면 정 반대로
마이너가 가지고 있고 거래소나 사용자들은 블럭에 접근하기를 원하죠.
어떤 종류의 옵션들이 있을까요
현재의 비트코인 같은 P2P시스템이 어떤 상황인지 말씀드리죠.
이 표에 Source,Relay,Peer가 있습니다.
아래로 갈수록 시간의 경과를 뜻하죠
소스가 채굴한 블럭을 가지고 있다고 합시다.
그리고 이 블럭을 전파시키려 합니다.
총 걸리는 시간이 베타 라고 합시다.
그리고 릴레이가 이걸 받습니다.
그리고 블럭을 체크를 한 다음
이 체크 하는 시간을 알파라고 합시다.
그 다음에 릴레이는 이걸 Peer에게 전달합니다.
여기에 또 다시 베타가 소요되죠.
그리고 이 불쌍한 사람은 알파+2베타의 시간이 걸려서야 블럭정보를 받습니다.
N 단계는 알파+N베타 가 되죠.
아니군요 사과드립니다.
알파+N베타가 아니죠.
N x(알파+베타)가 총 전송대기시간이죠.
우리가,우리가 이 전체 단계를 개선시킬수 있을까요?
대답은 물론이죠 입니다.
이건 우리가 팰콘 시스템으로 이미 한적이 있는 겁니다.
팰곤 릴레이 네트워크.
비트코인 캐쉬와 BTC둘다에 적용되고 있죠.
팰콘이 어떻게 작동하는지 말씀드리죠.
소스가 블럭을 발견하고
릴레이는 이것을 받아서 블락헤더만을 체크합니다.
소스의 악의적인 행동을 체크하는거죠.
그리고 바로 피어에게 보냅니다.
블럭의 전달에 여전히 베타 만큼은 소요됩니다.
하지만 알파 는 꽤나 줄어들었죠.
그러므로 N 단계에 N베타,N x 베타에서 많은 시간을 절약할수 있습니다.
베타는 중요한 시간이라는 점을 명심해야 됩니다.
그렇기에 선형인자는 제거 했습니다.
금융 데이터의 전파속도를 높이기 위해서 N을 전부다 제거 했습니다.
이로인해 화폐의 기초적 역할을 수행 할 수있는 새로운 인프라를 제공합니다.
비트코인 캐쉬도 사용가능하지만 다른 모든 화폐들도 사용가능합니다.
사실 우리 팀은 이것을 금융데이터계의 아카마이 로서 사용하길 원하는 여러 다른 프로젝트들과 소통중에 있습니다.
아카마이는 일종의
Akamai는 일종의 웹 정보 처리량을 위한 설계입니다.
낮은 대기시간을 위한 설계죠.
낮은 대기시간을 위한 오버레이 네트워크 입니다.
수많은 노드들이 세계에 걸쳐서 나눠져 있고
데이터를 가진사람이 데이터를 원하는 사람에게 전달하는 것이 이 노드들의 용도죠.
이제 마무리를 지을 시간이군요.
일단 지금 암호화폐 업계에서 일하기에 아주 흥분되는 시간을 살아가고 있다는 점을 말해두고 싶군요.
저는 세가지의 프로젝트를 보여드렸습니다.
첫번쨰는 NG.중기적 솔루션으로 사용가능한 온체인 스케일링 프로젝트죠.
Teechan에 관한 이야기도 했죠.
제가 여러분에게 전하고 싶었던건 라이트닝 네트워크 말고도 다른 솔루션들이 존재한다는 것이었습니다.
그리고 올바른 커뮤니티 문화를 가지고 그 솔루션들을 사용가능합니다.
LN이 할수있는 일보다 더 나은 일들을 할수 있습니다.
LN이 레이어2의 유일한 선택지는 아닙니다.
세번째는 여러분들과 네트워크 레이어란 것에 대해서 이야기 하고 싶었습니다.
그동안 간과해왔던 부분이죠.
이 레이어의 발전으로 암호화폐의 스케일링 부분에서의 발전도 가능합니다.
마지막으로 한가지 메세지를 전해드리고 싶은것은
우리가 무슨일을 하든 프로토콜 변경에 관한 논의는 과학적인 방법을 이용하여야 합니다.
감사합니다.
훌륭한 강의였습니다.
5분간의 Q&A시간을 가질텐데
강의 내용중에서 질문있으신분 계신가요?
사이버 캐피탈에서 온 저스틴 본드입니다.
일단 먼저 당신이 이뤄왔던 작업들에 경의를 표하고 싶습니다.
우리에겐 더 많은 제대로된 과학자가 필요하다는 면에서 정말 좋았습니다.
제 질문은 마이닝 중앙지중화에 관한 질문입니다.
제 관점에서 볼때 일반적으로 마이너들이 노드를 운영하진 않습니다.
Pool들이 노드를 운영하죠.
비트코인 네트워크의 작동방식때문에 결국에는 10~30개의 풀들만이 있게 되죠.
이 10~30개의 풀들은 대용량의 풀노드들도 감당할수 있다고 저는 주장하는데
이에 대해서 어떻게 생각학시나요
당신 말이 맞습니다.
마이너 커뮤니티의 경향은
열몇의 플레이어만이 남는,일종의 합병을 하는 방향으로 가겠죠.
그리고 이 플레이어들은 높은 성능의 장비들을 다룰수 있는 자원을 가지고 있죠.
저도 동의하는 바입니다.
동의하지 않을수 없죠.
8년간 우리는 그걸 눈으로 보아왔으니까요.
그렇기에 말씀하신바는 전부 사실입니다.
그리고 제가 프레젠테이션중에 한 얘기중에 그 의견과 출동하는 발언을
한적은 없는것 같군요.
당신의 의견이 맞습니다.
하지만 이 Pool들이 과연 무한으로 늘어나는 블럭 사이즈를 감당할수 있을까요
그건 아니라는 거죠.
질문하나만 더 하고 싶군요.
잘 지적해주신것 같습니다.
우리가 모든 사용처들을 감당할수는 없겠죠.
그리고 초소액 트랜잭션등을 위한 세컨드 레이어의 필요성에도 동의합니다.
하지만 제가 말하고 싶은건 현금이라는 용도를 위한 Pool들의 풀노드는
충분히 가능하다는 겁니다.
물론이죠
온체인으로요.
동의합니다.
저는 여기에 비트코인 NG를 홍보하면서
내일 당장 이걸 해야 된다고 말하고 있는게 아닙니다.
제가 첫부분에 말한것도 바로 이점이죠.
일단 가장 급선무는 블럭사이즈를 늘리는 겁니다.
그리고 그 다음 단계가
제가 이건 소제목으로도 썻던거 같은데
그 다음단계로는 우리가 가진 기술이 허용한 계속 상승조정 하는거죠.
이것은 지속적으로 해야됩니다.
하지만 동시에 영원히 이것을 조정할수는 없다는 것입니다.
언젠가는 그떄가 옵니다.
바라건데 살아 생전에 그 광경을 봤으면 하는군요.
한계에 달하는 그 순간을요.
최소한 안심하고 잘수나 있었으면 좋겠군요.
저는 개인적으로 대비책들이 다 마련되기전에는 편히 잘수가 없습니다.
제가 바라건데 많은분들이 이제는
그 한계점이 왔을때 어떤 행동을 해야 될지 알게 되었기를 바랍니다.
또 질문있나요?한개더?
질문이 많다는건 좋은 프레젠테이션이었다는 뜻이죠.
이더리움으로 부터 뭔가 배울점은 있나요?
당신이 봤을때 그쪽의 기술들,예를 들어 샤딩같은것은 요소들이요.
네 이더리움에서 배울점은 굉장히 많습니다.
지난 2월에 우리 팀은 Financial Cryptohraphy 컨퍼런에서 보고서를 하나 낸바 있습니다.
포크전의 비트코인과 이더리움의 중앙집중화에 대한 계측에 관한 보고서입니다.
여러 해에 걸친 종단 적 연구였습니다.
그리고 거기서 꽤나 재밌는 결과가 나왔죠.
너무 많은 양이라 별도의 프레젠테이션이 필요할듯 하군요.
힌트만 한가지 드리자면
실질적으로 이더리움은 더 적은 자원을 가지고 있습니다.
이더리움 노드들은 평균적으로 비트코인 노드보다 더 적은 대역폭을 가지고 있습니다.
그럼에도 비트코인은
그럼에도 이더리움은 비트코인보다 더 많은 트랜잭션을 처리중이죠.
즉 더 적은 자원으로 더 많은 처리량을 가진것입니다.
충분히 가능한 일이죠.
또하나 말해두고 싶은건
사실 이더리움에서 나오는 많은 결과들이 마음에 들진 않았습니다.
뭐 이것저것 있죠.
더 많은 고아블럭들이란 문제를 가지고 있죠.
이걸 만회하기 위한 프로토콜도 약간 다르고요.
이걸 줄이기 위해서 이더리움은 제가 말한 네트워크 레이어 같은것들이 반드시 필요할겁니다.
뭐,계속 얘기하고 싶지만
보고서를 보시면 두 시스템간의 사안들이 실려있습니다.
샤딩에 대해서는?
네 우리팀도 샤딩을 고려해본바 있습니다.
우리 팀과 동료들이 활발하게 하고 있는 작중에 중에 하나입니다.
만나뵙게 되서 좋았습니다.
당신이 내어놓은 측정 과 메트릭스에 관한 프레임워크는 아주 멋졌습니다.
자세히 비교해가면 내놓은 또 다른 접근방식들도 좋았습니다.
글 잘 읽었습니다.
블록체인과 암호학에 대한 베이스가 전혀 없다 보니 흥미로운 글을 읽어도 흡수가 잘 안되어 안타깝습니다.
저도 많이 아는건 아니지만 궁금한 점 있으시면 언제든지 질문해주시길 바랍니다
답변하는 과정에서 저도 더 배우는 점들이 생겨나기에 질문은 언제나 환영합니다
!!! 힘찬 하루 보내요!
This post received a 65% upvote from @krwhale thanks to @coolzero! For more information, click here!
이 글은 @coolzero님의 소중한 스팀/스팀달러와 coinkorea 커뮤니티의 지원을 받아 65% 보팅 후 작성한 글입니다. 이 글에 대한 자세한 정보를 원하시면, click here!