본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

블록체인의 5가지 문제점

OSS 게시글 작성 시각 2017-11-15 06:27:04 게시글 조회수 5625

2017년 11월 14일 (화)

ⓒ ITWorld, Lucas Mearian | Computerworld



블록체인 기술은 여러 산업 분야에서 신뢰 모델과 비즈니스 프로세스를 혁신적으로 바꾸어 놓을 수 있는 잠재력을 지니고 있다. 그러나 이 기술은 아직까지 초기 단계에 있으며, 블록체인 기술에 사용되는 분산 원장 기술 역시 적절한 모니터링이나 점검을 받지 않고 있다.

이처럼 잠재력이 큰 기술임에도 불구하고, CIO 및 비즈니스 리더들은 블록체인 기술을 도입할 때 발생할 수 있는 소프트웨어 버그나 양자 컴퓨팅 기술로 인한 리스크 등 다양한 위험 요소들을 생각해 봐야만 한다고 포레스터 리서치가 최근 보고서를 통해 지적했다.

또한, 블록체인 기술이 일부 비즈니스 프로세스에는 적합하지 않을 수 있다는 전문가와 애널리스트들의 지적도 있다. 예를 들어, 이더리움 환전소인 레브라이(Leveri)의 창립자인 바라스 라오는 암호화 화폐 이회 분야에 블록체인의 활용 가능성에 대해 회의적인 태도를 보였다. 그는 블록체인 기술이 중앙집권화된 관계형 데이터베이스와 같은 기존의 거래 기술에 비해 더 비싸고 도입 시간도 오래 걸린다고 말한다.

그는 “블록체인은 효율성을 버리고 자율성을 얻는 시스템”이라고 지적했다. 새로운 블록이 블록체인이 추가되기 위해서는 모든 블록의 암호화 확인 절차가 요구된다. 이 때문에 빠른 거래가 필수인 비즈니스 분야에 적용되기에는 효율적이지 못하다는 것이다.

둘째로 “블록체인은 말 그대로 ‘체인’ 형태이기 때문에 블록 삽입이 직렬화되어야 한다. 때문에 업데이트 속도가 병렬적인 업데이트를 하는 전통적인 데이터베이스보다 느리다”고 말했다.

블록체인에 회의적인 것은 라오 뿐만이 아니다. 포레스터 리서치 역시 블록체인을 둘러싼 열풍과 이 기술의 현주소에 초점을 맞췄다. “세계경제포럼의 글로벌 리스크 평가단이 정확히 지적했듯, 이처럼 많은 사람들이, 이처럼 소수의 사람들만이 제대로 이해하고 있는 기술로부터 이만큼이나 많은 것을 기대한 것은 전례 없는 일이다.”



포레스터는 2018년에도 블록체인 열풍이 계속될 것이라고 예측한다. 그러나 포레스터의 수석 애널리스트인 마사 베넷은 현실에서 블록체인 기술의 확산은 느리고 꾸준한 페이스로 이어질 것이며, 대기업보다는 틈새시장에서 훨씬 많이 활용될 것이라고 전망했다.

포레스터가 지적하는, 오늘날 블록체인이 지닌 5가지 문제점에 대해 알아보자.

미숙한 기술과 더 미흡한 소프트웨어
2008년 블록체인의 개념을 처음 제시한 것은 ‘사토시 나카모토’라는 사람이었지만(이것은 개인의 이름일 수도 있고, 개발자 모임의 필명일 수도 있다), 이 기술이 실제 사례에 적용되기 시작한 것은 불과 몇 년 전이다. 오늘날 블록체인 기술은 주로 암호화 화폐나 가상 금융 거래에서 분산 원장을 만드는 데 사용되고 있다.

가장 잘 알려진 블록체인 플랫폼인 하이퍼레저(Hyperledger)와 이더리움마저도 아직까지 미숙한 단계이기 때문에, 이 기술의 도입 과정에는 예기치 못한 문제가 발생할 수 있다. 따라서 CIO는 블록체인 기술 도입 과정에서 심각한 소프트웨어 버그가 발견되거나, 심지어는 프로젝트를 엎고 처음부터 다시 시작할 리스크도 있음을 알아야 한다고 포레스터는 지적했다.

