블록체인의 최대 강점이자 약점 – 수정불가

블록체인의 특성중에서 투명성 다음으로 많이 이야기 되는 것이 수정불가능이다. 한번 기록되면 수정이 안된다. 그래서 믿을 수 있는 것이다. 쌍방간에 몇날 몇시에 무엇을 하기로 하고 기록을 남기다 라고 써 놓으면 블록체인이 존재하는한 해당 기록은 인정될 수 있다. 그런데 작성해 놓고 나중에 보니 쌍방이 인정하는 오류가 있다해도 수정은 안된다. 계약을 다시 해야한다. 기존의 계약 시스템도 그러하다. 도장찍은 계약서를 고치기는 어렵고 새로 추가로 작성하는 것이 일반적이다.

그럼에도 불구하고 블록체인상의 프로그램이 수정불가능하다는 것은 참으로 두려운일이다. 프로그램은 복잡하다. 일반 계약서 처럼 여러번 검토하면 본질적인 내용은 거의 맞는것과는 차원이 다르다. 단순한 오타 하나가 시스템을 망가 뜨릴수 있다.

이더리움이 이더리움클래식으로 원래것을 버리면서 하드포크 할 수 밖에 없었던 이유도 DApp의 오류 때문이었고 많은 사람들이 오랫동안 정교하게 작업했음에도 치명적 결함이 있었고 플랫폼 자체를 수정하는 방법외에 오류로 인한 피해를 막을 방법이 없었다.

원천적으로 DApp의 소유자는 DApp을 파기할 수 있는 권위를 주면 최악의 사태는 피할수 있으나 그렇게 하면  컨트랙트 자체의 신뢰가 떨어진다.

프로그램의 무결성을 검증하는 것은 매우매우 어렵다. 그러므로 블록체인상의 프로그램은 매우 제한적으로 검증된 코드만을 쓸 수 밖에 없으므로 블록체인상에는 핵심적인 불가역적인 로직만을 배치하고 나머지 소소한 부분들은 블록체인 밖에서 일반 어플리케이션으로 처리하는 디자인이 필요하다.

Leave a Reply

Your email address will not be published. Required fields are marked *