2020년 12월 5일

프로그래밍 언어와 자연어 사이의 간극

프로그래밍 언어와 자연어 사이의 간극

프로그래밍 언어로 작성되는 스마트계약은 장래에 발생할 사건이나 위험을 예측하여

각 상황에 따른 결과 값을 미리 입력해 두어야 하므로,

사전적 관점(ex ante)에서 문제를 규율하는 구조이다.

전통적인 계약법 역시 당사자들이 장래의 상황을 예측하여 계약에 이해관계의 조정을

미리 반영해두는 것을 허용하지만, 기본적으로는 추후 분쟁이발생하면 법원과 같은

분쟁해결기관이 개입하여 이해관계를 조율할 것을 예정하는 사후적 관점(ex post)의

규율 방식이라고 할 수 있다.

전통적인 계약에 등장하는 많은 권리, 의무는 프로그래밍 언어의 문법인 조건문(ifthen)으로

치환이 가능하다.

A가 B에게 자신이 소유한 부동산을 3,000ETH에 매도하면서, 중도금 1,500ETH는 2020. 7. 30.에

지급하기로 합의하였다고 가정해보자.

‘특정한 일자(2020. 7. 30.)가 도래하면 → B의 암호화폐 계좌에서 A의 계좌로 1,500ETH를 송금한다’와

같은 조건문은 프로그래밍 코드로 작성하기에 적합하다.

조건의 성취여부를 컴퓨터가 명확하게 판별할 수 있고,

실행되어야 하는 결과도 명확하게 표현될 수 있기 때문이다.

그러나 계약 조항에 추상적이고 모호한 불확정개념이 들어가는 순간 프로그래밍 언어는 한계에 봉착한다.

모호성은 컴퓨터가 인식하고 처리할 수 있는 프로그래밍 언어와 인간이 사용하는 자연어를

구별 짓는 특성이다.

계약에 자주 등장하는 법률용어들은 우리가 일상생활에서 사용하는 용어보다는

그 의미가 정형화된 편이기는 하지만, 법률용어 역시 자연어인 이상 그 명확성에

한계가 있을 수밖에 없다.

객관적이라고 통용되는 ‘사전적 정의’도 결국에는 인간들이 실제로 해당 단어를 어떻게 사용하는지에 따라

영향을 받으므로 고정적이지 않다.

반면 프로그래밍 언어는 진위 여부가 명확한 논리판단이나 수치화가 용이한 영역에 어울리고,

미리 정의되지 않은 모호한 개념을 이해하거나 처리하는 데에 적합하지 않다.

프로그래밍 언어는 일반적으로 컴퓨터에게 재량을 허용하지 않는다고 이해할 수 있다.

물론 프로그래밍 언어에서도 불명확성을 완벽하게 제거할 수 있는 것은 아니지만,

자연어가 가지는 불명확성과는 비교할 수 없다.

최근에는 기술의 발달로 컴퓨터가 인간의 자연어를 이해하고 처리하는

자연어 처리기술(natural language processing)이 급격한 발전을 보이고 있으나

아직 맥락과 상황을 종합적으로 고려하여 섬세하게 의미를 도출하는 수준은 아니다.

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