lbry.tech/documents/resources/pow.md
2018-08-23 17:33:59 -05:00

859 B

The LBRY Proof of Work (POW) Algorithm

LBRY uses proof of work the same way that Bitcoin does. The only difference is the hash function. LBRY uses a slightly different algorithm that achieves the same ends but slightly delayed the development of a GPU miner and gave early adopters a chance to mine without specialized hardware.

LBRY's algorithm is

intermediate = sha512(sha256(sha256(data)))  # compute the sha512() of the double-sha256() of the data
left = ripemd(intermediate[:len(intermediate)/2])  # separately ripemd160 the left half
right = ripemd(intermediate[len(intermediate)/2:]) # and the right half
proof = sha256(sha256(left + right))  # concatenate the two halves, and double-sha256() it again

For comparison, Bitcoin's algorithm is...

proof = sha256(sha256(data))