back

검색

[유성민] 블록체인의 중심은 ‘합의 알고리즘’

유성민, 기술경영, 합의 알고리즘

[유성민's 블록체인 기술경영] 기술경영은 기술을 중심으로 경영하는 것이다. 이를 지난 원고 <블록체인을 알아야 기술경영이 보인다>에서 다뤘다. 그럼 블록체인 핵심 기술은 무엇일까? 결론부터 말하면, ‘합의 알고리즘’이다. 인공지능(AI)에서는 기계학습 알고리즘이 중요하듯이, 블록체인에서는 합의 알고리즘이 중요하다. #합의 알고리즘 없으면 블록체인 아니다 합의 알고리즘은 탈중앙 시스템에서 전체를 위한 의사 결정을 내릴 수 있게 지원하는 기술로 정의한다. 혹은 분산형 원장에서 동일한 데이터 값을 합의해 공유하는 기술로도 정의한다. 블록체인에서는 합의 알고리즘이 중요하다. 스위스의 프리부리 대학 교수인 안드레아스 마이어(Andreas Meier)는 ‘블록체인=분산형원장+합의(Blockchain=Distributed Ledger+Consensus)’라고 불리는 논문을 낼 정도이다. 이러한 논문에 근거하면, 합의 알고리즘이 없는 블록체인은 단순 분산화된 시스템에 불과하다. 쉬운 이해를 위해 비트코인을 떠올려보자. 비트코인은 중앙 화폐 대안으로 등장한 탈중앙 화폐다. 비트코인은 중앙 기관 개입 없이 참여자가 자체적으로 시스템을 운영하게 한다. 그리고 이를 위해 블록체인을 활용했다. 그런데 참여자가 무작위로 시스템을 운영할 수 없다. 불공정 거래에 막을 수 없고, 이중 지불 거래가 발생할 수 있기 때문이다. 예를 들어, 철수와 영희가 중복으로 특정 거래를 승인해 시스템에 등록할 수 있다. 그뿐만 아니라, 참여자간에 가지고 있는 비트코인 거래 내역도 다를 수 있다. 다시 말해, 일치된 데이터를 보유하고 있지 않다. 기존 중앙 시스템은 중앙에서 모든 것을 처리하고 가진다. 그런데 탈중앙 시스템은 각기 다르게 동작할 수 있는데, 이는 혼돈 상태를 가져온다. 그러므로 탈중앙 시스템 유지를 위해서는 일치된 의사결정이 필요하다. 그리고 이러한 방법은 공정해야 한다. 이를 위해 등장한 것이 바로 합의 알고리즘이다. 탈중앙 시스템 운영의 원동력인 셈이다. 이는 민주주의와 투표 관계와 유사하다. 왕정 중심은 왕이 모든 것을 결정했다. 왕이 주체였기 때문이다. 그런데 민주주의 시대는 시민이 주체다. 그리고 국가 정책에는 이론적으로 시민의 의사결정이 반영돼야 한다. 그러나 서로 다른 시민의 의사결정을 모두 반영할 수 없다. 공정하고 일치돼야 한다. 투표가 이러한 역할을 하는 셈이다. #합의 알고리즘 설계, 블록체인 경쟁력 결정한다 인공지능 경쟁력은 기계학습에 있다. 인공지능을 어떻게 학습시키는지가 중요하다. 마찬가지로 블록체인은 어떻게 합의 하느냐가 중요하다. 이에 따라 성능과 형평성을 결정하기 때문이다. 블록체인 성능은 합의 알고리즘에 따라 달라질 수 있다. 합의 과정이 느리게 설계됐으면, 블록체인 성능은 느려진다. 비트코인을 예로 들면, 거래 승인 속도가 느려지는 셈이다. 형평성 또한 합의 알고리즘에 영향을 받는다. 합의 알고리즘을 얼마나 공정하게 설계했는지가 중요한 셈이다. 참고로 비트코인은 작업증명(PoW)이라고 불리는 합의 알고리즘을 사용한다. PoW는 컴퓨팅 파워를 이용해 문제를 가장 빠르게 맞춘 사람이 데이터 블록을 생성할 수 있게 한다. 이러한 방법은 모두에게 기회를 주는 관점에서 공정해 보일 수 있다. 하지만 한편으로는 불공정해 보일 수 있다. 컴퓨팅 파워라는 요소에 참여 정도가 결정되기 때문이다. #생동성 vs 안정성 합의 알고리즘은 두 가지 유형으로 나눌 수 있다. 블록 데이터를 먼저 생성할 것인지 혹은 합의를 먼저 할 것인지에 따라 유형이 나뉜다. 참고로 전자를 생동성 우선(Liveness over Safety)라고 표현한다. 후자는 안정성 우선(Safety over Liveness)라고 표현한다. FLP 불가능성은 탈중앙 시스템 합의 과정에서 생동성과 안정성을 모두 만족할 수 없음을 제시한 이론이다. 참고로 FLP는 이를 제안한 3명의 연구원의 성을 따서 만든 이론이다. 합의 알고리즘을 통해 이를 살펴보자. 앞서 말했듯이, 데이터 블록은 생성과 합의를 거친다. 이에 따라 먼저 생성하고 합의를 거칠 것인지 혹은 먼저 합의하고 생성할 것인지에 따라 달라진다. 그리고 두 조건 모두를 만족할 수 없다. 탈중앙 시스템은 서로 떨어져 있다. 네트워크상 연결돼 있다. 중앙 시스템처럼 단일로 묶여 있지 않은 셈이다. 따라서 생성된 블록 데이터는 무조건 전파 과정을 거쳐야 한다. 여기서 핵심은 사전에 전파되는 블록 데이터의 합의 여부이다. 먼저 블록을 생성하고 전파 과정에서 승인을 얻을 수 있다. 혹은 일정 수준의 참여자가 사전에 생성할 데이터 블록에 관해 승인을 얻은 뒤에 전파할 수 있다. 전자는 생동성에 장점이 있다. 주기적으로 블록을 생성할 수 있다. 그러나 안정성이 보장되지 않는다. 블록체인에서 전파는 이웃한 참여자간을 통해 이뤄진다. 그런데 특정 참여자가 네트워크상 단절되는 “넷스플릿트(혹은 이클립스)”가 발생할 수 있는데, 이는 데이터 블록의 전파를 방해 할 뿐만 아니라 포크를 야기한다. 전달 받지 못한 블록 데이터 생성자는 또 다른 데이터 블록을 만들 수 있기 때문이다. 후자는 안정성에 장점이 있다. 이미 생성할 데이터 블록에 합의했기 때문이다. 이러한 이유로, 전자와 달리 포크 위협도 없다. 그러나 생동성을 보장하지 못한다. 다시 말해, 주기적으로 블록 생성 가능성에는 의문이다. 후자 방식은 사전 승인이다. 일정 참여자의 승인을 얻어야 한다. 가령, 1만명의 승인을 얻어야 한다고 가정해보자. 1만명을 승인받기까지 시간은 정해져 있지 않다. 주기성이 없다. 그리고 시간이 무한정으로 오래 걸릴 수 있다. 물론, 후자 방식은 이를 해결하기 위해 허가형 블록체인(혹은 프라이빗 블록체인)에서 많이 활용된다. 신뢰성 있는 소수가 블록 생성에 참여하기 때문에 생동성의 단점은 거의 없다. 오히려 또 다른 장점으로 부각된다. #더 많은 연구가 필요하다 지금까지 합의 알고리즘을 살펴봤다. 합의 알고리즘은 블록체인 동작에 실질적으로 중요하기 때문에, 많은 연구가 필요하다. 그러나 국내에서는 아쉽게도 합의 알고리즘에 관한 연구가 활발히 이뤄지지 않고 있는 듯하다. 물론, 필자가 학회 편집위원 활동으로 합의 알고리즘 중요성을 강조하고 있다. 그러나 쉽지 않다. 이러한 부분의 연구 활성화가 필요하다. 추가로, 행정학에서 이러한 부분에 주요 사항으로 관심 가질 필요가 있다고 생각한다. 인공지능 기계학습 알고리즘 일종인 딥러닝은 인간의 뉴런 구조를 모방한 학습 방법이다. 이러한 이유로, 뇌 과학자도 딥러닝 개발에 참여하고 있다. 마찬가지로, 합의 알고리즘은 중앙이 없는 탈중앙 시스템에서 합의하는 방식의 알고리즘이다. 공공성에 입각해 시민을 주체로 보고 다수의 만족을 위해 합의 과정을 연구하는 행정학과 비슷한 측면이 있다. 유성민 IT 칼럼니스트

조인디 logo
j o i n
d

Article Title

  • J loading image
  • O loading image
  • I loading image
  • N loading image
  • D loading image

RE:CENT