BAM Session3Slides
BAM Session3Slides
Session 3
Consistent
Tamper-proof
Easily verifiable
And can be
Permission-less, or permissioned
Anonymous, or named
“Intelligent”
In a blockchain
but also contains a digest of the previous block allowing us to verify that it has not changed
which is just a regular hash‐pointer that points to the most recent data block
What happens when someone wants to tamper with any intermediate block?
An adversary wants to tamper with the data contained in block k in the middle of the chain
He also does not want others to detect the tampering
Once the data in the kth block is changed, the hash in the (k + 1)th block is not going to match up
(refer to collision resistant and hiding properties)
The adversary can continue doing this by changing the next blocks as well
However, the strategy would fail when he reaches the head of the list
As long as the hash pointer at the head of the list is stored in a place where the adversary cannot
change it, no previous block can be changed without being detected
Tamper-evident log
The CA then creates a block containing a set of transactions, and appends it to the ledger
(triplet of signature, message, and Hash pointers), a block-id, and a hash pointer to the previous
block
A transaction only counts if it is in the Blockchain, the header of which is signed by the CA
Any tampering in an in-between block changes the Hash of the block which, finally, will mismatch
with the final Hash pointer that is signed by the CA
Since he cannot forge other people’s signatures, he cannot create fake transactions
However, he can definitely stop endorsing transactions of some users, denying them service
Any node in the network can propose the next Block in the chain, and all other nodes need
to reach a consensus about it
However, for that, the proposing node has to establish proof-of-work by solving a Hash puzzle
Brute force being the only way to find nonce, it is highly computation intensive
Block Reward:
The successful miner adds a transaction that creates and sends 3.125 Bitcoin (as of now) to a node of his
choice
Every block has a transaction proposed by the miner that assigns newly minted bitcoin to herself/himself
The owner of a transaction can make the total input to be slightly more than the total output
Why should the owner of a transaction pay Transaction Fee to the miner?
Difficulty level: At the end of 2014, the target space was 1/1020 of the size of the output space of the
hash function, and that was still a lot of computation
Parameterizable: Every node knows the target (i.e., the size of the target space as a fraction of the
output space) and recalculates it after every 2016 blocks in such a way that the average time
between successive blocks produced in the Bitcoin network is about 10 minutes.
Verifiability: Once the proposer publishes the nonce found, any node can calculate the H() to see that
it falls within the target
Miners use ASIC (application specific integrated circuit) hardware to hasten the computation
to find the nonce
Lengthier the chain containing your block, more is the assurance of acceptance