drand / drand

🎲 A Distributed Randomness Beacon Daemon - Go implementation
https://drand.love
Other
723 stars 110 forks source link

re-add `source` flag for providing custom randomness #1365

Open CluEleSsUK opened 2 months ago

CluEleSsUK commented 2 months ago

The source flag used for adding external entropy to initial distributed key generation processes was removed in v2.

Add it back so we can bring more lava lamps into play!

AnomalRoil commented 1 month ago

Seems it was removed in v1.5 already, so the code for it is currently in v1.4.

iyanmv commented 1 month ago

Why do you think it was removed in v1.5.x? Both sourceFlag and userEntropyOnlyFlag were still present in v1.5.11. Doing a git bisect the flag was removed with this commit: de7dd724edec6d96e896e44f8f711f6eaff110de

commit de7dd724edec6d96e896e44f8f711f6eaff110de (HEAD)
Author: Yolan Romailler <AnomalRoil@users.noreply.github.com>
Date:   Tue Oct 17 13:33:26 2023 +0200

    Tear-out of client and relay code. (#1265)

    * Initial tear-out. Working daemon, failing tests
    * Removed builtin TLS
    * removed unused initial stores from daemon
    * exposing the time of round APIs
    * Improving version handling
    * migration path self-sign
    * simplify version handling in v2, we keep retro-compat with 1.5.7+ and 2.x-1.y
    * Fixing metrics
    * Leaner logs, fixing wait in test
iyanmv commented 1 month ago

Oh, I see now what you mean @AnomalRoil. You just cleaned the cli flags, but the actual code using those was removed before. I think it was removed in https://github.com/drand/drand/pull/1200

malawadd commented 1 month ago

in v1.4 source flag was under the share command, which is retired now , where would it be added now ?

AnomalRoil commented 1 month ago

I think in the drand start command. It should be possible to specify a "source of entropy" that the daemon will use for DKG. This prevents us from having to keep a state with the "currently fresh entropy" .

And then 32 bytes or more should be read from the provided source when the initial dkg executes I guess.

ErickWa commented 1 month ago

@AnomalRoil , am I correct in understanding that the source flag would only be useful when spinning up a new network? (like mainnet, quicknet, etc.)? In other words, drand doesn't have the ability to "inject fresh randomness" during key resharing ceremonies - it's only when creating the seed. Correct?

CluEleSsUK commented 1 month ago

yes precisely @ErickWa