COMPUTER IMPLEMENTED VOTING PROCESS AND SYSTEM
A computer implemented voting process ( 2 ) for executing a blockchain transaction, such as a transaction on the Bitcoin blockchain, is disclosed. The process comprises distributing shares ( 6 ) of a first common secret among a plurality of participants ( 4 ), wherein the first common secret implements an automated voting process ( 14 ) by the participants and is accessible to a first threshold number of shares and is inaccessible to less than the first threshold number of shares. The process further comprises determining ( 10, 12 ), based on different numbers of said shares of the first common secret held by a plurality of the participants, at least one combination of shares held by a plurality of the participants, to provide the first threshold number of shares.
1 . A computer-implemented voting process comprising:
distributing a plurality of shares of a first common secret among a plurality of participants, wherein said first common secret implements an automated voting process by the participants and is accessible to a first threshold number of said shares and is inaccessible to less than said first threshold number of shares; and
determining, based on different numbers of said shares of said first common secret held by a plurality of said participants, at least one combination of said shares held by a plurality of said participants, to provide said first threshold number of shares.
2 . The computer-implemented voting process according to claim 1 , wherein the step of determining at least one said combination comprises applying a knapsack algorithm to data including information representing respective numbers of shares held by a plurality of said participants.
3 . The computer-implemented voting process according to claim 2 , where the data further includes information representing estimated voting behaviour of a plurality of said participants.
4 . The computer-implemented voting process according to claim 3 , wherein the information representing estimated voting behaviour includes a coefficient by which the information representing respective numbers of shares held by a plurality of said participants is multiplied.
5 . The computer-implemented voting process according to claim 2 , wherein the knapsack algorithm determines at least one first said combination for shares held by a first plurality of said participants on the basis of at least one second said combination for shares held by a second plurality of said participants, wherein said second plurality is different from said first plurality.
6 . The computer-implemented voting process according to claim 2 , wherein numbers of shares held by the plurality of participants are estimated by comparing said data to a plurality of predetermined values.
7 . The computer-implemented voting process according to claim 6 , wherein the predetermined values are based on at least one Stern series.
8 . The computer-implemented voting process according to claim 6 , wherein a plurality of said predetermined values are determined on the basis of other said predetermined values.
9 . The computer-implemented voting process according to claim 1 , wherein the first common secret is a digital signature.
10 . A process according to claim 9 , wherein each said share is a partial signature, signed by a respective share of a private key and a respective share of an ephemeral key, and the computer-implemented voting process further comprises distributing a plurality of shares of said private key among said plurality of participants, wherein said first private key is accessible to a second threshold number of shares and is inaccessible to less than said second threshold number of shares, and distributing a plurality of shares of said ephemeral key among said plurality of participants, wherein said ephemeral key is accessible to a third threshold number of shares and is inaccessible to less than said third threshold number of shares.
11 . The computer-implemented voting process according to claim 9 , wherein the digital signature is applied to a blockchain transaction.
12 . A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform any embodiment of the computer-implemented voting process as defined in claim 1 .
13 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform an embodiment of the computer-implemented process as defined in claim 1 .
14 . A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform any embodiment of the computer-implemented process as defined in claim 2 .
15 . A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform any embodiment of the computer-implemented process as defined in claim 3 .
16 . A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform any embodiment of the computer-implemented process as defined in claim 5 .
17 . A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform any embodiment of the computer-implemented process as defined in claim 6 .
18 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform an embodiment of the computer-implemented process as defined in any one of claim 2 .
19 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform an embodiment of the computer-implemented process as defined in any one of claim 3 .
20 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform an embodiment of the computer-implemented process as defined in any one of claim 6 .