베이킹노드
베이킹노드(baking node)는 테조스(Tezos) 블록체인에서 사용하는 용어로, 코인 소유자로부터 위임받은 코인으로 베이킹(baking)을 하는 노드이다.
개요[편집]
베이킹은 테조스 블록체인에서 블록을 생성하고 블록을 입증하는 방법으로, 채굴과 동일한 의미를 가진다. 테조스 블록체인에서 채굴을 하기 위해서는 최소 8,000XTZ가 필요한 테조스 지분증명 시스템에 참여해야만 한다. 소유한 XTZ가 많을수록 블록을 생성하고 블록 생성 보상을 얻을 확률이 높아진다. 하지만 누군가 혼자서 베이킹 할 만한 XTZ가 없거나 블록을 생성할 컴퓨팅 인프라를 만들고 싶지 않다면, 코인을 베이킹노드에게 위임할 수 있다. 위임은 코인 소유자가 코인을 베이킹노드에게 빌려주는 것으로, 베이킹노드가 블록을 만들고 블록 생성 보상을 얻을 가능성을 높인다. 실제로 베이킹노드는 대개 위임받은 코인에서 발생한 추가 수익을 코인 소유자와 나눈다. 이 과정은 코인 소유자가 위임된 XTZ를 마음대로 사용하거나 통제할 수 없고, 베이킹노드의 자금을 도용하지 못하게 보장한다. 코인 소유자는 셀프베이킹(self baking)을 통해 높은 수익을 얻을 수 있지만, 이를 위한 시스템을 세팅하고 안정적으로 베이킹 소프트웨어를 실행할 전문적인 기술지식과 시간이 필요하다. 테조스 코인을 위임함으로써 코인 소유자는 이 프로세스를 완전히 생략할 수 있지만, 일반적으로 낮은 수익을 얻는다.
위임[편집]
누군가 (혼자 베이킹 할 만한) XTZ가 없거나 블록을 생성할(to bake) 컴퓨팅 인프라를 만들고 싶지 않다면, 코인을 베이커 (위임자, delegator)에게 위임(delegating) 할 수 있다. 위임은 코인 보유자(위임인)가 코인을 베이커(대표자)에게 빌려주고 베이커에게 블록을 만든 다음, 블록을 보증하기 위해 선택될 가능성을 높인다. 실제로, 베이커는 대개 위임받은 토큰에서 발생한 추가 수익을 코인 보유자와 나눈다. 중요한 것은 이 과정이 실제로 코인의 소유권(ownership)을 주지 않기 때문에 위임된 XTZ를 쓰거나 통제할 수 없고 베이커가 위임자의 자금을 도용하지 못하게 보장한다.[1]
예제[편집]
- 우분투 설치 후 test 계정 생성
ubuntu@ubuntu:~$ sudo adduser test Adding user `test' ... Adding new group `test' (1001) ... Adding new user `test' (1001) with group `test' ... Creating home directory `/home/test' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for test Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
/etc/sudoers 에 아래 라인 추가 test ALL=(ALL:ALL) ALL
- test 계정으로 전환
sudo su - test
- 관련 패키지 설치
sudo apt-get install -y curl patch unzip make gcc m4 git g++ aspcud bubblewrap
- opam v2 설치
- root 로 설치 필요. 설치 후 exit 하여 test 계정으로 변경
sudo su - sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh) exit opam init
- 테조스 베타넷 빌드
git clone -b betanet https://gitlab.com/tezos/tezos.git cd tezos eval $(opam env) make build-deps eval $(opam env) make
- 테조스 노드 실행
./tezos-node identity generate 26. nohup ./tezos-node run --rpc-addr :8732 &
- 블록이 모두 동기화되었는지 아래 명령어와 tzscan.io 에서 마지막 블록 hash 정보를 비교하여 확인
./tezos-client rpc get /chains/main/blocks/head
- 활성화 키 입력
./tezos-client import fundraiser secret key "my_account" ./tezos-client activate fundraiser account "my_account" with <activation key from KYC site>
- 델리게이터로 등록
./tezos-client register key "my_account" as delegate
- 베이킹/인도서 시작
- 노드 data 저장위치를
--data-dir
옵션을 사용해서 바꾸지 않았다면 아래와 같이 본인의 홈 디렉터리 아래로 지정
nohup ./tezos-alpha-baker run with local node "/home/`id -nru`/.tezos-node" "my_account" & nohup ./tezos-alpha-endorser run "my_account" &
- 특정 싸이클에서 베이킹/인도싱 권한 조회 방법
- 아래는 8번째 사이클(Cycle)에서 베이킹/인도싱 권한을 획득한 주소들과 수량을 보여준다.
CYCLE="8" ./tezos-client rpc get "/chains/main/blocks/head/helpers/baking_rights?cycle=$CYCLE&max_priority=1" | jq -r '.[] | .delegate' | sort | uniq -c | sort -rnk2 ./tezos-client rpc get "/chains/main/blocks/head/helpers/endorsing_rights?cycle=$CYCLE&max_priority=1" | jq -r '.[] | .delegate' | sort | uniq -c | sort -rnk2
테조스[편집]
- 테조스 : 자가 수정 블록체인
- 테조스 블록체인에는 스스로 코드를 수정하는 기능이 탑재돼 있다. 또 비트코인과 이더리움 등 오프체인 거버넌스(Off-chain Governance) 방식의 1, 2세대 프로젝트와 달리 온체인 거버넌스(On-Chain Governance)를 도입한 것이 큰 특징이다. 오프체인 거버넌스가 외부 커뮤니티에서 개발자 중심으로 프로젝트 개발에 대한 의사 결정을 합의하는 것이라면 온체인 거버넌스는 블록체인 내에서 합의가 이뤄진다. 테조스 블록체인 내에서 통용되는 가상통화 테지(Tezzies, XTZ) 1만 개를 보유하거나 위임받으면 누구든 합의에 참여할 수 있다.
- 테조스는 블록을 생성하는 행위를 롤 케이크를 만드는 과정에 비유했다. 제빵사(baker, 채굴자)는 1만 XTZ를 보유해야 하나의 롤 케이크, 즉 블록을 만들 수 있다. 약 1분에 1개의 블록이 생성되며 제빵사는 보상으로 16XTZ를 받는다. 무작위로 선정된 32명의 검수자는 제빵사의 성실성을 검증하는 대신 약 2XTZ의 보상을 받게 된다.
- 테조스 블록체인은 블록을 발견하고 트랜잭션을 전송하는 네트워크 프로토콜, 트랜잭션의 유효성을 확인하는 트랜잭션 프로토콜, 노드 간 합의를 수행하는 합의 프로토콜로 구성돼 있다. 여기에 테스트넷에서 사용하고 있던 프로토콜을 투표를 통해 채택된 새로운 프로토콜로 대체하는 세트 테스트 프로토콜(set test protocol) 기능과 테스트 되는 새로운 프로토콜을 기존 프로토콜로 교체하는 프로모트 테스트 프로토콜(promote test protocol) 기능을 도입해 자가 수정을 구현했다.
- 개발 현황
- 2018년 6월 말부터 79일간 베타넷을 구동한 뒤 그해 9월 메인넷을 런칭했다. 버그 바운티 플랫폼 해커원(HackerOne)에서 테조스의 버그 보상 프로그램을 운영하고 있다. 업계에서는 처음으로 미켈슨(Michelson)과 오카멜(OCaml)을 사용했다. 오캐멀은 함수형 프로그래밍 언어로 구성된 강력한 타입(코드) 추론 알고리즘이다. 또 단순하고 간결한 데다가 바이트 단위로 명령어를 번역해 빠른 속도가 강점이다. 지난 3월에는 파이썬(Python) 기반으로 테조스 스마트 계약을 개발할 수 있는 스마트파이(SmarPy)를 발표해 개발자들의 진입장벽을 낮췄다. 또 2019년 3월 13일 스마트 계약 언어 라이고(LIGO)를 발표했다. 미켈슨보다 긴 스마트 계약을 작성하기 위해 만들어진 것으로 오프체인(off-chain)으로 제2의 레이어를 만들어 수수료와 속도 문제를 해결하는 매리골드(Marigold)를 실행하기 위한 언어다.
- 조력자
- 테조스는 2017년 7월 ICO로 2억3200만 달러(약 2622억 원)라는 당시 최고액을 조성했다. 2014년 9월 개발자 아서, 케이틀린 브라이트먼 부부는 레아 맥그래스 굿맨(Leah McGrath Goodman)이라는 가명으로 테조스 백서를 발표했다. 미국에서의 투자 유치는 실패하고 스위스 주크로 건너가 재단을 설립했다. 이때 요한 거버스(Johann Gevers)가 재단 대표로 합류했다. ICO 이후 브라이트먼 부부가 거버스를 횡령 혐의로 고소하면서 테조스 개발은 미뤄지기 시작했다. 내부 분쟁은 2019년 2월 거버스가 사임하면서 끝났으나 미국의 일부 ICO 참여자들이 "미국 증권법상 증권을 불법으로 판매했다"는 이유로 2018년 12월 브라이트먼 부부를 상대로 집단 소송을 제기한 것이다. 테조스 측은 ICO가 스위스에서 이뤄졌기 때문에 미국법을 적용받지 않는다고 주장하고 있다. 이 소송은 아직 진행 중이다. 2018년 11월부터 김진화 한국블록체인협회 이사가 테조스 한국재단 이사로 활동하고 있다.
- 타임라인
- 2017년 11월 2일 : J빌더로 빌드시스템 이전
- 2017년 12월 18일 : 일부 미국 ICO 참여자, 테조스 재단 상대로 집단 소송 제기
- 2018년 1월 2일 : 개발자 전용 웹페이지 제작
- 2018년 2월 22일 : 요한 지브스 전 대표 사임
- 2018년 6월 30일 : 베타넷 가동
- 2018년 7월 5일 : 베타넷 업데이트
- 2018년 8월 21일 : 코인원 상장
- 2018년 9월 17일 : 메인넷 런칭
- 2018년 10월 16일 : 코인원, 테조스 노드 서비스 시작
- 2018년 11월 12일 : 김진화 이사, 테조스 한국재단 합류[3]
각주[편집]
- ↑ Yongjun Ko, 〈베이킹(baking)은 무엇인가요?〉, 《테조스코리아 커뮤니티》
- ↑ justmustone, 〈테조스(Tezos) 베타넷 베이킹(Baking)〉, 《네이버 블로그》, 2018-07-01
- ↑ 김혜정 기자, 〈(코인 맞수) 테조스 (XTZ) vs 카르다노 (ADA)〉, 《데일리토큰》, 2019-04-20
참고자료[편집]
- Yongjun Ko, 〈TQ Tezos Wiki에 오신것을 환영합니다!〉, 《테조스코리아 커뮤니티》
- Yongjun Ko, 〈베이킹(baking)은 무엇인가요?〉, 《테조스코리아 커뮤니티》
- 〈테조스〉, 《해시넷》
- justmustone, 〈테조스(Tezos) 베타넷 베이킹(Baking)〉, 《네이버 블로그》, 2018-07-01
- 김혜정 기자, 〈(코인 맞수) 테조스 (XTZ) vs 카르다노 (ADA)〉, 《데일리토큰》, 2019-04-20
같이 보기[편집]