15%의 마법 — EOSIO 블록체인 봉인 해제의 여정

Orchid Kim
EOSYS
Published in
7 min readApr 30, 2018

Translated Contents

원문: Magic 15% — Unlocking the EOSIO Blockchain

(나는 이 글을 늦은 4월에 쓰는데, 6월 2–3일에 있을 EOS 커뮤니키티의 EOSIO 소프트웨어 기반 블록체인 메인넷(Mainnet)의 런칭과 그 프로세스의 세세한 면모를 그려보고자 한다.)

지금은 2018, 6월 2일 토요일 11시다. 나는 Blacksburg에 있는 Block.one 사무실에 앉아있다.

내 곁에는 아직 따지 않은 돈 페리뇽 샴페인과 빈 와인잔 세트가 있다. 동료들과 나는 전 세계에 방송되고 있는 라이브를 보고 있다.

몇몇은 이미 축배를 들고 있다. 나는 아니다. 아직 아니다.

EOSIO 소프트웨어는 잘 작동했고, 블록 프로듀서 그룹 후보들은 그들의 기술적 역량을 증명해 보였다. 그들은 세계 최초로 EOSIO 소프트웨어를 기반으로 한 퍼블릭 블록체인 메인넷과 이제는 얼어버린(frozen) ERC-20 기반 EOS 토큰의 명확한 스냅샷을 공개했다.

EOS 메인넷이 로켓이라면, 로켓을 쏘아 올리는 순간은 드라마틱한 순간이다. 소프트웨어는 베일을 벗고 작동하기 시작했고 많은 환호성이 들린다. 하지만 진짜 로켓의 발사처럼, 발사대를 비우는 것이 게임의 전부는 아니다 — 긴 여정의 시작일 뿐.

그래서 아직 나는 축배를 들지 못하고 있다. 이 로켓이 궤도에 안정적으로 올라가기를 기다리는 것이다. 궤도에 올라가는 일은 얼마간의 시간이 걸릴 것이다.

흔들리는 시작

지금까지의 여정은 완벽히 순조롭지만은 않았다. 첫 BIOS Boot 노드는 동부 표준시로 오후 6:15에 출범하고자 했으나, 그들은 스냅샷을 재촉했다. 토큰은 오후 6시 정각에 얼었다(22:00 UTC). 그들 스냅샷의 해시는 출범 파트너들의 해시와 맞지 않았다.

결과적으로, 지정된 블록 프로듀서들은 부트 노드를 인계받고, 불일치를 발견한 후 첫 체인을 가차 없이 파괴한다.

정확히 계획된 일이다 — 합의(consensus)는 언제나 동의하는 것이 아니라, 우리가 동의하지 않을 때 어떻게 해야 될지를 아는 것이다. “아름답군”, 그때 이렇게 말했을 것이다. “좋았어, Alexandre.”

하지만, 첫 사건은 불안한 관찰자들에게 경종을 울렸다. 트위터는 비트코인 과격주의자들의 비난이 담긴 트윗과 함께 폭발 직전이 되었다.

EOS 커뮤니티의 BP후보자들은 트위터 폭풍을 무시했다. 그들은 저자세로 차분히 런칭에 집중했다.

EOS 중심 미디어

EOS Go는 중국어 상대역인 IMEOS와 몇몇 라이브 채널을 진행하기로 파트너십을 맺었다. 그들은 밤 (혹은 위치에 따라 아침)이 되면 EOS 밋업 런칭 파티와 BP들로부터 코멘트를 해줄 여러 관계자들을 섭외했다. 나는 한 귀로 듣고, EOS 커뮤니티에 또다시 감명받으며 투표를 모니터링했다.

디도스(DDoS)와 피싱 공격 (Phishing)

하지만 이제 우리는 다음의 공격을 받을 것이었는데,

다양한 BP 후보자들로부터의 몇몇 디도스 공격

통상적인 피싱과 생겼다 사라지는 사기 에어드롭 발표

몇몇 위조 체인이 공표되고, 심지어 한 체인은 런칭된 듯 보였는데, 그 토큰이 완전 가짜로 보이고 블록 프로듀서는 확인조차 되지 않았음에도 말이다.

예상대로, 몇몇 사람들은 사기성 체인에 속았다. 슬픈 일이었지만, 통상적인 암호화폐의 평균치였다.

발사(Launch)

동부 시각 오후 7:22, 메인넷은 반박의 여지없이 런칭되었다. 새로운 BIOS Boot노드가 생성되어 각기 다른 BP 후보들에 의해 운영되며, 그들은 모든 것을 제대로 했다. 부트 노드는 첫 체인을 만들고, 21 Appointed BP (ABP)를 지정했으며, 키를 넘기곤 드롭아웃했다. (이제는 좀 유명해진 부트 노드 오퍼레이터는 레귤러 BP후보 풀에 다시 합류했다.)

그리고, 스냅샷 해시는 ABP들에 의해 승인되었다. 시스템 컨트랙트들은 승인되었다. 조건이 만족되자, ABP들은 블록을 만들고 표를 세기 시작했다.

당연하게도, 21 ABP는 몇 차례 삐걱거리고, 블록들을 거부하고 각자 뒤엉키기도 했다. 몇몇 BP들은 넷이 포킹(Forking) 될까 두려워했고 로그를 스캔하기 시작했다. 더 걱정하기 전에, 포크로 보이는 움직임은 스스로 해결되었고, 21개의 지정된 BP들은 안정적인 2분 6초 리듬으로 0.5초 블록을 만들기 시작했다. 블록들은 BP로부터 등록을 받아들이고, 신이 난 EOS 토큰 홀더 그룹의 투표를 프로세싱했다.

