9 Questions about bitcoin
-
how send money to B from A online ?
A digist signature with A’s private/secrect key(SK).
B can valide the sign with A’s Public key (PK)
- compute hash of received content as H1
- decode signature/fingeprint with A’s PK as H2
- H1 == H2 ? true : false;
-
how to proof that A no sign this coin/money at history (double spending) without trusted third-party ?
all pay history is public to everyone(A , B , no trusted third-party).
check every pay/tx history
A spend coin/utxo as txi in history tx ? return A(utxo)=>B valid false : compare next his tx.
after check all his,no return,then return A(utxo)=>B valid true;
-
how to order his tx ?
- split txs, package tx set to block
-
how to order tx in a block?
- order by timestamp
-
how to check tx is no modified in a block
- merkel tree
- link block with pre block like a chain
-
how to select out pre block?
- consensus 1,the longest/highest chain’s last block as pre block of will add block
-
who add block is valid?
- consensus 2,who first find the answer of a question.
-
what is the question ?
- hash all tx that will be packaged ,out merkel root.
- find a nonce that combine merkel root and pre block hash(from consensus 1) and other argument , hash then , out H
- H < curent diffcult nonce?nonce is answer:continue.
-
who has more opportunity to add valid block?
- compute hash faster / more cpu power
- lucky