• 화. 10월 20th, 2020

프로그램 코드와 당사자 의사 사이의 불일치 문제

Avatar

Byadmin

9월 10, 2020

프로그램 코드와 당사자 의사 사이의 불일치 문제

스마트계약을 실제로 작성하는 방식에는 여러 가지가 있을 수 있다.

초기에는 당사자 사이에 먼저 자연어로 합의 내용을 정리한 합의문을 작성한 다음

이를 바탕으로 프로그래밍 언어로 된 스마트계약 프로그램을 작성하는 방식이 주류일 것으로 예상된다.

우선 자연어로 마련된 합의문에 대한 정확한 검토가 선행되어야 한다.

애초에 합의문이 당사자의 의사를 제대로 반영하지 못한다면 스마트계약으로 변환하더라도

그 흠이 그대로 전사될 수밖에 없기 때문이다.

스마트계약에 담긴 프로그램 코드에 대한 법률적ㆍ기술적 검토가 필요한 만큼 양 쪽의 경험과

지식을 모두 갖춘 전문가가 투입되거나 법률전문가와 기술전문가의 협업이 필요한데,

당사자들이 두 영역의 전문가들에게 작성업무를 맡겨야 함에 따라 비용이 증가할 수 있다.

계약에 사용되는 다수의 불명확개념들은 경직된 프로그래밍 언어로 스마트계약을 작성하는 데에

큰 장벽이지만, 그밖에도 프로그램을 작성하는 과정 그 자체에서도 프로그래밍 언어가

당사자의 합의의 내용을 온전히 반영하지 못하고 왜곡이 일어나는 문제가 있을 수 있다.

원인에는 여러 가지가 있을 수 있는데, 기술전문가가 프로그램 코드를 작성하는 과정에서

일부 조항을 누락할 수 있고,119) 법률전문가의 설명이 부족했을 수도 있으며,

전달과정에서 오해가 생길 수도 있다.

마치 외국어를 번역할 때 중역을 할 경우 원어의 의미에서 더욱 멀어질 가능성이 커지는 것처럼,

비법률가인 당사자→법률전문가→기술전문가를 거치면서 일상언어(자연어)→법률용어(자연어)→프로그래밍 언어로 여러단계를 거쳐 변환이 이루어짐에 따라

당초에 당사자들이 의도한 내용이 왜곡될 가능성은 조금이라도 더 커질 수밖에 없다.

이와 같은 왜곡을 원인으로 하여 스마트계약을 구성하는 프로그램 코드가 당사자가 의도와

불일치하는 경우, 착오를 이유로 한 취소로 당사자가 구속력에서 벗어날 수 있을지 문제될 수 있다.

① 스마트계약의 경우에는 블록체인에 등록되어 네트워크 전체에 전파되는
프로그램 코드만이 기준이 된다는 견해가 있는데,
착오에 의한 취소를 허용하지 않는 입장으로 해석된다.

② 계약당사자에게 표시의사가 결여되어 있지만 착오에 표의자의 중대한 과실이 있기 때문에
착오에 의한 취소가 원칙적으로 불가능하나, 기술전문가가 프로그램 코드의 내용을
정확하게 설명하지 못하여 당사자가 스마트계약의 체결에 이른 경우에는
착오취소를 허용할 여지가 있다는 견해도 있다.

③ 스마트계약에서도 일반적인 계약 법리에 따른 착오취소가 가능하다는 견해도 있다.

법적인 계약이 당사자들을 구속하는 근거는 당사자들이 합의된 내용에 따라 구속을 받고자 하는

의사를 스스로 표명하였기 때문이다.

스마트계약이라는 형식을 택하였다고 하여 표시에 특별한 가중치를 둘 필요는 없다.

스마트계약의 코드를 최종적으로 표시된 처분문서로 취급하고,

당사자의 자연어로 작성된 합의문이 있을 경우에는 스마트계약을 해석하는 데에

중요한 참고자료로 보면 족하다.124) 한편 프로그램 코드에는 개발자가 곳곳에 기능설명이나

참고용으로 자연어로 된 주석(comment)을 달아두는 경우가 많은데,

주석은 당사자의 의사보다는 기술전문가의 의도를 반영하는 것에 가깝고,

주석을 작성하는 방법이나 분량도 개발자 개인에 따라 편차가 크기 때문에

참고자료로서의 가치는 상대적으로 낮게 보아야 한다.

계약의 해석 결과 의사와 표시의 불일치가 확인되는 경우라면 어떻게 처리해야 하는가?

스마트계약이라고 하여 일반적인 착오 법리를 배제할 필요는 없다.

① 당사자 쌍방에 공통된 착오가 있다면, 즉 당사자 사이에 합의가 이루어졌으나

스마트계약 코드만이 잘못 표현되었다면 애초에 당사자가 합의한 내용대로의 계약이

당사자 사이에 성립한 것이고, 코드에 기재된 내용에 따라

어떠한 계약이 체결되었다고 볼 수는 없다(오표시 무해의 원칙).

실행을 중단시킬 수 있는 명령문을 미리 삽입해두지 않았다면 스마트 계약은 중단되지 않고

계속 실행될 것이므로, 잘못된 스마트계약의 거래결과를 상계할 수 있는 반대거래를

새로운 스마트계약으로 작성하여 블록체인에 등록하여 기존 스마트 계약의 효과를

무효화시키는 후속 작업이 필요하다.

다만 쌍방의 협조가 있어야 가능한 방법이므로(반대거래를 블록체인에 등록하기 위해서는 당사자들의 비밀키가 필요하므로),

일방이 스마트계약 코드에 기입된 내용대로의 계약이 체결되었다고 주장하는 등

분쟁이 생기는 경우에는 블록체인 바깥에서 부당이득반환을 구하는 방법 등으로 해결하여야 한다.

② 계약당사자들 중 한 쪽만이 착오에 빠졌다면, 민법 제109조의 요건을 충족하는 한 취소를

허용해주어야 한다고 생각한다.

스마트계약이 블록체인에 공개됨에 따라 이를 기초로 이해관계를 맺는 제3자가 생기면

민법 제109조 제2항에 따라 보호하면 족하다.

취소권이 인정되더라도 스마트계약에 취소가 가능하도록 미리 설계해두지 않았다면

자동실행에 따른 블록체인상의 거래를 무효화시키는 데에 지장이 생길 수 있는데,

그런 경우에는 스마트계약의 실행이 완료된 이후 블록체인 바깥에서 부당이득반환을 구하는 방법으로

해결해야 할 것이다.

참조문헌 : 바카라실시간사이트https://crosswave.net/

댓글 남기기