5분 안에, 모든 지정 BP들은 투표 과정을 통해 그들 자신을 대체했다. 이 새로운 체인은 선출된 BP들 하에 운영되었다.

선출된 BP들의 테이크오버(Take Over)

선정된 BP들은 처음에는 심지어 엉망인데, 초기 라운드에서는 탑 21 득표자들이 한 라운드를 돌기 위해 뽑혔고, 2:06 초 후엔 바로 다른 그룹이 역할을 대신했다. 많지 않은 투표자들조차 뚜렷한 패턴이 없었다. 심지어 새로운 표들이 초반 결과를 뒤집기도 했다.

몇몇 BP들은 상대적으로 알려지지 않은 그룹이었고, 그들의 미숙함은 드러났다 — 그들은 자잘한 시스템 설정 오류를 내포하거나 턴에 맞지 않는 블록을 생성하려 들었다.

“Blocky McBlockface”라 불리는 BP는 투표로 선정되었음에도 BP로서 연결할 수 없었는데, 그의 소프트웨어는 어떤 이유에서인지, 세 번의 때늦은 수정을 거쳤다. 웃긴 이름으로 선정된 결과였다. 소문이 나면, 투표로 제명되고, 다시는 거론되지 없었다.

언락(Unlock)을 기다리다

이는 불과 4시간 전이다. 오후 11시, 현재까지의 21 BP들은 90분이 넘게 안정화된 모습을 보였다. 블록은 빠르고 정확하게 생성되었다. 더 많은 토큰 홀더들이 참여하여 보팅(voting)은 끊이지 않았다.

하지만 체인은 여전히 굳게 잠겨있다. 아무도 스마트 컨트랙트를 만들 수 없다. 아무도 토큰을 전송할 수 없다.

이제 나의 전화가 울려댄다. 오랜 친구 Bob에게 문자가 온다.

“뭐가 문제야? 왜 내 EOS를 팔 수 없는 거지?”

또 이 말이군.

어떻게 EOS는 언락(Unlock)되는가

나는 답장을 한다.

“내가 지금 보낼 메일을 읽어.”

그리고 나는 커뮤니티에서 몇 달, 몇 주간 지속적으로 공유해온 기사와 설명을 끌어모은다.

Bob에게.

체인이 정당성을 입증하고 3일 후, EOSIO 소프트웨어는 메인넷의 모든 기능을 잠금해제할 예정이네. 최소한 15%의 토큰 홀더들을 연결하고 21BP 들을 승인해서 말일세.

누구나 오픈소스 소프트웨어를 다운로드할 수 있네. 누구나.

또 토큰 분배가 어떻게 되는지에 대한 정보도 누구나 볼 수 있지.

하지만 우리는 오직 하나의 메인넷을 원하네, 여러 개가 아니라. 우리는 커뮤니티가 수렴하길 바라지.

그래서 락(lock)을 만들어놓았어. 모든 토큰의 지분은 완전히 보장되며, 반은 CPU로부터 반은 대역폭(bandwidth)에 걸려있지. 그리고 기준치인 15%의 토큰 홀더들이 탑 21에 동의하기 전까지 ‘unstake’ 커맨드는 작동하지 않을 걸세.

투표를 통해, 토큰 홀더들은 그들의 계정을 갖고 있다는 것을 증명하지. 왜냐면 EOS 프라이빗 키로 먼저 사인해야 하거든. 특정 체인에 보팅함으로써, 그들은 특정 체인이 메인넷이 되어야 함을 보증하지. 그리고 15%의 역치는 두 체인이 동시에 메인넷 상태를 달성하는 것을 힘들게 한다네.

여기 지금까지 선출된 BP의 목록을 공유하네. 표는 가능한 인당 표를 퍼센트로 나타낸 걸세.

[여기에 스크린샷]

여기 보듯이, 상위에 있는 BP도 고작 8프로밖에 안되네. 많은 시간을 쏟았어. 사람들은 아직도 흥분해있네. 두세 마리 고래들이 대부분의 표를 차지하겠지. 그리고 15%를 찍고 “unstake”가 가능해져도, CPU와 밴드위드를 위해 사용된 토큰들을 언스테이킹하려면 삼일이 걸릴 걸세.

그러니 맘 놓고 기다리게. 자네가 메일을 받을 때쯤 15%를 찍는다 해도, 자네가 무엇이든 팔기 위해선 여전히 “unstake”가 가능해져야 하니 말일세. 그리고 3일을 더 기다려야 하지.

그럼, 멋진 밤 되시게.

Thomas로부터.

나는 메일을 한번 더 확인하고 ‘보내기’를 누른다.

그리고 지금, EOS Go 라이브에서 환호성이 들린다. 연이어 동료들의 고함소리가 들린다.

“드디어 15프로야! 우리가 해냈어! 궤도에 올랐어! Houston, 드디어 궤도에
진입했다고!”

이제, 돔 페리뇽 샴페인을 터뜨릴 때가 되었다.

--

--

Orchid Kim
EOSYS
Writer for

Blockchain, Chatbot/VUI, & Cognitive Science