dedis / cothority

Scalable collective authority
Other
425 stars 106 forks source link

evoting issues #1193

Closed ineiti closed 5 years ago

ineiti commented 6 years ago

A list of things that we should change:

omidraha commented 5 years ago

Hi,

There is a pin value in this command line on this README file:

$ ./evoting-admin -admins 0,1,2,3 -pin bf6d681a9e84e0046414b67d1bb3e6e4 -roster ../../conode/public.toml

How to get a valid pin?

I got this error for default pin: Got an error while executing evoting/Link: link error: invalid pin

My commands:

Setup:

$ docker run -it --rm -p 6879-6880:6879-6880 --name conode -v ~/conode_data:/conode_data dedis/conode:evoting ./conode setup

Data directory:

$ ls  ~/conode_data/

68ceaa774a4331b90944000bc0b87ba8f3fef24bc34ff0370a3f8d118672d7da.db  
private.toml  
public.toml

Run:

$ docker run --rm -p 6879-6880:6879-6880 --name conode -v ~/conode_data:/conode_data dedis/conode:evoting

Traceback error:

~/go/bin/evoting-admin -admins 0,1,2,3 -pin bf6d681a9e84e0046414b67d1bb3e6e4 -roster ~/conode_data/public.toml 
I : (                               main.main:  83) - Auth-server private key: 45e642573572e84ef9c0b52d51bc04ea5c1abcfb57c0130d37377610781e900a
F : (                               main.main: 111) - link request:  websocket: close 4000: link error: invalid pin
jeffallen commented 5 years ago

The PIN is output at this line: https://github.com/dedis/cothority/blob/88752e4cba757219c981f11461479fccdffbe2d1/evoting/service/service.go#L814

The point is that in order to do administrative tasks on the server remotely, you should be able to prove that you can login to the server and read the Pin from the log file.

jeffallen commented 5 years ago

Closing because future work on evoting will use a ByzCoin ledger and its authentication.

omidraha commented 5 years ago

Do you plan to use ByzCoin public ledger or a private blockchain based on ByzCoin protocol?

jeffallen commented 5 years ago

ByzCoin is a permissioned blockchain, which means that the roster of conodes which collectively witness the election will be set by the election administrator before the election starts. In analogy to real world voting: the law gives parties certain rights to send witnesses to polling stations during the vote, and certain rights to witness the counting after the polls are closed. The set of people and organizations that can witness an election is public info, but it not 100% of the voting public. In our system, the counting can be audited by anyone with network access to any one conode. The conode operators could, in theory, be compelled to limit that access to only authorized auditors.