Tuesday, August 6, 2019

Fuzzchain








In an earlier post, some 2 years ago, I thought out loud about how one might record the voluminous output of a computer assisted proof on a blockchain. It's a thought I've kept returning to and which I'm still developing, hopefully with the help of others (but if someone runs with this or some variation on it, that's okay too). I'm calling it Fuzzchain--and not just because its outlines are still fuzzy.

So I started sketching this out as a blog post, but quickly realized it would need to be an evolving document. I had begun with an outline:

  • Scale/distribute computational bandwidth (minimize duplication)
  • Reliably record the result of a long running computation
  • Random access the state of a [completed] long running computation
  • Compress the voluminous output of a long running computation (equivalent to previous bullet)
  • Embue fuzz, the chain's native coin, with intrinsic (yet market driven) computational value.

The design of the proposed blockchain is discussed in parts.

  • Overview of protocol philosophy, design elements
    • hint-of-work (HoW)
    • chain state hash
    • work proposals
    • falsification incentives
    • block value function
    • block payload data
    • ecosystem evolution
  • Outline of protocol
    • programs written in a Turing-complete, but stack-based language
    • format for serializing execution checkpoints of programs
    • block elements
    • existing technologies
    • block linking rules
  • Discussion

But that kind of exposition sounds too normative. So I abandoned using that outline, but am including it here because it hints at what it's about. Here's my working document. Hope it sparks some ideas.



No comments: