Open pfletcherhill opened 6 years ago
Point 3 could probably also take the N Ethereum addresses, so for point 4, users of the kimono client can just watch for events which have their own addresses
Another point is that we should have some form of buffer (ie +/- 5 blocks) for the block to reveal
kimono-js
specconst kimono = new Kimono(<web3 provider>);
const receipt = await kimono.createMessage({
secretKey: <signed message>,
revealAtBlock: <block number to be revealed>,
reward: <reward in native token (in "wei")>,
minFragments: <Shamir's k>,
totalFragments: <Shamir's n>
});
kimono-cli
spec> PRIVATE_KEY=0x000... kimono reveal
> PRIVATE_KEY=0x000... kimono combine
Or:
export PRIVATE_KEY=0xblah...
kimono reveal
kimono combine
kimono reveal:test -N 10
kimono-cli
spec will probably have a kimono signup
or something like that to set the initial parameters of the user.
Maybe we can have a --malicious
option for demo purposes
Best-case behavior:
S
ERASE tokens.Notes:
reward / (N + 1)
, whereN
is the number of secret fragments (i.e. the reward the revealer would get if every revealer reveals their fragments and they are not the reconstructor).