Bitcoin Forum
May 05, 2024, 03:11:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: THIS IS A BLOCKCHAIN --- all posts must be linked by proof-of-work  (Read 385 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
tromp (OP)
Legendary
*
Online Online

Activity: 978
Merit: 1087


View Profile
April 12, 2014, 05:56:47 AM
Last edit: April 12, 2014, 05:56:37 PM by tromp
 #1

Please have a look!

I'd like to start a little experiment with a blockchain of posts, embedded right into this forum.

Each successive post must start by quoting the last line of the previous post, and end with a proof of work based off that post.
Specifically, it must be a cuckoo32 proof for a header consisting of the quote tag followed by the author name, followed by any nonce.
To generate the last line of this post, I ran

Code:
> git clone git://github.com/tromp/cuckoo.git
> make cuckoo32
> HEADER="[quote author=tromp link=topic=405483.msg4392708#msg4392708 date=1389205766]"
> for i in {0..99}; do ./cuckoo32 -t 4 -h "$HEADER tromp $i"; done

and waited for a 42-cycle to be found. Since the probability of a 42-cycle is about 2.2%, it should take on average 45 runs to find one.

Curiously, I found one after *exactly* 45 tries, as you can see in the transcript at the bottom, which ends this post with the required proof.
As there was no previous post in this thread, I instead quoted my original announcement of Cuckoo Cycle from Jan 8.

cuckoo32 requires 768MB of memory. You can reduce this to 512MB by running cuckoo32.1 which will take about 50% longer,
or to 384MB by running cuckoo32.2, which is much slower still. The load shows how densely loaded the hash table datastructure
will be that's used in the final phase to actually find the cycles.
This has to drop below 100% for the hash table to work (it actually requires load <90%).

The proof can be verified with
Code:
> make verify32
> ./verify32 -h "[quote author=tromp link=topic=405483.msg4392708#msg4392708 date=1389205766] tromp 45"

and feeding the solution line on standard input. This should output:

Code:
Verifying size 42 proof for cuckoo32("[quote author=tromp link=topic=405483.msg4392708#msg4392708 date=1389205766] tromp 45") with 50% edges
Solution 91353d 7044ed7 eab3c18 11cc7bd5 11dbab29 155aeb72 171fafe9 18423605 1d18e11b 1f498480 209c0518 242e865a 2dda66a3 312e6228 31dbee8c 3585254e 35dc6d39 3f2eaa8b 40a25d6c 43d2b2ab 464b2c17 48ea7ef3 4bce1ea9 4dc4d7e6 546b3e05 55f4daa3 5937c994 66961386 675c49a8 67933a95 6b4fd632 72da1d3b 74b57814 76032cbd 774cacdd 79eb4cf1 7b20cfa7 7b8f8a15 7de1f1f1 7f6b78ef 7f7cc3ef 7fbd9ecb
Verified with cyclehash 13d4d71265d1bd8f6a75c90e5ae3759086ee3d742dd9405aac9b4519fee56db1


This post will serve as the genesis "block". Non-conforming posts risk being deleted.

Happy mining!

(I'm afraid there's no reward for "mining" new posts, just bragging right for being in a post blockchain)





...
Looking for 42-cycle on cuckoo32("[ quote author=tromp link=topic=405483.msg4392708#msg4392708 date=1389205766] tromp 45") with 50% edges, 8 trims, 3 threads
Using 256MB edge and 512MB node memory.
initial load 3200%
1 trims: load 947%
2 trims: load 373%
3 trims: load 201%
4 trims: load 126%
5 trims: load 87%
6 trims: load 63%
7 trims: load 48%
8 trims: load 38%
  16-cycle found at 2:99%
 218-cycle found at 0:99%
 452-cycle found at 1:99%
  42-cycle found at 0:99%
  80-cycle found at 1:99%
 3094-cycle found at 0:99%
Solution 91353d 7044ed7 eab3c18 11cc7bd5 11dbab29 155aeb72 171fafe9 18423605 1d18e11b 1f498480 209c0518 242e865a 2dda66a3 312e6228 31dbee8c 3585254e 35dc6d39 3f2eaa8b 40a25d6c 43d2b2ab 464b2c17 48ea7ef3 4bce1ea9 4dc4d7e6 546b3e05 55f4daa3 5937c994 66961386 675c49a8 67933a95 6b4fd632 72da1d3b 74b57814 76032cbd 774cacdd 79eb4cf1 7b20cfa7 7b8f8a15 7de1f1f1 7f6b78ef 7f7cc3ef 7fbd9ecb
Transactions must be included in a block to be properly completed. When you send a transaction, it is broadcast to miners. Miners can then optionally include it in their next blocks. Miners will be more inclined to include your transaction if it has a higher transaction fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714921884
Hero Member
*
Offline Offline

Posts: 1714921884

View Profile Personal Message (Offline)

Ignore
1714921884
Reply with quote  #2

1714921884
Report to moderator
tromp (OP)
Legendary
*
Online Online

Activity: 978
Merit: 1087


View Profile
April 12, 2014, 03:30:20 PM
Last edit: April 12, 2014, 05:54:47 PM by tromp
 #2

Solution 91353d 7044ed7 eab3c18 11cc7bd5 11dbab29 155aeb72 171fafe9 18423605 1d18e11b 1f498480 209c0518 242e865a 2dda66a3 312e6228 31dbee8c 3585254e 35dc6d39 3f2eaa8b 40a25d6c 43d2b2ab 464b2c17 48ea7ef3 4bce1ea9 4dc4d7e6 546b3e05 55f4daa3 5937c994 66961386 675c49a8 67933a95 6b4fd632 72da1d3b 74b57814 76032cbd 774cacdd 79eb4cf1 7b20cfa7 7b8f8a15 7de1f1f1 7f6b78ef 7f7cc3ef 7fbd9ecb

I found the next one right on the first try:

Code:
> HEADER="[quote author=tromp link=topic=567434.msg6181952#msg6181952 date=1397282207]"
> ./verify32 -h "$HEADER tromp 0"
...
Verified with cyclehash 0f12c0e2f5120650c54318755d5d284d63ef932365b85fc76e5a6cdd8f5457bc

This one even has 4 starting zero bits in its cyclehash!


Solution 3f5f388 77e5632 e4f771e f30924d 1009c98f 104dae88 10f04350 14ea06aa 1b8bf400 1dc7a4bb 1e8a6a30 1ec9d2eb 21911186 22177bd8 22c8bd12 25be4110 273161c9 27f645f1 2ac782bf 2feaf1b7 3143738b 31ba1644 3777861b 3f4f772c 40cb82ad 4317ebc2 4820b25e 492cfb36 4963ddc7 49adcf18 4f6952f1 54ecfd38 55c0dfab 59540177 6157e556 62525136 64ba747a 70cd7e58 789db876 7bd04504 7e8d748c 7fc36867
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!