Skip to content

Commit

Permalink
Added lexicographic tiebreaking
Browse files Browse the repository at this point in the history
  • Loading branch information
vbuterin authored Mar 7, 2019
1 parent 2f6e560 commit 663bc48
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion specs/core/0_beacon-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -2060,7 +2060,9 @@ def get_winning_root_and_participants(state: BeaconState, shard: Shard) -> Tuple
def get_attestations_for(root) -> List[PendingAttestation]:
return [a for a in valid_attestations if a.data.crosslink_data_root == root]

winning_root = max(all_roots, key=lambda r: get_attesting_balance(state, get_attestations_for(r)))
# Winning crosslink root is the root with the most votes for it, ties broken in favor of
# lexicographically higher hash
winning_root = max(all_roots, key=lambda r: (get_attesting_balance(state, get_attestations_for(r)), r))

return winning_root, get_attesting_indices(state, get_attestations_for(winning_root))
```
Expand Down

0 comments on commit 663bc48

Please sign in to comment.