seredat / karbowanec

Karbo (Karbovanets) - Digital Exchange Medium - cryptocurrency made in Ukraine, CryptoNote protocol implementation.
https://karbo.io/
Other
104 stars 66 forks source link

Alt. Signed Proof-of-Work #150

Closed aivve closed 2 years ago

aivve commented 3 years ago

Alternative to #146.

Instead of including the miner's view secret key and public address just do a key derivation using his private keys and coinbase tx public key, sign with this derived ephemeral key and verify against coinbase tx's data. Pseudorandom output number based on Block nonce is used.

This new approach is borrowed from Wownero, they appeared to work on a similar idea of block signing. Such coincidence. :)

The idea is not novel, the similar approach was described as a "Two-Phase PoW" and was discussed on the Bitcointalk. Also was described by @Volbil at https://github.com/volbil/spow/

aivve commented 3 years ago

Consider forcing only one output in coinbase transactions to make sure a 100% that miner can not mine some coins for wallet other than signing one. This, however, brings the disadvantage that miners will be able to spend mined coins only with zero mixin. A bearable trade I think.

aivve commented 2 years ago

Just leave the thought here. Probably we should add blockchain access with iterations before the signature as well or even move it there.