베넷은 “블록체인 커뮤니티뿐만 아니라, 프로젝트를 본격적으로 진행하지 않은 기업들은 버그 없는 소프트웨어가 어디 있느냐며 가볍게 이야기한다. 그리고 몇몇은 버그가 아닐 수도 있다고까지 이야기한다”고 지적했다.

예를 들어, 스마트 계약(smart contract)를 이행하는 이더리움 스크럽트인 솔리디티(Solidity)는 소수점 사용을 지원하지 않는데, 이를 위해서는 우회로를 만들거나 모든 것을 다시 시작해야 하기 때문이다.

베넷은 “실제로 이런 경우를 많이 봤다. 프로젝트, 그것도 아주 규모가 크고 책임감이 막중한 프로젝트에 참여하는 이들과 블록체인에 대해 이야기를 나누어 보면, 블록체인 기술을 오래 접한 이들일수록 이 기술이 아직 미흡한 부분이 많다는 점에 동의한다”고 말했다.

이번 주만 해도, 코딩 취약성으로 인해 한 사용자가 수억 달러에 달하는 이더리움 암호화 화폐인 이더(Ether)를 동결시키고 최대 3억 달러에 이르는 타 사용자들의 화폐 유동성을 제약하는 사건이 발생했다.

패리티 테크놀로지(Parity Technologies)가 관리하는 이더리움 블록체인이 공공 거래장부 변경을 위한 사용자들의 동의를 얻었어야 하는데, 코딩 상의 문제로 인해 한 개인 사용자가 ‘우연히’ 체인 상의 모든 암호화 화폐 지갑에 대한 통제권을 갖게 된 것이다.

블록체인, 데이터 저장에 적합하지 않을 때도 있다
블록체인 기술의 최대 장점은 한 번의 데이터 생성으로 많은 이들에게 이를 공유할 수 있다는 것이다. 웹 상의 각기 다른 노드들에 손쉽게 도입할 수 있으면서도 각 기록이 자체적인 해시를 간직하고 있기 때문에 조작이 불가능하다.

블록체인 기반 네트워크를 통한 분산 원장은 그래서 내부 시스템과 블랙리스트에 기반한 선택적 기록보다 훨씬 더 풍부하고 포괄적인 거래 기록을 남길 수 있다.

하지만 그렇다고 해서 거래 관련 데이터가 반드시 블록체인의 일부가 되어야 하는 것은 아니다.

예를 들어, 블록체인 사용자가 거래 기록의 일부로 이미지를 첨부할 경우, 데이터 용량은 급증하고, 시간이 흐르며 일방적인 추가만 가능한 상황에서 데이터 용량이 커짐에 따라, 이는 곧 네트워크 오버헤드로 이어지게 될 것이다. 이 경우 데이터를 분산하는 블록체인의 특성으로 인해 모든 데이터가 체인 상의 모든 노드에 복제되어야 한다.

따라서 일부 거래에 대해서는 통제가 어려운 블록체인보다는 별개의 네트워크 스토리지로 운영되는 관계형 데이터베이스를 사용하는 것이 더 낫다.

베넷은 “반드시 기억해야 할 것은 관계형 데이터베이스만으로도 충분한 상황에서 굳이 블록체인 기반 아키텍처를 도입할 이유는 절대 없다는 사실이다”고 말했다.

블록체인은 생각만큼 안전하지 않을 수도 있다
블록체인에는 크게 2종류가 있다. 퍼블릭 블록체인과 프라이빗 블록체인이다. 퍼블릭 블록체인은 누구나 가담할 수 있다. 화폐 구입을 원하는 누구나 체인에 가담할 수 있게 열어 놓은 비트코인이 바로 퍼블릭 블록체인의 대표적인 예다. 퍼블릭 블록체인은 개방되어 있고 투명하기 때문에, 체인 상의 모든 사용자가 모든 거래 내역을 투명하게 볼 수 있다.

반면, 프라이빗 플록체인은 중앙권위체에서 단독으로 관리하며 가입을 위해서는 승인이 필요하다. 단일 기업이나 파트너 기업들 간에 주로 사용되는 형태로, 승인된 사용자들만이 체인에 가담할 수 있다.

퍼블릭이건 프라이빗이건, 블록체인은 기본적으로는 조작이 불가능하다. 각 거래 기록 또는 ‘블록’을 임의로 변경할 수 없고, 다른 모든 블록들과 연결되어 있기 때문이다. 따라서 보안을 보장받는다. 이러한 블록체인에 새로운 블록을 추가하려면 다른 사용자들의 동의가 있어야 한다. 얼마만큼의 사용자 동의가 필요한가는 사용되는 블록체인에 따라 다르다. 일부 블록체인의 경우 50%의 동의를, 또 어떤 블록체인은 그보다 더 많은 사용자들의 동의가 필요하다. 이처럼 약간의 차이는 있지만, 기본적으로 블록체인은 거래 장부 변경이 불가능하고, 사용자들의 동의를 기반으로 거래가 이루어지기 때문에 그 어떤 네트워킹 기술보다 더 안전하다.

그렇지만 블록체인 기술이 애플리케이션 소프트웨어 및 암호화 기술에 의존하고 있는 것도 사실이며, 오늘날 블록체인 기술을 개발, 제공하는 수백 개의 스타트업들 중에는 아직 검증되지 않은 알고리즘을 사용하는 곳들이 적지 않다.

예를 들어, 비트코인의 경우 이미 검증된 알고리즘인 SHA-256을 해시에 사용한다. 그러나 여러 연구 결과에 의하면, 양자 컴퓨팅으로 인해 궁극적으로 이러한 알고리즘이 깨질 것이다. 그나마 다른 블록체인들은 그저 개발자가 안전을 ‘보장’했기 때문에 믿을 수밖에 없는 알고리즘을 사용하기도 한다.

베넷은 “그 어떤 암호화 전문가에게 물어 보더라도, 새로운 암호화 알고리즘이 안전한 것으로 수용되기 위해서는 수년의 시간이 걸린다는 점에 동의할 것이다. 이런 상황에서, 어느 스타트업 기업이 보지도 듣지도 못한 알고리즘을 가지고 나타난다면, 그런 블록체인 시스템에 도박을 해서야 되겠는가? 실제로 많은 스타트업들이 새로운 해시 알고리즘을 도입하려 했지만, 이런 시도들은 모두 처참한 실패로 돌아갔다”고 지적했다.

암호화 및 보안 전문가인 브루스 슈나이어는 현재까지 블록체인 네트워크가 해킹당한 적은 없으며, 이는 미래에도 마찬가지일 것이라고 말했다. 그는 ”블록체인 같은 기술은 해킹으로 깨지지 않는다. 그보다는 소프트웨어상의 취약점으로 인해 깨질 확률이 더 높다”고 지적했다.

예를 들어, 2016년 분권화된 블록체인 기술을 도입한 벤처 캐피털 다오(The Dao)는 코드 문제로 6,000달러가량의 디지털 화폐 이더를 도둑맞았다.

같은 해 홍콩 기반 암호화 화폐 거래소인 비트피넥스(Bitfinex) 역시 6,800만 달러에 달하는 12만 비트코인을 도둑맞았다. 조사 결과에 따르면, 비트피넥스의 비트코인 월렛 업체인 비트고(BitGo)가 지닌 소프트웨어상의 취약성으로 인해 생긴 문제였다.

가장 큰 두 가지 과제 : 확장성과 신뢰성 확보
블록체인 기술은 기본적으로 두 개인, 기업, 단체 간의 신뢰를 수학적 원리로 대체하려는 시도다. 이는 바꿔 말해 블록체인 기술의 수학적 원리에 대한 의존성이 커질수록 더 많은 노드(서버)가 필요하게 되며, 운영 환경에 더욱 연산 집약적이 되고, 그에 따라 비용도 증가하게 됨을 뜻한다고 베넷은 말한다.

