description.md - brcon2023-hackathons - Bitreichcon 2023 Hackathon Repository HTML git clone git://bitreich.org/brcon2023-hackathons git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/brcon2023-hackathons DIR Log DIR Files DIR Refs DIR Tags --- description.md (1403B) --- 1 # Random Source Generator 2 3 ## Goal 4 5 Write a simple frontend for gopher for this randomness source. This can 6 then be reused everwhere over gopher. 7 8 ## Principle 9 10 On Bitreich there will be a stream of random bits provided by a geiger 11 counter and other random sources from 20h's home server. This should be 12 shown to gopher in a standard way, as defined here: 13 14 * https://nvlpubs.nist.gov/nistpubs/ir/2019/NIST.IR.8213-draft.pdf 15 * https://beacon.nist.gov/ns/beacon/pulse/2.0/beacon-2.0.xsd 16 * https://beacon.nist.gov/beacon/2.0/pulse/last 17 * https://qrng.anu.edu.au/ as source 18 * https://drand.love/developer/http-api/#public-endpoints 19 20 We can monkey-patch 21 22 * https://github.com/nhorman/rng-tools/rngd_nistbeacon.c 23 24 to using gophers://. 25 26 ## Hierarchy Prototype 27 28 gophers://bitreich.org/1/tyche/beacon 29 gophers://bitreich.org/1/fortuna/beacon 30 31 ## Source 32 33 On bitreich.org there is: 34 35 /br/random/source/$source/pulse.$index 36 37 This should be read out to generate the above structure. 38 39 You can generate it on your own: 40 41 dd if=/dev/random of=pulse.$index bs=64 count=1 42 43 ## Applications 44 45 This could be used for 46 47 * https://codeberg.org/rendezvous/reunion/ 48 * https://near.org/blog/randomness-threshold-signatures/ 49 * https://apps.dtic.mil/sti/pdfs/ADA222698.pdf 50 * https://github.com/GoodiesHQ/noknow-c 51 * https://github.com/gtanzer/zk 52 53 ## Testing Randomness 54 55 * https://github.com/dyne/libdisorder 56 57 Have fun! 58