PoSA Consensus
Consensus Mechanism
합의 알고리즘은 블록체인 네트워크에 합의를 달성하는 메커니즘이라 정의할 수 있습니다. 퍼블릭(탈중앙화된) 블록체인은 분산화된 시스템으로 구성되어 있으며, 중앙 권위체에 의존하지 않기에, 분산화된 노드는 트랜잭션의 유효성에 합의가 필요합니다. 이곳이 바로 합의 알고리즘이 시작되는 지점입니다. 합의 알고리즘은 프로토콜 규칙이 준수되고 있는지 확인하며, 모든 트랜잭션이 신뢰할 수 있는 방식으로 진행되는 것을 보장해, 코인이 한번만 사용(이중 지불 방지)되도록 합니다. 또한 블록체인 네트워크의 성능은 선택된 합의 메커니즘의 성능에 의존하며, 블록체인 애플리케이션의 사용성에 상당한 영향을 미칩니다.
초당 5,000 건의 트랜잭션을 처리합니다.
즉각적인 트랜잭션 완결성(Finality)를 추구합니다.
3초의 블록 생성 시간
20개 이상의 컨센서스 노드가 합의 프로세스에 참여할 수 있습니다.
PoSA(Proof of Staked Authority)
PoSA 합의 알고리즘은 PoS (Proof of Staking) 합의 메커니즘과 PoA(Proof of Authority) 합의 메커니즘이 결합된 하이브리드 메커니즘입니다.
FNCY 체인은 퍼블릭 블록체인으로 블록 생성은 사전에 허가받은 Authority Member(FAM: FNCY Authority Member)들에 의해서만 가능하며, 선출된 검증인에 의해 발생될 수 있는 이중 서명, 노드 불안정성 및 악의적인 행동에 대한 물리적인 페널티(Slashing)를 부여하기 위하여 $FNCY를 특정량 이상 Staking 하도록 강제 하였습니다.
결과 FNCY 체인의 PoSA 합의 모델은 더 짧은 블록 생성 시간과 더 낮은 비용을 지원합니다. 또한 PoSA 합의 알고리즘을 채택함으로써 탈중앙화와 커뮤니티의 참여를 제공하게 됩니다.
FNCY 코인 보유자는 코인을 검증인 또는 후보자(Candidates)에게 위임(Delegate)할 수 있습니다.
검증인 후보자들의 순위는 예치된(Bonded) FNCY의 수량에 의해 결정되며 상위 검증인 후보자들(Candidate Validator)은 활성 검증인(Active Validators)으로 선출됩니다. 단, 활성 검증인의 수는 거버넌스에 의해 결정됩니다.
위임자는(Delegators)는 위임한 검증인에게 일정 수수료를 지불한 후 블록 보상을 받게 됩니다.
검증인은 이중 서명 및 노드 불안정성과 같은 잘못된 행동에 대한 슬래싱(Slashing) 페널티를 받을 수 있습니다.
FNCY 코인을 회수(unbonding)하려면 검증인 및 위임자는 “본딩 해제 기간(unbonding period)” 동안 기다려야 합니다. 블록체인은 검증인의 잘못된 행동이 발생할 수 있는 경우를 대비하기 위해 본딩 해제 기간이 필요합니다.
Validator Selection
위에서 언급했듯이 검증인이 되기 위해서는 스테이킹을 위한 특정량 이상의 $FNCY가 필요하며, 활성 검증인(Active Validator) 선출은 아래와 같은 순서에 의해서 결정됩니다.
검증인 후보자(Candidate Validator): 검증인 후보자가 되기 위해서는 담보로써 특정량 이상의 $FNCY 코인이 예치되어야 합니다.
투표 기간(Voting Period): 활성 검증인은 신규 검증인 후보자를 커미터(Commiter)에 추가하는 제안서를 제출 합니다. 투표 기간 동안, 활성 검증인 운영자는 이 단계에서 찬성, 반대 및 기권에 대한 투표를 진행할 수 있습니다. 제안이 정족수(quorum) 또는 프로토콜에 의해 정의된 최소 임계값에 도달하면 다음 단계로 전달됩니다.
승인된 검증인(Authorized Validator): 제안서가 다수 활성 검증인(Active Validator)에 의해 수락되면, 제안된 검증인은 즉시 승인된 검증인이 됩니다.
활성 검증인(Active Validator): 다음 에포크(epoch)에 합의 엔진은 블록을 제안하고 네트워크를 보호하기 위해서 상위 승인된 검증인(Authorized Validator)를 활성 검증인으로 선택합니다.
활성 검증인만 투표, 제안 및 블록 생성에 참여할 수 있습니다. 활성 검증인 수는 거버넌스에 의해 조절될 수 있으며, 활성 검증인은 $FNCY의 스테이킹 수량에 의해서 선택됩니다.
Candidate Validator
A certain amount of native asset ($FNCY) must be deposited as collateral to become a Candidate Validator
Authorized Validator
An Authorized Validator will submit a proposal of adding a new validator into the Committer. Once the proposal is accepted by the majority Authorized Validators, the Proposed Validator immediately becomes an Authorized one as well.
Active Validator
In the next epoch, the consensus engine selects the top Authorized Validators to be Active Validators to propose blocks and secure the network.