- 블록체인에서 Finality(완결성, 불변성)는 트랜잭션이 취소나 수정이 될 수 없다는 것을 뜻한다.
- 새로운 블록이 생성되고 체인에 추가되면 이는 되돌이킬 수 없다.
🍊 다만, 느린 TPS 속도 때문에 합의 알고리즘에 따라서 확률적인 Finality가 제공된다.
🍋 예를 들어, 합의 알고리즘이 PoW인 비트코인은 6개, 이더리움은 25개의 블록이 승인된 뒤에 결제가 확정된다.
비트코인은 6개, 이더리움은 25개의 블록이 승인된 뒤에는 결제가 뒤집힐 확률이 적다.
일반적으로 확률적인 Finality는 시간이 경과함에 따라서 합의가 뒤집어질 가능성은 0에 수렴하지만, 실제로 그 확률이 0이 되지는 않는다.
🥂 이중지불은 하나의 트랜잭션이 두 번 처리되는 것을 의미한다.
🍉 다만 PoS의 경우 각각의 블록체인은 완결성에 도달하기 위해서 다른 방법들을 사용한다. (DPoS, PoA 등)
🌺 예를 들어 캐서퍼 FFG에서는, 검증자가 특정 구간마다 일정한 수의 블록을 만들어야 하고, 이 구간에서 검증자가 2/3 이상 블록의 검증을 마치면 Finality를 마친다.
한번 완결되면 특정 구간의 블록을 바꾸는 일은 불가능하다.
완결성은 거래를 결제하는 데 걸리는 속도와 관련이 있기에 암호화폐의 상용화를 위해 중요하다.
Finality는 거래는 되돌려질 수 없고, 수정될 수도 없다는 것을 의미한다.
사용자들이 거래가 완료되면, 이 거래가 임의로 변경되거나 취소되지 않는다는 확신을 줄 수 있어야 하기에 Finality는 중요하다.
만약 거래가 취소되거나 임의대로 수정되어 버린다면, 사용자들은 블록체인이 사용된 시스템을 신용할 수 없을 것이다.