...by Daniel Szego
quote
"Simplicity is the ultimate sophistication."
Leonardo da Vinci

Tuesday, July 31, 2018

The difference role of digital signature in UTXO and account based systems


Although the role of cryptogaphy and digital signature is similar in all blockchain systems they behave a little bit differently depending on if we speak about an UTXO or account based system. In an UTXO based system keys represent practically the unspent outputs that can be associated to a public key and can be spent by signing with the private key. Similarly in an account based system each account has an address which is practically a public key. Private key in this scenario simply means that someone has  the access of doing something with the account. like sending money from it, or initiating another transaction like calling a function of a smart contract from that account. Certainly, account based systems are much more vulnerable for reply attacks, meaning that someone copies a correctly signed transaction on the net and tries to broadcast it again into the network. For this reason, account based systems are usually extended by an incremental nonce for the transaction number. 

Account based systems might provide the possibility as well to extend the existing cryptographic scheme with other roles. Let we imagine that the we use multi signature addresses or an account is associated with several different public keys and signing with a certain private key might mean semantically something different than signing with another key. Like one private key is needed to spend money from the account, but another one to initiate a non-money sending transaction.