Unit2 BCT
Unit2 BCT
Unit2 BCT
Introduction
Cryptographic Hash Functions
Hash Pointers and Data Structures
Digital Signatures
Public Keys as Identifies
A simple Cryptocurrency
If we pick random inputs and compute the hash values, we’ll find a
collision with high probability long before examining.
In fact, if we randomly choose just inputs, it turns out there’s a 99.8
percent chance that at least two of them are going to collide.
The fact that we can find a collision by only examining roughly the
square root of the number of possible outputs results from a
phenomenon in probability known as the birthday paradox
Puzzle friendliness
A hash function H is said to be puzzle-friendly if for every possible n-bit
output value y, if k is chosen from a distribution with high min-entropy,
then it is infeasible to find x such that H(k x) = y in time significantly
less than 2 n.
Meaning
If someone wants to target the hash function to come out to some
particular output value y, that if there’s part of the input that is chosen in
a suitably randomized way, it’s very difficult to find another value that hits
exactly that target.
The input to the hash function, which can be of any size, is divided
into blocks of length m-n.
The construction works as follows: pass each block together with the
output of the previous block into the compression function.
Notice that input length will then be (m-n) + n = m, which is the
input length to the compression function. For the first block, to
which there is no previous block output, we instead use an
Initialization Vector (IV).
This number is reused for every call to the hash function, and in
practice you can just look it up in a standards document. The last
block’s output is the result that you return.
A binary tree with hash pointers is known as a Merkle tree, after its
inventor Ralph Merkle.
We have a number of blocks containing data.
We group these data blocks into pairs of two, and then for each pair,
we build a data structure that has two hash pointers, one to each of
these blocks.
In turn group these into groups of two, and for each pair, create a
new data structure that contains the hash of each.
Continue doing this until we reach a single block, the root of the tree.
ScroogeCoin:
To solve the double-spending problem
Anyone can verify the validity of a coin by following the chain of hash
pointers back to its creation by Goofy, verifying all of the signatures
along the way. valid coin.
Dr.Ramya R S Block Chain Technologies 28 / 31
Scrooge Coin