블록체인이 기술적으로 풀어야할 7가지 숙제
블록체인은 웹이 세상을 바꾼 것 만큼의 잠재력을 갖췄다는 평가를 받고 있지만 지금으로선 실전에 투입하기엔 이런저런 문제가 많다. 문제를 개선하려면 블록체인을 상징하는 특성들에 변화를 줘야 하는데, 이상과 현실이 격렬하게 충돌하는 장면이 여기저기에서 연출된다. 개선의 방향은 이상과 현실 사이 어디쯤 있겠지만 지금은 블록체인 대중화라는 비전을 뒷받침할 각론을 놓고 다양한 노선들이 치고 받고 싸우는 단계로 비춰진다.
현재 블록체인 생태계에서 가장 시급한 이슈는 확장성을 확보하는 것이다. 블록체인 기반 서비스가 대중화되려면 사용자가 억단위가 되더라도 구글이나 페이스북처럼 빠르고 안정적이어야 하는데 현재 블록체인 기술로는 역부족이다.
블록체인은 참여하는 컴퓨팅 파워들, 이른바 노드들간 합의 아래 거래가 승인되는 만큼, 중앙집중식 서비스에 비해 거래 시간이 길 수 밖에 없다. 이같은 합의 알고리즘은 블록체인에 신뢰를 부여하지만, 서비스를 쓰는 사용자들의 UX에는 마이너가 될 가능성이 크다.
이외에도 블록체인은 실전에서도 통하려면 여러 문제를 풀어야 한다. 최근 읽은 '블록체인 무엇인가'를 보면 블록체인이 직면한 도전 과제들이 잘 정리돼 있어 북앤톡을 통해 공유한다. 책에 따르면 블록체인의 문제는 개인정보보호의 부재, 보안모델, 제한적 확장성, 고비용, 숨겨진 중앙통제, 유연성의 부재, 임계크기 7가지로 요약된다.
개인정보보호의 부재
블록체인의 모든 트랜잭션에는 이전하는 목적물과 그 총량에 대한 정보가 자세히 기술되어 있고, 연계된 계좌와 이체 시각 등을 누구나 읽을 수 있다. 따라서 개인정보보호의 부재는 블록체인을 구성하는 기본 요소이기도 하다. 이런 투명성 없이는 블록체인은 그 역할을 수행할 수 없다. 그러나 개인정보보호를 특히 중시하는 응용 분야에서는 이런 투명서잉 특히 제약 요인으로 여겨진다.
보안 모델
블록체인에 사용되는 비대칭 암호화 기법은 쓸 수 있는 모든 암호화 기법 중 최고이자 가장 강력한 기업이기 때문에 블록체인 자체의 보안 개념은 흠잡을 데가 없다. 그러나 블록체인 사용자가 개인키를 분실하거나 본의 아니게 타인 손에 넘어갔을 때 계정 주인을 보호할 수 있는 추가적인 안전장치가 없다. 현실에서 집이나 차 열쇠 혹은 신용카드나 직불카드의 비밀번호가 타인에게 주어졌다고 상상해보라. 일단 이유와 상관없이 열쇠가 타인에게 주어진 순간 보안은 무너진다. 열쇠나 비밀번호를 가진 누군가 신용카드에서 현금을 인출할 수 있고, 차를 몰고 가버릴 수 있다. 블록체인의 개인키도 이와 다르지 않다.
제한적 확장성
블록체인은 새로운 블록이 추가될때마다 해시 퍼즐을 해결하도록 함으로써 데이터 구조가 불변성 추가 전용 성질을 갖도록 하여 두 과제의 균형을 맞추고 있다. 해시 퍼즐은 의도적으로 많은 계산량이 소모되도록 설계되어 있다. 이는 트랜잭션 이력의 조작을 막는데는 옳은 방법이었다. 그러나 불행이도 이런 보안 방법은 처리 속도를 저하시켜 확장성을 제약한다.
고비용
블록체인은 해시 퍼즐을 풀고 작업 증명을 하는데 많은 계산량이 필요하도록 설계되었다. 계산 비용은 필요 계산 사이클, 물리적 시간, 소모 전력량, 돈 등의 척도로 측정할 수 있다. 그러나 어떤 척도를 사용하든 결과는 같다. 결과적으로 블록체인은 비용을 유발한다. 그리고 전체 비용은 해시 퍼즐의 난이도에 달려 있다.
숨겨진 중앙통제
블록체인 데이터 구조에 새 블록을 추가하기 위해 해시 퍼즐을 해결해야 하는 조건과 시스템 무결성에 기여한 피어에게 보상을 주는 규칙은 피어들 사이에 무기 싸움을 촉발한다. 경제적으로 여유 있는 사람들은 해시 퍼즐 해결에 특화된 하드웨어에 투자하여 시스템 기여에 드는 비용 보다 더 많은 보상을 받음으로써 이윤을 창출한다. 반면 특화된 하드웨어를 갖추지 못한 사람들은 상대적으로 밀릴 수 밖에 없어 시스템을 떠나버리게 된다. 그 결과 다양한 피어 그룹이 집단적으로 시스템의 무결성을 유지하도록 한 설계 의도와 달리 특화된 하드웨어로 계산 능력을 갖춘 소수의 개체만 남아 시스템을 장악하는 상황이 초래될 수 있다. 기술적으로는 여전히 분산 시스템이지만 시스템의 무결성은 소수의 개체에 의해서만 유지되는 상황이 되어버리는 것이다.
유연성의 부재
블록체인에 사용되는 암호화 절차는 블록체인이 운영되는 동안 계속 유효해야 하며, 그 기간이 수백년이 될 수도 있다. 이점은 충돌을 해결하는 블록체인 알고리즘도 마찬가지다. 이런 불변성은 블록체인 개발자에게도 문제다. 블록체인 프로토콜의 버그를 고치거나 수정하는 것이 무척 힘들기 때문이다. 이러한 성질은 전체 블록체인 기술 모음을 유연성이 떨어지게 만든다.
임계크기
모든 블록체인은 엄청난 계산력을 갖춘 공격자로부터 시스템을 보호하기 위해 최소한의 정직한 노드가 필요하다. 제한된 계산 능력을 가진 소규모 p2p 시스템에서는 대다수라고 해봐야 여전시 소수여서 51% 공격을 쉽게 시도할 수 있다. 이 문제는 특히 시가총액이 얼마 안되고 사용자 수도 많지 않은 암호화폐 시스템에서 큰 문제가 된다. 이 최소한의 규모를 넘어서는 것이 모든 블록체인이 무방비로 노출되어 있는 51% 공격을 막아낼 수 있는 방법이다.
책은 블록체인의 문제를 지적한데 이어 한계를 극복하기 위한 4가지 방향, 나아가 블록체인의 기술의 미래에 대해서도 언급하고 있다. 문제를 해결하기 위해 어떤 활동들이 이뤄지고 있는지에 대해서는 다음 포스팅을 통해 공유할까 한다.
블록체인 무엇인가는 IT에 대한 이해도가 낮은 이들이 읽기 만만한 책은 아니다. 적절한 비유와 설명식 텍스트로 이뤄져 있지만 블록체인에 대해 생소한 이들이 소화하기는 버겁지 싶다. 하지만 IT이슈에 관심을 가진 이들이라면 분산 컴퓨팅과 블록체인의 기본 개념을 설명한 책의 앞부분과 블록체인이 풀어야할 숙제와 개선 방향에 초점을 맞춘 뒷부분은 이해하는데 무리가 없어 보인다. 나 역시 책의 중간 부분은 이해하기 만만치 않았고, 앞과 뒷부분을 정독했다.
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
http://blog.naver.com/PostView.nhn?blogId=plodcom&logNo=221214034280&redirect=Dlog&widgetTypeCall=true&directAccess=false