brunch

You can make anything
by writing

C.S.Lewis

by 논스 Feb 07. 2018

채굴자는 과연 당신의 편일까?

열심히 공부한 내용을 공짜로 알려드리는 OS-INT #001

nonce에서는 매주 일요일 OS-INT(Open Source Crypto Intelligence Session)를 연다. 한 주 동안 공부한 내용을 공유하는 시간이다. 국내는 물론 홍콩에서, 독일에서, 호주에서도 온라인으로 접속해 공부한 내용을 공유한다. 치열한 상호 평가까지 거쳐서 엄선된 내용을 모아 nonce magazine으로 공유한다.



1. “채굴자는 당신의 친구가 아니다”

: 채굴자가 채굴 이익을 극대화하는 과정에서 어떻게 유저들의 이익을 저해할 수 있는지 다룬 글 첫 번째.


 채굴자(비트코인, 이더리움 모두)는 본인이 채굴한 블록에 100% 독점권을 갖기 때문에 해당 블록 내의 거래내역을 바꿀 수 있는 권한을 가짐. 그 권한을 통해 일종의 ‘공격’을 감행할 수 있음. 사례 참고.


 사례 1. 거래 재배열(transaction reordering) - 유저 A가 자신이 가진 5이더와 친구에게서 받은 5이더, 총 10이더를 인출하려고 한다 가정. A가 돈을 받기까진 자신의 5이더와 친구가 보낸 5이더를 ‘풀어서(unlock)’, ‘인출(retrive)’하는 과정이 필요. 하지만 채굴자가 자신의 블록에서 푸는 과정과 인출하는 과정이 일어나는 것을 확인한다면 그는 순서를 재배열해 내 5이더만 먼저 인출하게끔 할 수 있음. 이렇게 되면 A는 친구가 보낸 5이더를 한번 더 인출해야 하기 때문에 수수료를 두 번 내야 함.

 블록체인을 통한 스마트 계약서(smart contract)를 개발하는 사람이라면 거래가 채굴자에 의해 임의로 재배열될 수 있다는 걸 염두에 둬야.


 사례 2. 거래 삽입(transaction insertion) – 블록체인을 이용한 도박 사이트가 있다고 가정. 결과를 맞히면 돈을 받음. 이때 채굴자는 자신의 블록에 올라오는 플레이어들의 추측 결과를 확인할 수 있고, 이를 통해 자신의 블록 안에 있는 플레이어들의 제출 값 이전에 자신의 추측 결과를 몰래 끼워 넣어 돈을 받을 수도 있음. 이 경우 채굴자 뒤에 제출하게 되는 플레이어들은 받게 되는 돈이 줄어들거나 사라지는 문제가 발생.


 사례 3. 비자책 오류(forced error) – 유저 B가 2.5이더를 사려고 하는데 어떤 사람이 5이더를 판다는 콜을 특정 블록에 등록해놨다고 가정. 두 거래정보에 대해 알고 있는 그 블록의 채굴자는 유저 B의 매수를 방해하기 위해 유저 B의 매수 콜 전에 자신이 2.6이더를 산다는 거래를 삽입. 이 경우 유저 B의 거래는 좌절되고 거래 수수료만 날리는 꼴이 날 수 있음. 


 이 밖에도, 블록체인 검열(censorship) 문제도 발생 가능. 블록체인이 검열에서 자유롭다고 생각하는데, 그렇지 않을 수도 있음. C는 200이더를 블록체인에 걸어놓고 1만 개 블록이 생성되면 그 돈을 인출할 수 있게 하고, 5만 블록 이후에는 그 돈을 채굴자에게 넘기는 식의 계약을 했다고 가정. 이 경우 채굴자는 1만 블록째에서 거래를 검열하고 5만 블록째에 이 거래를 인출해 200이더를 자신에게 넘길 수도 있게 됨.

 블록체인 개발자라면 블록 채굴자들이 신뢰를 저버릴 수도 있다는 것을 염두에 두고 개발해야 함. 블록체인 시스템 자체는 비잔틴 시스템으로 신뢰 문제에서 자유롭지만, 블록 내 거래에 대해선 약점이 노출될 수 있음.


출처: Miners Aren’t Your Friends




2. 탈중앙화 인공지능 프로젝트 오픈마인드(Openmined)

: ‘오픈마인드’라는 블록체인 기반 탈중앙화 인공지능(AI) 프로젝트 소개.


  AI 프로젝트는 주로 구글, 페이스북 등 독점 데이터 기업들의 전유물. AI 비즈니스 모델은 데이터를 모으고 분석해서 유의미한 인사이트 또는 서비스를 제공하는 것인데 데이터를 제공하는 개인에겐 보상이 돌아가는 경우가 없고, 컨트롤도 어렵다는 문제가 있음. 

 소개하는 오픈마인드(Openmined) 프로젝트는 스마트 계약서(smart contract) 방식과 RSA키 방식을 혼용해 데이터의 프라이버시와 공공성을 모두 획득. RSA키 방식으로 프라이빗 키를 생성, 암호화시켜 스마트 계약서에 넣고 ‘오라클’이라는 써드 파티에 위탁. 데이터가 모델에 유의미한 경우 이를 이용해 모델을 개선하고 스마트 계약서를 통해 보상을 주는 식의 모델. RSA 프라이빗 키를 쓰기 때문에 개인 데이터가 노출되지 않음. Github에서만 활동하고 있고 아직 ICO는 미실시. 


