• 화. 10월 20th, 2020

프로그램 코드 내 오류(bug)에 따른 문제

Avatar

Byadmin

9월 10, 2020

프로그램 코드 내 오류(bug)에 따른 문제

스마트계약은 사람이 작성하는 프로그램이므로 고의나 실수로 인한 오류가 포함되어 있을

가능성이 얼마든지 존재한다.

잘못된 계좌로 대금이 송금되도록 하거나, 프로그램의 조건을 제대로 설정하지 않아

대금의 이중 지급이 일어나거나, 잘못된 금액을 송금하는 등 상황이 발생할 수 있다.

그런데 블록체인에 등록이 마쳐진 스마트계약은 원칙적으로 불변성 때문에

오류를 사후에 수정하기가 까다롭다.

일반적인 프로그램이라면 업데이트(update)나 패치(patch)를 통하여 오류가 있는 부분을

비교적 용이하게 사후 수정할 수 있는 것과의 차이다.

스마트계약의 오류를 최소화하거나 효과적으로 피해를 복구하기 위한 대응책들은 계속 논의와

연구가 이루어지고 있는 영역이다.

① 먼저 보안상 허점이나 실행과정의 오류를 블록체인에 등록하기 전에 미리 감지하여

바로잡을 수 있는 기술적 수단들이 개발되고 있다.

② 거시적인 해결책으로, 정형적인 거래에 표준화된 스마트계약을 도입하여 오류나 허점이 발견되면

점진적으로 표준 자체를 보완하는 방안도 제시된다.

이 방법은 새롭게 체결되는 스마트계약들의 오류를 줄여 장기적으로 시장 전체에서

스마트계약의 신뢰도를 높여나가는 장점은 있으나,

이미 오류가 발생한 개별 스마트계약을 구제하기에는 실효적이지 않을 수 있다.

③ 사후적인 해결방안으로는 hard fork와 같이 해당 블록체인 내부에서 해결하는 방안이 있으나,

비상적인 수단일 뿐 통상적인 구제수단으로 기능하기는 어렵다.

④ 블록체인 바깥에서 법원에 부당이득반환이나 손해배상청구를 하는 방법으로 해결하기 위해서는

누구의 책임으로 스마트계약의 오류가 발생하였는지를 확정해야 할 텐데,

애초에 당사자 측이 개발자에게 실수로 잘못된 데이터를 제공한 것이 원인이라면

당사자 사이에서 착오의 법리로 해결될 가능성이 높고,

개발자가 프로그램 코드를 작성하는 과정에서 그의 책임으로 오류가 발생하였다면

개발자에게 프로그램 개발계약의 불완전이행에 따른 손해배상책임을 묻는 것도 가능해 보인다.

참조문헌 : 메이저바카라사이트https://ewha-startup.com/

댓글 남기기