‘男兒一言重千金(남아일언중천금)’
남자의 한마디 말은 천 근의 금과 같이 중요하다는 의미이다.
자치통감(資治通鑒)에 나오는 ‘丈夫一言許人 千金不易(장부일언허인 천금불이)’라는 구절이 변형된 것으로 생각된다. 국적을 알 수 없는 유교적 표현이다. 가부장제도 상황에서 많이 인용되던 문구이다. 지금보다 유교적 관점으로 남녀의 차이를 두던 시절에는 남자라는 의미가 조금 더 부각될 수 있었겠다. 그렇지만 지금은 이미 남녀평등을 넘어선 시대이기에, 여기서 약속을 중요시하는 표현에 중점을 두고 보자.
약속은 언제나 중요한 것이다. 블록체인에서는 특히 더 중요하다.
비트코인은 블록체인 1.0으로 정의하고, 이더리움을 블록체인 2.0으로 정의한다. 여기에는 스마트 컨트랙트가 아주 중요한 키워드이고, 이제는 스마트 컨트랙트가 전방위에 걸쳐서 핵심 요소로 자리 잡고 있다.
용어 적으로 컨트랙트는 계약이라는 개념으로만 이해하기 쉽다. 그러나, 단지 계약이라는 단어에만 몰입되면 안 된다. 약속과 지키려는 의지, 또 해야만 하는 의무와도 같은 성격으로 바라봐야 한다. 더욱이 블록체인에서는 한번 표현된 것은 고칠 수 없다는 일종의 신념을 갖고 있기 때문이다.
이러한 표현은 신용과 결부 지어 생각해 볼 수 있다.
현대는 신용사회라고 불리고 있다. 신용은 경제 활동에 있어서 매우 중요한 약속이다. 비즈니스 세계에서는 목숨처럼 중요하게 여기는 것이 바로 신용이다. 신용은 결국 약속을 잘 지키는 것으로부터 시작된다.
지키지 못하는 약속은 애당초 표현하면 안 된다. 한 번에 완성된 것을 표현하기 위해서는 무엇이 필요할까?
부단한 확인과 또 점검이다. 소프트웨어 공학에서 바라보면 두 가지 관점으로 볼 수 있다. 바로 검사(Verification)와 검증(Validation)이다.
소프트웨어 프로젝트 관리와 테스트에서 소프트웨어가 처음에 한 약속을 지키고 있는지 확인하는 절차이다. 다시 말해 시스템을 개발하기로 한 사양을 만족하는지, 이것이 추구하는 목적을 만족시키는지를 확인하는 과정이다. 이러한 과정은 품질 좋은 소프트웨어가 세상에 나오도록 도와주는 길고, 힘겨운 시간이기도 하다. 이는 소프트웨어 개발주기로 볼 때 보통 소프트웨어를 출시하는 프로젝트팀의 책임감이 절대적으로 필요한 핵심 단계이다.
검사와 검증은 헷갈리기는 하지만 같은 개념이 아니다. 소프트웨어 공학의 대가인 Barry Boehm교수는 간단명료하게 차이점을 설명했다.
검사는 제품을 올바르게 만들고 있는지에 대한 확인이다.
검증은 올바른 제품을 만들고 있는지에 대한 확인이다.
검사는 설계된 것과 구현된 코드를 정적인 방법으로 확인하는 것으로, 소프트웨어 검사는 사람이 중심이 되어 문서와 파일을 점검하는 것이다. 검증은 실제 만들어진 제품을 확인하고 테스트하는 동적인 과정으로 코드 실행을 통해 점검하는 것이다.
블록체인의 세계로 눈을 돌려보자.
블록체인을 다른 표현으로 신뢰(Trust)라고 표현하기도 한다. 그 중심에는 스마트 컨트랙트가 있다. 약속은 반드시 지키고자 하는 의지에서 출발한다. 블록체인 자체도 중요하고, 블록체인이라는 소프트웨어 프로젝트도 약속을 잘 지키도록 검사와 검증을 해야 한다.
1단계로 소프트웨어 프로젝트의 관점에서 점검하고, 2단계로는 사회적인 눈으로 올바르게 블록체인이 만들어지는지, 올바른 블록체인이 만들어지는지를 점검해야 한다.
1단계는 소프트웨어 공학이 담당하겠다. 2단계는 법과 제도와 같은 사회 시스템이 담당할 수 있는 길이 마련되어야 할 것이다. 2019년 황금 돼지의 해에는 우리의 역량이 충분히 준비되리라 기대해 본다.
/조민양 동서울대학교 교수
- 김연지 기자
- yjk@decenter.kr