이번연도 1학기 종강과 함께 눈에 보이는 블록체인 강의들을 냅다 수강신청하였다. 1학기에 파란학기를 진행하면서 뭔가 아쉬웠기에, 이번 여름방학에 블록체인 Deep dive를 해보려고 한다.
블록체인에 대한 개념과 효용 가치를 배워나가고 있다. 현재 이더리움 블록체인 개발자 부트캠프 온라인 강의를 듣고 있는데, 서론없이 단도진입적으로 핵심적인 내용들만 짚어주고 있다.
이중 지불 문제란? 누군가 장부를 조작해서, 없던 거래가 생겨나는 것이다. 예를 들어보자.
블록체인 혹은 코인을 사용해본 사람이라면 한번쯤 이런 여우를 본 적이 있을 것이다.
위 그림은 이더리움에서 거래가 이루어지기까지의 과정을 요약한 것이다. 이걸 모두 이해하는 걸 목표로 하자. 위 그림을 잘 살펴보면 화살표가 모두 단방향이어서, 뒤로 되돌아갈 수 없다. 정확히는 모든 경우의 수를 다 검증해야 하기 때문에, 되돌아가기가 굉장히 어렵다.
Solidity를 다루면서 스마트 컨트랙트에 대한 언급을 했다. 간단하게 이야기하자면 디지털로 작성된 계약서를 뜻한다. 이를 작성하는 방법이 Solidity였고, 계약 조건이 충족되면 자동으로 계약 내용이 실행되도록 하는 것이 스마트 컨트랙트이다.
스마트 컨트랙트와 상태 기계의 관계에 대해서 간략하게 언급했었다. 그리고 이더리움이 튜링 완전을 추구하고 있다는 것도 소개했다. 그렇다면 튜링 완전이 무엇을 의미하는지, 블록체인에서 튜링 완전이 왜 중요한지, 그리고 어떻게 구현했는지 한 번 살펴보자. 튜링 완전 먼저