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