10000 Tags · keep-network/sortition-pools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: keep-network/sortition-pools

Tags

v1.1.2

Toggle v1.1.2's commit message
v1.1.2

The new release contain one bugfix and one development setup
improvement:
- Use WEIGHT_WIDTH to index full weight range in RNG #94
- Babe the Blue Ox: Add rudimentary buidler setup #93

v1.1.1

Toggle v1.1.1's commit message
v1.1.1

This version does not contain any functionality changes but it
re-organizes the code based on Linter and Slither suggestions:

- Update linting configuration #87
- Small loop refactor to make Slither happier #90
- Renamed input parameters to Leaf.make function to avoid shadowing #91

v1.1.0

Toggle v1.1.0's commit message
v1.1.0

This version introduces changes to how minimum unbonded value
is handled.

There are two separate values now: one defining the minimum
unbonded value the operator needs to have so that it can join and
stay in the pool, and another defining the required bond value for
the current selection. If the given operator has enough unbonded
value to stay in the pool but it does not have enough unbonded value
for the current group selection, it is skipped. If the given operator
does not have enough unbonded value to stay in the pool, it is deleted
from there.

A reasonable minimum unbonded value should be set on BondedSortitionPool
creation and updated later by the pool owner (application) as needed.

v1.0.0

Toggle v1.0.0's commit message
v1.0.0

v1.0.0 release of sortition pools.

v0.3.0-rc

Toggle v0.3.0-rc's commit message
v0.3.0

- Minimum stake schedule support (#74, #78)
- Bump Solidity to 0.5.17 and freeze version (#76)
- Dependency security fix update (#77)

v0.2.0

Toggle v0.2.0's commit message
v0.2.0

- Improve the distinction between leaf positions and leaf values #64
- Function to check if initialization period passed #66
- Reduce the cost of initialization queries during group selection #67
- Fully backed pool #69
- Drop solidity bytes utils dependency #70
- Factory for FullyBackedSortitionPool #71

v0.1.1

Toggle v0.1.1's commit message
v0.1.1

Sortition pool is a logarithmic data structure used to store the pool of eligible
operators weighted by their stakes. In the Keep network the stake consists of
staked KEEP tokens. It allows to select a group of operators based on the provided
pseudo-random seed and optional bonding requirements.

Each privileged application has its own sortition pool and eligibility is checked
when an operator is selected, rejecting and removing ineligible operators from the
pool.

A sortition pool provides instant selection results and is less affected by censorship
that the ticket selection, although malicious miners can still censor protocol result
submissions. Additionally, miners and other actors that can predict the selection
seed (due to frontrunning the beacon or a public cached seed being used) may be
able to manipulate selection outcomes to some degree by selectively updating the
pool. To mitigate this, operators who have joined the pool too recently are ineligible
for selection, and the pool and its RNG have been designed to reduce the degrees
of freedom available to such an adversary. The fewer outdated operators there are
in the pool, the less attack surface the pool presents, so proactive maintenance is
also helpful.

In this version, we ship two versions of sortition pool: bonded sortition pool allowing
to select group of unique operators based on the provided bonding requirements
and standard sortition pool allowing to select operators group with possible duplicates.
0