Skip to content

Instantly share code, notes, and snippets.

@RobinLinus
Last active February 15, 2022 06:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RobinLinus/1e297d6cba77f3faf615f7abfd4bcfad to your computer and use it in GitHub Desktop.
Save RobinLinus/1e297d6cba77f3faf615f7abfd4bcfad to your computer and use it in GitHub Desktop.

Weighted Threshold Points

For a threshold point over n points we can assign "weights" or "number of votes per key":

(T₁,w₁), (T₂,w₂), ...,(Tₙ,wₙ).

Instead of using each Tᵢ only once, we also use the keys Tᵢ+H(Tᵢ|1)G, Tᵢ+H(Tᵢ|2)G, ..., Tᵢ+H(Tᵢ|wᵢ)G during the creation of the threshold point. So, if Alice learns Tᵢ she learns the key for all of its votes.

Let's define the total number of votes as N = sum{wᵢ}. Now, we can choose any threshold t < N by enumerating all sums of subsets of size t. We can apply the OR operator to these sums to condense the threshold condition into a single point.

This defines a t-of-N weighted threshold point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment