parent
e665217f73
commit
cd3364e01c
1 changed files with 19 additions and 0 deletions
19
content/resources/pow.md
Normal file
19
content/resources/pow.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
## The LBRY Proof of Work (POW) Algorithm
|
||||||
|
|
||||||
|
LBRY uses [proof of work](https://en.bitcoin.it/wiki/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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
proof = sha256(sha256(data))
|
||||||
|
```
|
Loading…
Reference in a new issue