Vechain VIP-220

Younghwan Cha·2022년 11월 7일
0

coin

목록 보기
2/5

블록 높이 13,815,000 를 기점으로 Vechain mainnet 에서 FINALITY 하드 포크가 발생할 예정이다.
이와 관련해서 관련 내용들을 알아보자.
먼저, 하드 포크의 이름인 finality 로 글을 시작해보면 좋을 것 같다.
합의 알고리즘에서 고려해야 할 사안이 다음 3가지가 있다

  1. Finality Problem( 완결성 문제 )
  2. 51% Attack / BTF( 51% 공격과 비잔틴 결함 )
  3. Transaction Cost( 트랜잭션 수수료 )

이중 오늘의 주인공인 Finality 에 대해서 알아보자.

Finality

Fianlity 의 사전적 의미는

the fact or impression of being an irreversible ending

한국어로 완결성, 불변성 정도로 해석 될 수 있겠다.
블록체인에서 finality 란, 블록이 한 번 블록체인에 포함되고 나면 그 거래는 절대 되돌려질 수도, 수정될 수도 없다는 것 이다.
이 finality 를 보장하는 방법은 위에서 언급된 것 처럼 합의 알고리즘에서 중요한 문제로 다루어진다.

fianlity 에 대한 자세한 설명은 아래 글을 참고하자.
https://velog.io/@younghwan/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-Finality

그래서, Vechain 팀에서는 어떤 방법을 사용하고 있었고, 이번 VIP-220 을 통해서 이 Finality 에 어떠한 유의미한 변화를 추구하려는 것일까?
결론부터 말하자면 말하자면, Vechain 에서는 Proof-of-Authority(PoA) 합의를 새로운 합의 알고리즘으로 대체하는 대신
Fianlity with One Bit(FOB) 라는 finality 가젯( gadget )을 사용해
나카모토 합의와 BFT 합의, 두 가지 합의 알고리즘을 동시에 사용하려 한다.

VIP-220 의 이점

VIP-220 ( https://github.com/vechain/VIPs/blob/master/vips/VIP-220.md ) 에서 소개된 합의 알고리즘에서는 다음과 같은 이점들을 제공한다.

  • Achieving block finality
  • Maintaining the usability and robustness of our system by decoupling finality from the PoA process which allows the blockchain to grow in adverse environments
  • Introducing minimal complexity to the current PoA-based system, minimizing the potential risks caused by unknown design deficiency and implementation bug
  • Adding minimal extra information (one bit per block) for network communication so that we do not need to sacrifice system performance for achieving block finality

등장 배경

그렇다면 VIP-220 이 등장하게 된 배경은 무엇일까? PoA 2.0 에서, VeChain 에서는 아래 두 가지 VIP ( VeChain Improvement Proposals ) 를 통해서 블록 finality 에 대한 두가지 해결책을 제시했다.

VIP-193 에서, VRF-based random beacon generator schema 와 committee-based Hotstuff-like BFT 알고리즘, 이 두가지 요소를 구현했다. 하지만, BFT 알고리즘으로 인한 복잡성과 중복성으로 인해 이를 시스템에 머지 시키기에는 무리가 있었다.

이 복잡성과 중복성을 줄이기 위해서, VeChain Grant Program ( https://github.com/vechain/grant-program )을 통한 view-less BFT 을 지원해 함께 연구에 돌입했다. 이에 대한 성과가 바로 Fianlity with One Bit 인 것이다. 이를 통해서 PoA2.0 을 VRF-based random beacon generator schema 와 FOB 의 조합이라고 말할 수 있게 되었다.

Finality Gadget

나카모토 합의에서는 double spending 에 의해서 아주 작은 숫자일지라도 transaction 이 되돌려 질 수 있는 가능성이 항상 존재한다.
이러한 문제는 일반 유저에게는 별 문제 없지만 보안에 민감한 몇몇의 경우에는 문제가 될 수 있다.
하지만 VeChain 에서는 이 합의 알고리즘을 완전히 대체하는 대신, "finality gadget" 을 통해 문제의 해결점을 제시했다.
이는 나카모토 합의와 함께 동작하며 블록이 fianlity 상태로 갈 수 있도록 도와주는 역할을 수행한다.
transaction 은 처음에는 나카모토 합의를 통해서 승인되게 되고, 이후 gadget 에 의해서 "fianlized" 상태가 된다.
한번 "fianlized" 되게 되면, finality security assumption 이 변하지 않는한 transaction 이 되돌려 질 수 있는 가능성은
없게 된다.
Finality gadget 과 기존에 존재하는 BFT mechanism 에는 공통점이 존재한다.
하지만 둘의 차이점은 finality gadget 의 경우 나카모토 합의 위에서 돌아가기 때문에 기존의 합의 알고리즘(나카모토 합의) 를 대체하지 않고 사용할 수 있다는 것이다. 정의에 의해서, finality gadget 은 다음 두가지 조건을 만족해야 한다.

finalized block needs to be

  • a block on the original Nakamoto chain – Condition A
  • a confirmed block on the original Nakamoto chain – Condition B.

[ref]
https://www.vechain.org/poa-2-0-finality-with-one-bit/

profile
개발 기록

0개의 댓글