이더리움 메인 개발자 가빈 우드(Gavin Wood) 사진출처 : 에픽센터(Epicenter)
오픈소스 프로그램의 특성 상 작은 빈틈이 커다란 문제로 이어질 수 있는 점은 부정할 수 없습니다. 하지만 자산의 이동과 보관에 직접적으로 연관된 코드를 만드는 과정이 충분한 테스트와 검증 기간을 거치지 않는 현상은 매우 우려가 됩니다.
이더리움은 누구나 자유로운 코딩이 가능하다는 장점이 있습니다. 하지만 이로 인해서 결정론적(Deterministic)인 코딩이 아닌, 헛점이 있는 프로그램을 만들 수 있는 가능성이 상대적으로 높습니다. 국내에서도 이더리움의 비-결정론적인 코드로 인해 미스트 지갑의 이더리움이 도난되는 사건이 발하기도 했습니다.
물론, 수천명이 사용하는 오픈 된 환경에서 블록체인이 어떻게 동작하는 지를 예측해서 완벽한 테스트를 하는 것을 불가능 합니다 . 그렇다고 하더라도 금융과 관련된 결과물을 충분한 테스트와 검증 없이 개발만 하고 사용자들에게 테스트를 맡겨버리는 선택을 하는 점은 매우 아쉽습니다.
스팀과 EOS의 바탕이 되는 그래핀 엔진을 만든 대니얼 라리머와 코스모스 허브의 텐더민트 엔진을 만든 재권이 몇 년 동안 유닛 테스트와 개발을 병행한 이유는 금융을 다루는 프로그램은 "절대 어설픈 빈틈이 발견되면 안되기" 때문입니다. 하지만 실제 수많은 블록체인 프로젝트 중 오랜시간 유닛 테스트를 진행한 프로젝트는 사실상 몇 개 존재하지 않는다는 점이 블록체인 필드에서 감추고 싶은 어두운 얼굴이 아닐까 합니다.
처음부터 100% 완벽한 블록체인 결과물을 만드는 것은 불가능 합니다. 수많은 유저가 함께 오픈 된 환경에서 블록체인을 테스트해서 검증하는 과정도 필요합니다. 하지만 누군가의 자산이 걸린 문제를 "이 프로그램을 사용한 것은 당신의 선택이고 우리는 여전히 테스트 중이다."라는 말 한마디로 끝내는 태도와 문화는 블록체인 필드가 건강하게 성장하기 위해 변화해야될 부분이 아닐까.. 그리고 모든 관계자들의 반성이 필요하진 않을까.. 생각해봅니다.