There’s a rather popular bitcointalk comment by Satoshi that I’ve seen interpreted in different ways by the people working on some other chains.
Interpretation by Zooko from ZCash https://twitter.com/zooko/status/1499478874375163904
Interpretation by fluffypony from Monero https://twitter.com/fluffypony/status/1534709478368714753
They do have some points. Privacy improvements along with stealth addresses and ring signatures were a part of the discussion. But the main thing they were discussing, and what Satoshi’s comment was referring to, is a hash-based chain construction. A chain where a block is just a bunch of hashes. Since both ZCash and Monero have their own interpretation of what Satoshi found interesting in that comment and called “a much better, easier, more convenient implementation of Bitcoin”, we can have ours as well. Here’s what I believe was really discussed.
A solution was indeed found, but I don’t think either ZCash or Monero describe what they were discussing. I don’t think either of the two is actually the idea described by Red. Monero is probably closer here than ZCash.
Satoshi commented:
It’s the need to check for the absence of double-spends that requires global knowledge of all transactions. The challenge is, how do you prove that no other spends exist? It seems a node must know about all transactions to be able to verify that. If it only knows the hash of the in/outpoints, it can’t check the signatures to see if an outpoint has been spent before. Do you have any ideas on this?
Unless I understand it wrong, the idea or solution he was looking for seems precisely Mimblewimble. In fact, Mimblewimble does even more than he was looking for.
Satoshi further comments:
The network would track a bunch of independent outpoints. It doesn’t know what transactions or amounts they belong to.
This sounds familiar.
Red comments:
I had hoped the condition to pass all transactions to all validators could be weakened but I can’t see how (yet) without relying on trusted delegation.
Also familiar.
There, now we have our own version. I wonder if Satoshi would call this a HashChain or in our case, a HashTimeChain. :))
Let me know if I’ve missed things or misunderstood them.