레브라이의 라오도 이에 동의했다. 블록체인은 ‘체인’ 형태이기 때문에 블록 삽입이 직렬화되어야 한다. 때문에 업데이트 속도가 병렬적인 업데이트를 하는 전통적인 데이터베이스보다 느리다. “검증되지 않은 불특정 다수의 사람이 참가할 수 있는 글로벌 규모의 네트워크에서는 이처럼 비싼 비용과 느린 속도가 용납이 될 수 있다. 그렇지만 참가자가 엄격히 통제되는 기업 환경에서 딱히 부가적인 이득이라고 할 것도 없는 블록체인 기술에 그토록 많은 에너지와 시간을 쏟을 필요는 없어 보인다’라고 말했다.

또한, 가장 널리 사용되는 블록체인 형태이기도 한 퍼블릭 블록체인은 불특정 다수에게 투명하게 오픈되어 있기 때문에 누구나 거래장부를 볼 수 있다. 비트코인이 이런 경우다.

그렇지만 상업적 환경에서 이 기술을 사용할 때는 이와 같은 투명성이 반드시 좋은 것이라고 보기 어렵다. 예를 들어, 만약 블록체인 기술이 주식 거래 플랫폼상에서 즉각 합의(instant settlement) 메커니즘으로 사용된다면 어떨까? 각 참여자가 다른 참여자의 모든 의도와 행동을 읽을 수 있게 되므로 결국 메커니즘 자체가 제대로 기능하지 못할 것이다.

또 다른 예로, 만일 제조업에서 공급업체에 대한 공개 거래장부로써 블록체인 기술을 사용할 경우 일방 계약자가 블록체인상의 다른 모든 하도급 업자들을 볼 수 있게 될 것이다.

베넷은 “블록체인상에서 특정 거래를 원하는 기업이라고 할지라도, 고객이 모든 하도급 업체를 알게 되는 것은 원하지 않을 수 있다. 결국 기업은 이러한 거래 데이터를 어떻게 하면 비공개로 유지할 수 있을지에 대해 고민하지 않을 수 없다”고 말했다.

블록체인에서도 일부 사용자들만이 중요 데이터나 기밀 데이터를 볼 수 있도록 베타성을 도입하는 방법이 없지 않다. 예를 들어, 리눅스 재단의 오픈소스 블록체인 프로젝트인 하이퍼레저의 경우, ‘채널’이라 불리는 서브 체인을 이용해 승인된 일부 사용자들만 중요 정보에 접근할 수 있도록 하고 있다.

블록체인의 스마트 계약, 지나치게 과장됐다
스마트 계약, 또는 자체 이행 계약은 별도의 이행 강제 권위체가 필요 없다는 점에서 블록체인이 가진 가장 매력적인 기능 중 하나라고 할 수 있다. 기본적으로 이는 계약 당사자들이 동의한 거래 조건이 달성될 때 그 대가로 약속된 돈이나 물건이 자동으로 상대방 당사자에게 전달되는 시스템이다.

예를 들어, 보험사 슫에서 허리케인이나 가뭄과 같은 세계 기후 현상에 기반해 보험금을 지불할 수 있을 것이다.

그렇지만 베넷은 이 스마트 계약이라는 것이 사실 스마트하지도 않으며 법적으로 볼 때 진정한 의미에서의 계약이라고 하기도 어렵다고 말한다.

베넷은 “개념적으로만 보면 정말 멋진 아이디어다. 이는 일종의 비즈니스 프로세스 자동화라고 할 수 있다. 비즈니스 프로세스 자동화를 위해서는 일단 자동화의 대상이 되는 프로세스가 무엇인가에 동의할 수 있어야 한다. 이 프로세스에 어떤 룰을 적용할 것인지를 합의하고 나서 이를 코드로 옮겨야 한다. 때문에 이러한 프로세스 자동화는 사람들이 생각하는 것보다 훨씬 복잡하고 어렵다”고 말했다.

