Explaining The BotChain: Technology Behind the BotChain
In this piece I want to focus on BotChain’s technology at a high level, keeping in mind that our goal is to build a network, ecosystem, and cryptocurrency that in the long term, all autonomous agents can use to build, negotiate, and transact.
First of all. I think that technological progress is important to blockchain companies. But I think that it’s only part of the solution. I think about half the value of building a blockchain solution will come from non-technical work (marketing, partnerships, customers, etc.) In order to be successful, there are a lot of promotions, marketing, and business development needed to sustain it.
I’ve talked to a lot of smart experts concerning blockchain technology about what we should build and how we should build it. I get several diametrically opposed opinions at each step. This is one of the greatest challenges when developing new technology — there are no best practices yet.
With a standard SaaS company, web-based consumer company, or even technical hardware company, there are a lot of design patterns at every level of abstraction. There are many entrepreneurs that have spent time in every piece of the tech stack and every box of the business model canvas for a couple decades now. These are the heuristics that are valuable. We generally agree on 90% of the details like where to host, which database to use, technical design patterns, UI design patterns.
Blockchain, I found isn’t like that. It’s 1995 again. It’s whole-cloth planning again, and it’s tough. Exciting, but tough. The people working on blockchain now are in the 1995 web-equivalent year for blockchain. This means that we are the ones that will need to create the standards and heuristics. We are the ones that will need to create the additional levels of abstraction on the technology so that things get developed faster and work better. And, we’re the ones that will need to understand and develop the business models that make this work.
The people working on blockchain now are in the 1995 web-equivalent year for blockchain.
The philosophy I brought to Talla for building blockchain business is different for different businesses. But, for something like BotChain, I have few core philosophies:
- We’re building for the long-term
We want to build something that isn’t connected to the lifetime of a single firm or a centralized set of people. That’s not robust enough. My philosophy on blockchain companies is that we want to build a forever ecosystem.
2) We’re building for our ecosystem (yes, even for our competitors!)
In the end, we don’t want to run a centralized service on our servers. We don’t want to run a centralized service on our competitors’ servers. This is where the blockchain comes in. This is an ideal way to build a digital commons for an industry.
In the end, we don’t want to run a centralized service on our servers. We don’t want to run a centralized service on our competitors’ servers. This is where the blockchain comes in.
Why build something that would help your competitors? You might ask.
First of all, a decentralized platform of shared data and processing at the industry level lifts all boats. Second of all, these are things we need to build and agree on anyway. The blockchain just gives us a trustless (meaning: we don’t need to trust each other for it to work) way to build a digital business commons. Third, the early adopters (us and other bot companies that are on the founding set of partner companies) will be seen as pioneers. That’s not for everyone, but some of us like that. Benefits go to the early movers in this environment.
…the early adopters (us and other bot companies that are on the founding set of partner companies) will be seen as pioneers. That’s not for everyone, but some of us like that…
We will have several key technological components. Let’s go through each one.
Our token will exist on Ethereum to start. This is a common choice for blockchain companies given the maturity of Ethereum and the large developer community compared to most other blockchains. We’ll use the ERC20 token standard. This is a standard that is common and easily understood by developers. This token protocol will manage our total number of tokens and the management and exchange of them as they live in the decentralized Ethereum network online. For more details on the tokens (number issued, etc.) see the BotChain landing page.
We will be running our core ledger and some processing capabilities on Ethereum. We’ve already deployed smart contracts in January 2018 that currently register bots, bot products, and bot installations. When we talk about features that live on the Ethereum, my preference is “hashes and pointers”. We’re staying slim on the Ethereum chain and mainly only storing hashes of some data that lives off-chain, or pointers to addresses that live off-chain.
Off-chain we have already deployed (January 2018) a server that holds other information about our bot registry as needed. This is an early phase, so we have been using what we learn from this deployment to plan the ideal decentralized off-chain solution longer-term.
In our next steps in the next few months, we’ll be optimizing what we have and setting a longer-term path. Note: The ultimate goal is to be totally decentralized by the end of this year. In other words, if we remove the BotChain founding team totally from the picture, it would continue to thrive totally on its own.
In other words, if we remove the BotChain founding team totally from the picture, it would continue to thrive totally on its own.
There are three options here that we’ll plan into an architectural roadmap. Option 1 is to keep almost everything on Ethereum. And additional data (like bot registration data) would live on the bot developer’s server (our customers and partners, in this scenario), and an Ethereum record would point to it (and it would be hashed to ensure it doesn’t change unexpectedly). Option 2, we are considering spinning out our BotChain network version of Ethereum (our own Ethereum implementation). We would run everything there and only write to Ethereum mainnet when needed, in the most efficient way (with the goal to save on gas). Option 3 would be to have state-channel nodes that would interact and process transactions in a batched way, which would then be written to Ethereum in the most efficient way. I’ve launched and internal skunkworks workstream to research these (and other) innovative directions.
The final choice, like all technical choices, depends on the maturity of various parts of the ecosystem and what is best for Botchain. Once we completely open source everything, much of the development will be out of our hands, even though we expect Talla will continue to participate and help push the technology forward.
Final Thoughts: Leading the vision in a rapidly changing landscape
We’re all about building and learning. A philosophy I want to be clear on is that we won’t continue to execute a plan blindly. Innovators steer. They don’t stay on a road that isn’t leading to where they want to go. What I’m saying that as we learn more about how to build and optimize a blockchain solution for our platform, we’ll adjust.
Innovators steer. They don’t stay on a road that isn’t leading to where they want to go.
So, don’t expect this write-up to be the final, perfect path. We will change as the business or technology environment changes. This isn’t a flaw in the plan, it’s part of the plan.
If you are new to BotChain, and want to dig in, start here.