About Tezos Delegate Gallery Navigate
Tezos Korea Community
  • 테조스 노드 데이터 최대 530분의 1 수준으로 줄어들 전망(190204)
     레오

    보다 상세한 기술적인 내용은 원문 링크를 통해서 보실 수 있습니다. 링크 이후의 내용은 핵심 내용만 간추린 요약본입니다.

    지난 2월 4일 테조스의 프로토콜을 연구, 개발하는 노마딕 랩스(Nomadic Labs)에서 테조스 노드의 새로운 모드를 소개하였습니다. 바로 스냅샷 모드(Snapshots mode)와 히스토리 모드(History mode) 입니다. 이 두 가지 모드는 테조스 네트워크에서 노드가 데이터(트랜잭션, 블록)를 저장하는 새로운 방식으로, 데이터 용량을 기존 대비 최대 약 530분의 1 수준(스냅샷 모드)으로 줄일 수 있습니다. 이 글을 작성하는 시점(19년 4월 1일) 기준으로 약 190MB입니다. 노드를 처음 실행해 제네시스 블록부터 최신 블록까지 싱크하는 데 몇 분이면 충분합니다.

    현재 PoC(컨셉 증명) 단계는 지났으며, 현재 테스트, 코드 최적화 작업 등이 활발히 진행 중입니다. 아래 노마딕 랩스 gitlab mainnet-snapshots 브랜치에서 확인(필요한 경우 직접 테스트까지)해 보실 수 있습니다.

    업데이트 이후 테조스 노드를 실행할 때 아래 3가지 모드 중 하나를 선택하실 수 있습니다. 

    실행 시 history-mode 옵션을 통해 아래 3가지 모드 중 하나를 선택하시면 됩니다 .

     * 아직 업데이트가 되지 않았습니다. 자세한 내용은 업데이트 후 안내 드리겠습니다.

     1. archive 모드: archive 노드의 데이터 사이즈는 4월 1일 기준 약 101기가 입니다. 기존 방식과 동일한 방식으로 모든 데이터(블록, 오퍼레이션, 컨텍스트)를 저장합니다.

     2. full 모드: full 노드의 데이터 사이즈는 4월 1일 기준 약 1기가 입니다. 새로운 디폴트 모드입니다. 업데이트 후 노드를 처음 실행하면, 자동으로 full 모드로 실행합니다. full 모드는 체인의 모든 데이터(블록, 오퍼레이션, 컨텍스트)를 저장하지만, 일부 컨텍스트(state) 데이터는 지우는 방식입니다. 체크포인트 이전의 컨텍스트를 지웁니다(블록, 오퍼레이션은 저장).

     3. rolling 모두: rolling 노드의 데이터 사이즈는 4월 1일 기준 약 190MB 입니다. 최소한의 데이터만 저장하는 라이트 클라이언트입니다. 체크포인트 이전의 데이터는 아무것도(블록, 오퍼레이션, 컨텍스트) 저장하지 않습니다. 

     * 업데이트 이후 새로운 디폴트 모드는 full 모드 입니다. 즉, 기존에 실행하시던 방식대로 노드를 (처음) 실행하면 자동으로 full 모드로 실행합니다.

     * 기존에 베이킹을 하시던 분들도 archive 모드에서 full 모드로 전환하실 수 있습니다.  

     * 체크포인트에 대해서

    체크포인트는 중앙화의 증거아니냐! 체크포인트는 개발자들의 중앙화된 솔루션일 뿐이다! 

    체크포인트를 두고 오가는 걱정들입니다. 체크포인트는 long range attack에 대응하기 위한 솔루션 중 하나입니다. 예를 들어 쉽게 말하면, 이런 식입니다. 

     ’지금 A가 B한테 5만원 보내는게 맞는지 확인하는데 굳이 1년 전 자료가 필요하겠어? 최근 몇 달만 확인해보고 맞으면 되지.’

    여기서 ‘확인’하는 작업이 합의(consensus)이고, ‘1년 전’이 체크포인트(checkpoint)입니다. 체크포인트를 두고 장단점을 따지려면, 체크포인트의 시점을 반드시 고려해야 합니다. 일 년, 반 년, 몇 달 정도의 주기를 가지고 체크포인트를 설정하는 건 체인에 크게 문제가 안 된다는 주장이 꽤 있습니다. 테조스 포지션 페이퍼에도 체크포인트에 대해 다루었으니, 관심 있으시면 읽어보셔도 좋을 것 같습니다. 

    한편, long range attack은 이론적으로는 가능하나 아직 주요한 프로젝트의 네트워크에서 실현된 적은 없습니다. 현실적으로 Long range attack을 실행하기도 매우 어렵고 복잡할 뿐만 아니라, 공격 가능성을 낮추기 위한 대안들(mitigations)이 많이 나왔습니다. 이 대안들 각각에 대해서 한계점이 지적되기는 하지만, 여러 가지를 적당한 수준으로 조합해서 사용할 경우 long range attack의 가능성이 상당히 낮아진다고 알려져 있습니다. 더 알고 싶으신 분들은 아래 키워드로 검색하시면 됩니다.  

     Bond(Security Deposit, Slasher), KES(key-evoking signatures), Context-Aware Transactions(eg. TAPOS), Plenitude Rule

Replies

테조스 노드 데이터 최대 530분의 1 수준으로 줄어들 전망(190204)

tezos!!!!

저 글을 쓰고 싶은데 아무리 찾아봐도 쓰기 버튼이 없네요. 여기에 글 쓰려고 하면 어떻게 해야 하나요?

Taehee Lee
Taehee Lee Baker

아카이브모드를 유지하는 노드에게 인센티브(?) 주는 논의는 없었나요?. 노드 유지 비용 감안 시 모든 데이터를 저장하려는 베이커가 있을지….의문입니다 ㅎ

지누리
지누리 Delegate

/tezos!!!!
글 작성하고 싶으신 게시판을 상단에서 고르시면 검색창 옆에 글쓰기 버튼이 생깁니다. UI 개선을 하겠습니다. 감사합니다.

아카이브모드를 유지하는 노드에게 인센티브(?) 주는 논의는 없었나요?. 노드 유지 비용 감안 시 모든 데이터를 저장하려는 베이커가 있을지….의문입니다 ㅎ

1. 베이킹을 하기 위해서는 full mode가 필요합니다.
2. full mode여도 체크포인트 이전의 context(state)를 따로 저장 안하고 있는 거지(따라서 클라이언트가 바로 체크포인트 이전의 context값, 즉 balance 등을 query할 수 없음), 오퍼레이션을 통해서 재구성할 수는 있습니다.
3. 즉, full mode 만으로 체인의 모든 히스토리를 가지고 있다고 볼 수 있다.
4. 베이커가 되기 위해서는 full mode가 필요하다.
5. archive 모드는 체인 전체 히스토리의 모든 데이터를 곧바로 query하고 싶을 때 필요합니다. 블록 익스플로러가 여기에 속합니다.

tezos!!!!

/tezos!!!!
글 작성하고 싶으신 게시판을 상단에서 고르시면 검색창 옆에 글쓰기 버튼이 생깁니다. UI 개선을 하겠습니다. 감사합니다.

게시판 자체도 없고 검색창도 없어요.. 공지에 자세히 써주실 수 있나요?

답변은 로그인 후 가능합니다.