출처: Openmined




3. 크레딧 카드사 암호화폐 구매 결제 중단

: 최근 JP모건과 BOA, 시티은행이 신용카드를 통한 암호화폐 구매 결제를 중단했다는 소식.


 기사에 따르면 신용카드를 통한 암호화폐 매매 결제는 전체 거래의 10여%. 그중에서 20% 정도는 은행에서 결제 처리를 미루는 중. 신용카드사 입장에선 이 결제가 이뤄질 가능성이 크다 보고 있다고 함. 암호화폐를 도난당했을 때 추적이 어렵고, 규제 당국이 자금세탁 이슈 때문에 여러 규제를 가하는 분위기라 이런 결정 내린 것으로 분석. 

 마스터카드는 암호화폐 구매로 국가 간 결제가 22% 정도 늘었다고 밝힌 바 있는데, 최근 암호화폐 가격이 폭락하면서 국가 간 결제도 서서히 감소하고 있다고 밝힌 바 있음.


출처: Bloomberg



"만들어. 빨리"


4. 러시아의 암호화 화폐 관련 입법안 발표

: 러시아 재무부가 암호화 화폐의 법률적 성격과 거래 과정 등을 규율하는 법률안을 발표


 러시아 재무부가 발표한 법률안의 주요 내용은 세 가지. 첫째, 암호화 화폐의 법률적 성격을 ‘디지털 금융자산(Digital Assets)으로 규정. 동시에 법정 통화가 아니라는 점을 분명히 했음. 둘째, 암호화 화폐의 거래 과정을 제도권 내로 편입. 거래소는 러시아 법률에 의거해 설립된 법인이어야 하며 이용자들은 법률에 따라 신원 확인 절차를 거쳐야 거래에 참가가 가능. 셋째, ICO를 할 때는 법이 규정하는 절차와 요건을 갖춰야 함. ICO를 할 때 어떤 정보를 대중에게 반드시 공개해야 하며 어떤 절차를 거쳐야 하는지 상세하게 규정.

 위 암호화 화폐 관련 법률안(Digital Assets Regulation bill)은 곧 국회의 수정과 보완 논의를 거쳐 다음 달 중으로 확정(처리)될 예정. 여러 나라 정부들이 암호화 화폐를 법적으로 규정하고 제반 활동을 규율하는 방안을 고민하는 상황. 러시아의 선제적인 제도화 움직임은 여러 정부에 참고와 연구의 대상이 될 가능성이 높음.


출처: Bloomberg, minfin(러시아 재무부)




5. 스마트 컨트랙트의 본질적인 가치를 설명한 닉 사보의 스피치

: 스마트 컨트랙트는 3자가 없는 계약을 가능케하는 혁신적인 아이디어


 인류가 발전하는 과정에서 ‘거래(deal)’가 필요했고, 거래를 위해서는 ‘중개인’이 늘 필요했음. 인간과 인간이 거래를 하기 위해서는 각자가 약속을 이행한다는 ‘보증’이 필요함. 작은 사회라면 모를까, 익명의 두 사람 간의 보증은 제삼자 없이 만들어질 수 없었음. 그래서 사회의 혁신은 ‘새로운 중개인의 탄생’과 맥을 함께하는 측면이 있음.

 스마트 컨트랙트는 중개인이 없으면서(P2P) 믿고 체결할 수 있는 거래를 가능케 함. 블록체인 네트워크에는 중개인이 없음. 그러나 서로를 신뢰할 수 있는 거래 환경을 제공. 닉 사보는 기존 인간 간 계약을 Wet code, 스마트 컨트랙트와 같은 거래를 Dry code로 정의하며 그 특징을 비교. 다양한 불확실성을 안고 있는 Wet code에 비해 불확실성이 최소화되는 Dry code의 구조를 긍정적으로 평가. 구조적으로 우월하다고 규정.

 물론 블록체인 기반 스마트 컨트랙트 플랫폼이 가진 기술적 한계는 수없이 많음. 그러나 사보는 진화의 시간이 필요할 뿐, 일상적으로 이용할 수 있는 스마트 컨트랙트 플랫폼이 생길 것이라고 낙관. 요즘 사보는 기술자가 아닌 평범한 사람이 쉽게 쓸 수 있도록 쉬운 스마트 컨트랙트 형식을 만드는 일에 관심을 쏟고 있다고 함.


출처: Blockchain Today


/ Edited by ben2, DEO

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari