Lecture 3
More rules at:
https://en.bitcoin.it/wiki/Protocol_rules
1. https://anders.com/blockchain/public-private-keys/keys.html
2. https://anders.com/blockchain/hash.html
Some examples of non-node clients that may use a node as a server:
1. New TX is broadcasted
2. Each node collects TXs into a block
3. In each "round" a random node is selected to decide what is
"truth"
4. Other nodes accept/reject the block based on predefined criteria
5. Block acceptance is expressed by including its hash into the next block they build upon
Proof of Stake
Delegated Proof of Stake
Proof of Authority
Proof of Importance
Proof of Burn
Proof of Activity
Proof of Elapsed Time
Federated Consensus
Practical Byzantine Fault Tolerance
and many more
from the Commnad Line
gettransaction 0408953d670d0f268b70f449772bd3d1c1b80c690be6f3017e3f9bdaa01c0b6c {
"amount" : -0.01080000,
"fee" : 0.01080000,
"confirmations" : 0,
"txid" : "0408953d670d0f268b70f449772bd3d1c1b80c690be6f3017e3f9bdaa01c0b6c", "walletconflicts" : [
],
"time" : 1399871859,
"timereceived" : 1399871859,
"details" : [
{
"account" : "",
"address" : "1Dima5vfScYn342c7SfcX2pFYSu3rqhtKz",
"category" : "send",
"amount" : -0.00500000,
"fee" : 0.01080000
},
{
"account" : "",
"address" : "18Z6bDrD4Fce8hRW5DkQ68f23xBCFodyxv",
"category" : "send",
"amount" : -0.01080000,
"fee" : 0.01080000
},
{
"account" : "Dima",
"address" : "1Dima5vfScYn342c7SfcX2pFYSu3rqhtKz",
"category" : "receive",
"amount" : 0.00500000
}],......
}
getrawtransaction
0408953d670d0f268b70f449772bd3d1c1b80c690be6f3017e3f9bdaa01c0b6c
01000000029181c1d7b6b4fc7e2f1f1ee43dfeb778468292a7b49a3e26c9c70b2
68fbc9ade000000006c493046022100cc2a0d920c154014d4e7f93878307b1b5a
eab8bba25288e1f00573fe05cf8aac022100b8269506e5c431d55bbe4c6850e98
3db8b9d9016cdece8dd7555a4ebf22816ba012102c8515f4e0512378032d44d5e
d3888bcd50be103ee26e0279f52a1fb935bb8f71ffffffff0e4d456390086dd62
2ce8be50672de7943d2a1d0ee78593a6b4e5c7a9cb6c9c3000000008a47304402
200f9e6e9bacd1f0d44525265455e92014faba5931a0ee8517664777d38c090d9
5022000905089d5bfcf8509589984f9b79182ea1bcbf6e6ae16f765efd8390f3c
8352014104681901c41fe94cabc8e809ca1f830fd6bc953d88254337db8ab1db9
448ecd8bb2fec05f74f38abb05f4fd5d7040f9c011365967c24672514c2a40f20
dde07094ffffffff0220a10700000000001976a9148b87c4f4c177a46de7d50b7
dd9840c16caa4728088acc07a1000000000001976a91452dadb8a8948da050406
72a11eacaecd916aa39288ac00000000
gettransaction
0408953d670d0f268b70f449772bd3d1c1b80c690be6f3017e3f9bdaa01c0b6c
{
"amount" : -0.01080000,
"fee" : 0.01080000,
"confirmations" : 2,
"blockhash" : "00000000000000002320499cc4e60f5a515a03b088925f78b728bdf79ed5ac86", "blockindex" : 189,
"blocktime" : 1399872120,
"txid" : "0408953d670d0f268b70f449772bd3d1c1b80c690be6f3017e3f9bdaa01c0b6c", "walletconflicts" : [
],
"time" : 1399871859,
"timereceived" : 1399871859,
"details" : [
{
...
The buyer commits a payment to escrow.
The seller receives a transaction with the money in escrow, but he can’t spend it until the buyer unlocks it.
The buyer can release the payment at any time after that, which could be never.
This does not allow the buyer to take the money back, but it does give him the option to burn the money by never releasing it.
The seller has the option to release the money back to the buyer.
While this system does not guarantee the parties against loss, it takes the profit out of cheating. If the seller doesn’t send the goods, he doesn’t get paid.
The buyer would still be out the money, but at least the seller has no monetary motivation to cheat.
The buyer can’t benefit by failing to pay. He can’t get the escrow money back. He can’t fail to pay due to lack of funds.
The seller can see that the funds are committed to his key and can’t be sent to anyone else.”