I found very few docs about the mean trimming. The source code of mean is complex and lack of explanation. Can guys give some ideas to understand this algorithm?

The Cuckoo Cycle project page at https://github.com/tromp/cuckoo links to my Grincon0 talk explaining lean and mean mining.

1 Like

In page 58 of your slides, to find leaf edges in the graph, the edge’s indices conceptually go to a node partition(a buffer in node location?), this lead to a bucket sorting. The index 14 is checked in its node partition, find that in the node partition there has no indices with the same endpoint(why compare with 10 and 9?), so 14 is trimmed.

Is this mean trimming right?

In mean mining, you bucket sort the edges into typically 64x64 = 4096 buckets, each one fixing 12 bits of, let’s say, the top endpoint. Then within each bucket you do lean mining, which needs 2^31/4096 = 2^19 bits of SRAM for cukatoo31.