Committee selection
To resist the Sybil attack against the permissionless system, Thinkium used a proof-of-stake based election algorithm. The network topology is robust and node information is exchanged securely using encryption. By the time the next epoch begins, the new committee should have generated the keys for threshold signature (the public key should have been written to a block); have synchronized and updated the current state of the chain; and have established connections in the new consensus network.

Consensus in committees
At THINKIUM we assume a synchronous communication model within the committee, for which there exist efficient Byzantine-fault-tolerant algorithms. Here we present a variant of PBFT tailored for this setting.
The execution of a node can be divided into rounds. Each round consists of three stages:
a) Proposal stage: The leader of the committee broadcasts the proposed block to other members.
b) Preparation stage: Upon receiving the proposed block, each committee member broadcasts a message containing it signature of the block. If a timeout is triggered before the proposed blocked is received, the committee member signs and broadcasts a special message (which indicates the leader is faulty) to other committee members.
c) Confirmation stage: At the end of the preparation stage, each committee member sign and broadcasts package of the signatures received in the preparation stage. Signature aggregation can be used to significantly reduce the size of messages in this stage.
The state transitions are event-driven. In order to preserve system liveness in the presence of network failures or malicious attacks, a timeout may be triggered by the local clock.
Based on the massage received in the confirmation stage, each committee member can decide whether agreement on the block has been reached and broadcasts the agreed block or an empty block together with a proof of its discussion.
Malicious nodes punishment. In the case when an explicit misbehaving node is detected (e.g., a node that sends different massages to different nodes at the same stage), the round will be abort by an empty block. However, the misbehaving node will be economically punished by a large amount, making such attacks unsustainable.
Optimization. Is the case when the number of signatures received at the preparation stage implies that most honest committee members have received the same proposed block, a committee member may reach an ‘’early consensus’’: the member can output the block before the confirmation stage with the signatures being the proof of agreement (of a different form compared to a regular agreement). Note that the node still needs to participate in the confirmation stage.

Comunity and media:
Discord: https://discord.gg/BKZ5tSDP



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store