Howdy, I’m a software engineer. Oldie in the field, but newer to blockchain.
A story about how I finally found RadixDLT, and how it confirmed my intuitions about DLTs. And then some praise for the project:
Story: Obsessed with Time and blockchain
I decided to dig into how bitcoin works and the consensus algorithm, which I thought was beautiful at first, until some questions started popping into my head.
How does bitcoin actually ensure that transactions are accurate? Dig, dig, dig.
Answer: it doesn’t. And nobody’s talking about it. And it doesn’t incentivize accuracy in the ledger. Huhh???
All this work, carbon emissions the size of a medium sized industrial country - supposedly to solve the double spend problem, is all just to agree on the canonical chain and make it expensive to act badly?
I thought: “This is crazy. A transaction system should be ordered in time. That shouldn’t be an afterthought.” I was driving along, and it kept popping into my head, “double-send…TIME…double-send…TIME.” And then, “Proof of time” and “Proof of time protocol.” I became obsessed.
A blockchain should be based on each transaction being the next transaction in a chain on the axis of time. If transactions were ordered, we wouldn’t need proof-of-stake, proof of work, or any of these other algorithms. But how would we order them? Timestamps are so unreliable. You can’t send time over a network. We need a timeslot for each transaction. A transaction should get a timeslot like an OS gives out cpu time to processes. But it can’t be centralized like an OS. Briefly I came across the Lamport protocol, and I thought this is what we need, but surely it’s too simple, and that’s why nobodiy’s using it.
For 3 weeks I couldn’t get proof of time and proof of time protocol out of my head. Somebody has to have figured this out. Distributed systems have existed for a long time. Distributed computing even. Isn’t this just another distributed system??
I got sidetracked on opentimestamps, and roughtime. But I started to realize this was a distributed database problem. Plain and simple (well except for the bad actors part and the money part) I started to come back to the Lamport clock. It seemed too simple at first. Integers??? Someone could just change them. But then i saw the chaining of timestamps in Roughtime. I was like, “maybe something like this could work.” I hadn’t found merkle trees yet or come up with a good protocol. I felt there needed to be separation between the request for transaction and adding the transaction in an ordered fashion though. I started trying to come up with an architecture. Should there be a sidechain that stored the time-order?
Late afternoon at work, I remember reading in a github issue on opentimestamps that proof of time does not solve the double spend attack. With no explanation why.
This rankled me. But I’m a newbie, so I must be missing something or oversimplifying this. How many great minds are working on blockchain? Foundations, IBM. People way smarter than me. As I was heading home on the BART in San Francisco, and I searched for “why doesn’t proof of time solve the double spend problem?” I was still consumed by this idea that time units chained together were the solution to all these crazy consensus mechanisms.
And then I saw “Radix - a DLT based on logical time”. I was like Holy ****!!!
At once I was vindicated, exhilarated, and disappointed. Disappointed, because I thought I was onto something big. I started to dig into the architecture and the material, and realized I wasn’t even close to fleshing this out.
The core of this architecture is wonderful: logical time with merkle trees. Shardable, lightweight. It’s beautiful. Merkle trees are immensely scalable and efficient. Hashed logical time works across networks. And the other layers take care of a lot of potential exploits, communication, dissemination, and provide a robust system. I haven’t gotten into the economic model yet, but easy of fiat transfers and stability of currency are essential. I am in agreement with that. You can make the purest DLT, but if someone has to go to a central authority (a terrible exchange) to buy and sell tokens, who cares? I’d rather the platform make a few sacrifices.
I have a feeling that decentralized ledgers and apps are really important for the future as a bulwark against increasingly centralization of money and power, and control of a few companies of the internet, banking and commerce. The combination of AI and data-hoarding monopolies (including governments) is an existential threat to our way of life. And that’s why I’m passionate about this project. I’m getting to that age, where I want to leave the world a better place.
The breakthrough that Dan and his team have made is truly historic and heroic.
I’ll help out in any way I can. May the force be with you.