본문 바로가기

카테고리 없음

유통·제조·물류 분야 블록체인의 단상

반응형
이 제품은 진품일까?
이 제품은 진짜 좋은 원료로 만들어졌을까?

 

이러한 과제에서 블록체인을 접목하려는 시도가 많다. 철저한 무결성 보장이라는 블록체인의 특징, 특장점을 살려 누군가 조작할 수 없는 철저한 SCM(Supply Chain Management)를 하겠다는 것이다. 하지만 실상은 대부분 DBMS의 무결성을 강화하는 측면에서 블록체인을 사용하며, 실질적으로 블록에 쌓이는 데이터나 노드 구성에 대한 관심이 부족한 경우가 많다.

 

  • ① 원재료 공급 업체
  • ② 품질 검사 기관
  • ③ 물류 업체
  • ④ 1차 제조 업체
  • ⑤ 2차 제조 업체
  • ⑥ 판매·유통 업체

 

등의 이해관계자들이 철저한 관리를 위해 서로 블록체인 네트워크를 구성한다고 해보자. 참여 업체들이 하나하나 노드를 가질수도 있고 좀 크고 정형화된 시장의 경우 원재료 생산 업체들의 협회, 물류 협회 등에 거점을 구성하여 노드를 구성할 수도 있다. 그리고 재료가 생산되고 검사되고 배송되는 과정에서 이를 블록체인에 올리고, 재료가 상품이 되는 라이프사이클을 블록으로 이어주면 나중에 제품의 고유번호만 조회하면 전체 과정이 한눈에 추적되는 것이다. 덤으로 블록체인이기 때문에 들어간 원료를 조작하거나 유통 과정에서 과도한 마진을 남기는 것도 방지할 수 있다.

 

위와 같이 이상적으로 되면 정말 좋을 것이다. 하지만 이런 일은 실제로 일어나기 힘들다. 블록체인을 이용한 SCM, 또는 블록체인을 이용한 물류·유통 혁신 사례 등을 보면 대부분은 '특허가 출원되었다', '서비스가 출시되었다.', '실증을 시작하였다.' 정도이며 가시적인 성과는 아직 찾기 힘들다. 물론 공급망이 복잡하지 않은 경우엔 시범적으로 블록체인을 이용한 관리 체계를 도입하고 이를 기반으로 서비스가 되긴 하지만 이는 블록체인의 안착 사례이지 그로 인해서 혁신이 일어난 것은 아니다.

 

실제로 위와 같은 이해관계자들이 블록체인을 구성하기 위해선 이를 해결하고자 하는 선의로써의, 모두의 참여가 있어야 한다. 그게 아니라면 강력한 거버넌스나 위계질서를 기반으로 반강제적인 네트워크가 구성될 수도 있다. 서로 눈치를 보여 이익을 추구하는 수 많은 실제 산업계의 이해관계 속에서 아직 전자의 사례는 찾기 힘들며, 후자의 사례는 국가나 협회 주도로 PoC정도가 이루어지고 있긴 하다.

 

하지만 이런 일부 적용 사례, 솔루션 사례들의 단상을 보면 아직까지는 참 멀었다는 생각이 든다. 일단 이론적으로 정보 블록을 차곡차곡 쌓아가며 체인을 구성하고 있긴 한데 과연 그 체인은 얼마나 큰 가치를 지니는가? 정말 중요한 두가지 관점으로만 이를 비판해보겠다.

 

1. 블록에 쌓이는 정보는 정확한가?

가장 큰 문제이다. 애초부터 정확하지 않은 정보들은 무결성을 철저하게 보장할 의미가 크게 떨어진다. 블록체인이 가장 처음 접목되었던 비트코인의 송금과 같이 "A가 B에게 보냈다. A은 잔액은 B에게 보낸 만큼 줄어들었고, B의 잔액은 A에게 받은 만큼 늘었다."라는 사실은 누구나 쉽게 검증할 수 있다. A가 B에게 1000원을 보냈는데 A의 잔액이 500원만 줄었다거나 B의 잔액이 2000원이 늘었다면 이는 누구든 쉽게 잘못되었다고 말할 수 있고, 이런 정보는 자연스럽게 폐기된다.

 

