피르마체인 기술 백서
서론
이더리움의 합의 방식과 수수료 체계로는 FirmaChain 의 구조를 만들 수 없다. 계약 당사자들이 계약에 대해 서명을 하고, 그 파일 고유 식별 값을 업로드하며, 별개 저장소의 주소를 모니터링하고, 계약 자체의 상태를 관리하는 것까지 이더리움의 Smart Contract 로 설계를 진행했다. 하지만 이를 실제로 개발하고 구동하니 수수료가 터무니없이 비싼 문제가 있었다. 또한 근본적으로 우리는 계약에 대한 증명 내역과 파일 그 자체를 모든 사용자가 가지고 있을 필요가 없었고, 선출된 검증자(validator) 들만이 갖고 있어도 충분히 우리가 생각하는 구조를 만들 수 있을 것이라 생각했습니다. 따라서 이더리움 이 아닌 우리가 사용할 수 있는 다른 블록체인 네트워크에서 토큰을 발급하여 사용하는 방법, 독자적인 메인넷을 구축하는 방법 중 한 가지로 토큰을 스왑하려고 했다. 우리는 추후 추가될 수 있는 다양한 기능들을 구현하기 위해서는 메인넷을 구축하는 방법이 옳다고 판단해 Tendermint BFT 합의를 사용한 Framework인 Cosmos SDK 를 사용해 메인넷을 구축하기로 하였습니다.
합의 방식
피르마체인은 DPOS(Delegated Proof of Stake) 방식으로 이루어져 있습니다. Cosmos 블록체인 기반으로 개발 되었으며, 피르마체인에 특화된 E-Contract(전자계약) 상의 서명과 검증 하는 고유 알고리즘이 개발 되어있습니다. DPOS는 위임 지분 증명으로 피르마체인 정책에 따라 선정된 팀 또는 기업만 노드와 검증자로 참가 및 출마 할 수 있습니다. 검증자(validator)로 참가하게 되면 위임자에게 지분을 위임 받아 수익을 분배 할 수 있습니다. 또한 PBFT(Practical Byzantine Fault Tolerance) 비잔틴 장군 문제를 통해 합의 알고리즘을 사용하며 이를 통해 불성실하거나 악의적인 검증자를 걸러냅니다.