Professional Documents
Culture Documents
Simple Cryptocurrencies
Simple Cryptocurrencies
Simple Cryptocurrencies
GoofyCoin
GoofyCoin – Coin Creation
signed by pkGoofy
CreateCoin [uniqueCoinID]
GoofyCoin – Spending Coins
• Whoever owns a coin can pass it on to someone else: the
coins can be spent. For example if Goofy wants to pay Alice,
he will:
– Take a hash pointer to that coin
– Make a statement that says that he wants to pay the coin
to Alice. And he refers to Alice through her public key
– The statement is signed by Goofy
– Now Alice owns the coin and can prove it. She can present
the following data structure, which is validly signed by
Goofy and points to a coin that Goofy owned.
– Alice can go on and use the coin however she wants, for
example can make a payment to Bob using the same
datastructure, and so on.
GoofyCoin – Spending Coins
signed by pkGoofy
Pay to pkAlice : H( )
signed by pkGoofy
CreateCoin [uniqueCoinID]
GoofyCoin – Spending Coins
The recipient can pass on the coin again.
Bob owns it
signed by pkAlice
now.
Pay to pkBob : H( )
signed by pkGoofy
Pay to pkAlice : H( )
signed by pkGoofy
CreateCoin [uniqueCoinID]
GoofyCoin – Double Spending Attack
Double-spending attack
• The first key idea is that a designated entity called Scrooge publishes
an append‐only ledger containing the history of all the transactions
that have happened.
transID: 73 type:CreateCoins
coins created
Advantages?
• Prevents double spending
• Makes sure all transactions are valid, i.e., each coin is consumed only once
Problems?
• Scrooge has too much influence
• He can stop endorsing other peoples transaction and deny them service
– If he is greedy, he may also ask for a service/transaction fee for endorsing every
transaction
• Also, as Scrooge is in charge of creating new coins, he can create as many for
himself as he wants
• Last, he can get “bored” of the system and just stop updating the block chain
altogether!
ScroogeCoin
Don’t worry, I’m
honest.
Crucial question: