A computer-implemented method of making a decision on a blockchain, the method comprising: creating first shares for a first private key, and second shares for a second private key, wherein a threshold number of said first or said second shares are required to determine said first or second private key respectively; providing each of a plurality of participants with one of said first shares and one of said second shares; at a first candidate, creating a first main private key and a corresponding first main public key, and at a second candidate, creating a second main private key and a corresponding second main public key; at each participant, creating an encrypted vote by either creating a vote using its said first share and encrypting it using said first main public key, thus selecting the first candidate, or creating a vote using its said second share and encrypting it using said second main public key, thus selecting the second candidate; providing a first blockchain transaction including the encrypted votes of all the participants, that can be redeemed with a first signature using either said first private key or said second private key, and submitting it to the blockchain; at each said candidate: attempting to decrypt, using its corresponding main public key, each said encrypted vote to obtain a share, and if the threshold number of shares are obtained, determining the corresponding private key and using it to create said first signature, to redeem said first blockchain transaction. creating first shares for a first private key, and second shares for a second private key, wherein a threshold number of said first or said second shares are required to determine said first or second private key respectively; providing each of a plurality of participants with one of said first shares and one of said second shares; at a first candidate, creating a first main private key and a corresponding first main public key, and at a second candidate, creating a second main private key and a corresponding second main public key; at each participant, creating an encrypted vote by either creating a vote using its said first share and encrypting it using said first main public key, thus selecting the first candidate, or creating a vote using its said second share and encrypting it using said second main public key, thus selecting the second candidate; creating a vote using its said first share and encrypting it using said first main public key, thus selecting the first candidate, or creating a vote using its said second share and encrypting it using said second main public key, thus selecting the second candidate; providing a first blockchain transaction including the encrypted votes of all the participants, that can be redeemed with a first signature using either said first private key or said second private key, and submitting it to the blockchain; at each said candidate: attempting to decrypt, using its corresponding main public key, each said encrypted vote to obtain a share, and if the threshold number of shares are obtained, determining the corresponding private key and using it to create said first signature, to redeem said first blockchain transaction. attempting to decrypt, using its corresponding main public key, each said encrypted vote to obtain a share, and if the threshold number of shares are obtained, determining the corresponding private key and using it to create said first signature, to redeem said first blockchain transaction. <EOS>