그런데 블록체인 스크립팅 언어는 아직까지 이 정도의 자동화가 가능할 만큼 성숙하지 못했으며 프로그래머들 역시 이직까지 이 언어에 대해 배워가는 단계이다. 이러한 이유로 버그나 취약성도 발생할 수 있다.

스마트 거래 당사자들은 또한 거래 운용 방식을 어떻게 준수할 것인가에 대해, 그리고 거래 이행 여부에 대한 분쟁 발생시 이를 어떻게 해결할 것인가에 대해서도 합의를 해야 한다.

베넷은 “코딩에 실수가 있었다든가 하는 식으로 예기치 못한 상황이 발생할 경우에 대비해, 외부 경로를 통해 코딩을 수정할 수 있어야 한다. 아니면 최소한 양 당사자 모두 원하지 않았던 비상 상황에 대비해 최종 ‘오프 스위치(계약 파기 방법)’이 마련되어야 한다”고 말했다.

예를 들어, 지난 2010년 어느 한 자동화 상거래 이행 시스템이 순간적으로 장애를 일으키며 전 세계적인 무역 네트워크에 영향을 미친 일이 있었다.

당시 한 대규모 거래 당사자가 거래 플랫폼 상에 주문 정보를 피딩하기로 프로그램되어 있던 자동화 알고리즘을 통해 판매 프로그램을 실행하려 했다. 이러한 판매 프로그램의 실행은 전례 없는 대규모의 실 변화를 야기했고, 시스템 충돌과 함께 이례적인 수준의 주가 변동성을 가져왔다.

이러한 시스템 충돌을 겪은 규제 당국은 상기 언급한 것과 같은 ‘오프 스위치’를 만들어 냈다. 5분 내로 10% 이상의 주가 변동이 관찰될 경우 개별 주식 거래를 정지시키는 제도를 도입한 것이다.

베넷은 “이러한 사례를 통해 스마트 계약과 조작 불가능성의 개념이 양립 불가능한 경우도 있음을 알 수 있다. 왜냐하면 스마트 계약에서 ‘조작 불가능’을 인정한다면, 최악의 보안 버그가 존재해도 이를 고칠 수 없게 됨을 뜻하기 때문이다”고 말했다.

블록체인 기술이 발전하면서, 이에 대한 학술 연구도 활발히 진행되고 있다. 특히, 블록체인의 수학적 원리에 대한 연구가 그러하다고 포레스터는 밝혔다. 일부 기업들은 자사 블록체인 솔루션의 수학적 분석을 의뢰하였으며, 이러한 경향은 2018년에 더욱 강해질 전망이다.

베넷을 포함한 많은 이들도 블록체인이 혁명적인 발상의 전환임에는 동의한다. 새로운 비즈니스 및 거래 신뢰 모델을 제공하기 때문이다. 그럼에도 불구하고 이러한 신뢰 모델이 시장에서 어떤 형태를 띄게 될 것인가는 아직까지 불분명한 상태로 남아있다.

베넷은 “오늘날 기업들의 블록체인 프로젝트들을 살펴보면, 대부분이 기존 프로젝트를 최적화하는 형태를 띄고 있다. 그렇지만 퍼블릭 프로세스를 포함하여, 프로세스 운용 방식을 진정한 의미에서 재탄생 시키는 작업은 기술이 보다 정교하고 완성된 미래의 과제로 남아 있다”고 말했다.

새로운 비즈니스 프로세스를 만들어 내기 위해서는 개별 사용자들 간의 비즈니스 프로세스 조건에 대한 동의가 선행되어야 한다. 실제로 블록체인 운용 조건에 대해 사용자들 간 합의가 이루어지지 않아 무산된 프로젝트들도 있다. 블록체인은 IT만큼이나 당사 간 합의나 신뢰가 중요한 분야이기도 하다.

베넷은 “최근 한 지인이 나에게 이런 말을 했다. 블록체인은 2할이 기술이고 8할은 비즈니스라고 말이다”라며, 블록체인의 비기술적 측면을 강조했다.



※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지


[원문출처 : http://www.itworld.co.kr/news/107168]

맨 위로
맨 위로