안녕하세요, @kjooss 입니다.
최근에 1000억이상 규모로 ICO투자를 많이받는 코인들 (EOS, Bancor) 이 늘어나고 있는데,
오늘 설명드릴 Tezos는 제가 글을 작성하는 현재시간 7월 4일 10:13분 기준으로 2000억이상 투자받은 상태입니다.
아직 9일가까이 남았으니, ICO 투자전에 기술적인부분을 파악하고 투자하시는데 도움이 될까해서 글을 작성합니다.
Tezos 기술백서는 4개의 장으로 나뉘어져있고
순서로 정리되어있습니다.
오늘은 4개의 장중 1,2번째 장인 소개, 자가수리 원장에 대한 기술적 리뷰를 작성하겠습니다.
Abstract에서는 2가지 특징을 설명했는데,
첫번째) Ocaml이라는 프로그램 언어를 사용
두번째) 스스로 진화하는 기능
2개입니다.
Ocaml이라는 프로그램 언어는 함수형프로그래밍 언어 (Functional Programming language)로 대표적인 예로는 파이썬이 있습니다.
제가 대학교에서 해당 언어를 통해서 직접 개발을 해본적이있는데, 해당언어의 특징은
1)바이트 레벨로 명령어를 번역한다
2)객체지향프로그래밍 언어들처럼 각각의 객체 타입을 설정하지 않아도 된다.
3)반복함수(recursive function) 형식이 많아, 짧은코드로 많은 기능을 수행할수 있다.
입니다.
코드가 간단하고 짧은만큼, 또한 바이트 레벨로 명령어를 번역하기때문에,
빠르다가 가장 큰 특징이 아닌가 합니다.
대부분의 함수가 몇줄의 코드만으로 많은 기능을 수행할수 있는것도 또다른 특징입니다.
Ocaml은 그렇게 대중적인 언어가 아니지만, 빠르고 메모리 리크 이슈가 적기때문에,
최근 Facebook에 여러 서비스를 Ocaml로 개발한 사례가 있으며,
Microsoft에서도 .NET의 개발을 Ocaml로 개발하고 있습니다.
대부분의 블록체인 코인들의 프로토콜은 총 3개로 이뤄지는데,
아래는 합의 프로토콜에 대한 간략한 그림 예시입니다.
다수의 분상원장을 소유한 사람(채굴자)들이 합의를 했을시에만, 새롭게 생긴 블록이 유효하다고 판단되고, 매 새로운 처리(transaction)이 일어날때마다 새롭게 블록이 추가되어 체인으로 연결됩니다.
채굴이란 새롭게 블록을 발견하는데 기여를 한 사람에게 (채굴기)에게 인센티브를 주는것으로 생각하시면 됩니다.
-(tezos는 채굴을 할수없는 코인입니다)
보통의 POW (proof of wallet) 블록체인들은 채굴을 통해 합의를하고 합의가 이뤄졌을때만 유효한 블록으로 인정되지만,
또다른 차별점으로는,
다른 POW 베이스 (비트코인, 이더리움 등)의 코인들과는 다르게, 전체 블록을 소유하지않고 하나의 체인만 소유하게 되고, 더 좋은 체인 있을때만 소유하는 체인을 교체하게됩니다.
더 좋은 체인이란 많은 합의(consensus)를 얻어 높은 점수를 얻은 블록이라고 생각하시면 됩니다.
그럼 체인을 하나만 소유하는데 어떻게 그 체인안에 있는 블록이 유효한지 체크할까요?
많은 합의를 얻어 점수가 높을수록 빠르게 블록을 만들고, 점수가 낮을수록 느리게 블록을 만듭니다.
유효하지 않은(가짜 transaction 혹은 잔고부족으로 처리할수 없는 transaction) 블록이 포함된 체인의 경우에는 점수가 계속 낮은 상태로 유지되고, 블록이 만들어지기 이전에 다른 유효한 블록이 포함되어진 높은 점수의 체인으로 변경되서 유효하지 않은 체인은 자연스럽게 프로그램상에서 무시될것이란 주장입니다
위에 설명된 Tezos 프로토콜은 Tezos를 소유한 사람의 요청에 의하여 개정할수 있고, 투표를 통해 더 좋은 프로토콜로 진화 할수 있습니다.
새롭게 개정될 프로토콜은
프로토콜이 교체되는 과정은
================================================
암호화 데이터보안 부분과 결론은 다음 기술백서 2장에서 다루겠습니다.