Play a game of chess and signal every move in a bitcoin transaction. An educational experiment with key tweaking. The code is available here: github.com/supertestnet/bitco... bc1qefhunyf8rsq77f38k07hn2e5njp0acxhlheksn
Пікірлер: 6
@TheTruth25222 жыл бұрын
Amazing, thank you for the great content!
@marcelomuzilli41412 жыл бұрын
Awesome and educational .....
@benthecarman2 жыл бұрын
Super cool! For the tweaks you also add something like the hash of the opponent's key so you'd need both keys to properly observe the match. Otherwise currently it'd be possible to see someone is playing bitcoin chess by seeing if they are sending to an address of that is just the current address + one of the known tweaks
@highlevelbitcoin2 жыл бұрын
Your idea sounds a lot like diffie-helman key ratcheting, which is used by Signal. If you multiply your opponent's pubkey by your private key, and if he multiplies your pubkey by his private key, you'll both derive an identical "shared key." If you use that in your subsequent tweaks, outside observers won't be able to derive the shared key (because they need one of yall's private keys) so they won't be able to extract your chess moves either. But I kind of like the whole thing being observable. Maybe I'll make it so that "view only" mode requires three pieces of data instead of two: the pubkeys of the players and their shared key. Then you could view the game if either of them discloses the shared key to you (such as by making it public) but otherwise you could not.
@benthecarman2 жыл бұрын
@@highlevelbitcoinyou could do diffie-helman to make it private, but just doing a hash would protect against people seeing what you are doing without having both keys as well as protect against potential rogue key attacks. You could also include in the hash an unique id of the game so you could have one wallet be able to do multilple concurrent games and not screw up the protocol