그런데 만약 "A라는 업체가 200kg의 원료를 B에게 보냈다." 라면? 이는 누군가가 쉽게 검증할 수 없다. 물론 A가 저런 정보를 블록으로 쌓으려고 하는데 원료를 받은 적이 없는 B가 이를 보고 반발할 수는 있을 것이다. 그데 만약 A와 B가 악의적인 모의를 했다면? 이를 품질 검증기관, 물류 업체, 제조업체, 유통·판매 업체들에서 알 수 있을까? 그들이 그냥 기계적으로 합의를 해 줄 뿐이라면 이런 거짓 정보도 자연스럽게 블록에 올라가 버릴 것이다. 그리고 이 거짓 정보는 블록체인의 강력한 무결성 보장 기능의 보호를 받게 된다. 실제로도 많은 PoC에서 각 구성 노드들은 관련 협회, 공장, 사무소 등의 이해관계자의 노드라고는 하지만 실제로 해당 PoC 수행사가 관리하는 서버들일 뿐이고 그저 A협회, B공장, C사무소로 라벨링이 되어 있을 뿐이다. 그 협회, 공장, 사무소의 담당자들은 그냥 명목적인 노드 관리자로, Explorer를 이용해 쌓여 가는 블록들을 확인할 수 있지만 그들이 실제로 제대로된 검증자의 역할을 하거나, 합의 과정에 관여할 전문성은 없다.

 

이건 정말 해결하기 어려운 블록체인 오라클 이슈이다. 이런 일이 방지가 되기 위해선 각 이해관계 기업들의 시스템, 이를테면 제조업체의 MES나 유통업체의 SCM등이 모두 블록체인 이력관리 시스템과 연계가 되어 있어야 한다. 그것도 조작 불가능한 형태로 연계되어야 하고 조작을 방지하기 위해 지속적인 감사가 필요할 수도 있다. 이런 번거로움은 블록체인의 장점을 상쇄시켜 버린다고 비판하기에도 충분하다.

2. 노드는 제 역할을 하는가?

많은 실증 사업이나 구현 사례에서 각 이해관계의 거점에 노드를 설치한다고 하지만, 까보면 결국 노드 VM을 하나 할당할 뿐이다. 심지어는 실증이라 그렇다고 하더라도 실증 주관기관의 서버실에 물리적인 서버 여러대로 노드를 구성하며 네임태그만 각 기관의 이름으로 붙이기도 한다. 

 

아주 바람직하게 각 기관에 노드를 설치했다고 하더라도 실제 그 기관은 노드를 운영할 지식이나 인프라, 인력이 없는 경우가 대부분이다. 노드는 어차피 자동으로 돌아가며, 정말 논리적인 오류가 있지 않은 상태에선 그냥 올라오는 모든 정보에 기계적으로 합의를 해주곤 한다. 결국 검증 기능 없는 분산DB시스템에 불과하다. 자료구조만 블록체인을 선택했을 뿐이다.

 

노드에 오류가 나거나 정정이 필요할 때 마다 주관기관이나 그들의 수행기관(SI업체 등)에서 와서 오류를 해결해주는 의존성이 생길 수 밖에 없으며, 극단적인 경우라면 잘못 쌓인 블록을 얼마든지 조작하거나 하드포크 해버릴수도 있다. 말그대로 '실증' 그 이상 그 이하도 아니다.

 

이런 경우라면 위 1번에서 말한 경우 처럼 A업체가 B업체게 원료 200kg을 보냈다고 정보를 입력하더라도 B를 비롯한 모든 업체들이 아무 생각 없이 기계적으로 합의를 해버릴 가능성이 많다. 대부분의 실증에서 이런 투입 정보의 정확성 담보는 추후 해결 과제로 남겨두거나 현실세계의 물리적인 감사에 의존하는 경우가 많다. 큰 비용을 들여 터무니 없이 불편한 분산DB를 사용하면서 마치 무언가 철저하게 보장되고 있다고 말하는 것이다.

 

그마나 "A라는 업체가 200kg의 원료를 B에게 보냈다." 라는 잘못된 정보가 뒤늦게라도 어떤 노드 관리자의 눈에 들어왔다고 가정해보자. 당연히 해당 노드 관계자로부터 정정이 요청될 것이다. 하지만 블록체인은 DBMS가 아니란 것을 알아야 한다. 악의적이든, 과실이든 잘못 쌓여버린 정보를 수정하는데 드는 비용은 우리가 기존에 쓰던 DBMS보다 훨씬 크다. 그리고 이런 노드 수정에도 다른 이해관계자들이 제대로 참여해야 한다. 그렇지 않은 수정이 빈번히 일어난다면 이는 블록체인의 존재 가치를 잃어버리는 것이다.

반응형