-
Notifications
You must be signed in to change notification settings - Fork 8
/
election.tex
29 lines (24 loc) · 1.44 KB
/
election.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
\section{Election process and staking mechanism}
In this section, rather than prescribe specific mechanisms and rules, we propose
solutions that would facilitate planning and implementation of the desired
algorithms. It is not up to this document to specify the details.
The most convenient way to organize the election process is to create a smart
contract on the hyperchain, which would manage stake and determine leaders. This
contract shall be referenced in the protocol, and its interface should be
specified there. It is advisable that the contract be adjusted by regular calls
on the fly---this could prevent some protocol-level hard forking. We highly
recommend introducing consensus changes with a decent delay to ensure that it
will not break during a true hard fork.
We propose the following features of a staking contract:
\begin{itemize}
\item Withdrawing and depositing the stake
\item Voting power calculation
\item Leader election
\item (optional) Controlled consensus changes
\end{itemize}
The system must implement some mechanisms to prevent abuse of the exposed
interface, and it must be resistant to low responsiveness of the generation
leader. Therefore, we highly recommend that some necessary calls (like election
initiation or reward claiming) be applied automatically in each key block and be
protocol-restricted in order to prevent arbitrary calls to them. The contract
may optionally provide slashing punishments for misbehaving leaders.