Distributed Computing in Context
How we priced Holo fuel relative to Ethereum gas
EDIT: Scroll to the “Bottom Line” section for new pricing information as of 3/26/18.
Calling all Holo peeps! We’re under a week away from the launch of our Initial Community Offering. If you’ve been keeping up with my posts about our ICO mechanics, you’ll know that the ERC-20 token we’re selling (HOT) is convertible to Holo fuel upon the network’s launch. You can think of Holo fuel as a currency denominated in computing power, as we’ll use it to cover the costs of computing (processing, bandwidth, and storage).
Another facet of making sure our ICO is not only up to snuff, but actually shines in its ethical prowess relative to other distributed computing projects, is to be blunt, about our pricing. How, exactly, have we established the price of computing power? If you participate in our ICO and buy 1 fuel credit, how much computing will you get?
Despite the fact we’re convinced that Holochain is a major step in the evolution of computing, we’re respectful of the terrain we enter. Nothing is without precedent, and besides, we had to “gauge the market” (some traditional terms for ya) for computing costs.
Neither was this a small feat considering the conversions involved, both in terms of currency and technical systems. Eric Harris-Braun and Nicolas Luck began this process of benchmarking by seeking a functional equivalent to computation and price on an established platform (and as our design decisions attest, our preferred), Ethereum.
Ethereum provides decentralized computing, as does Holochain. On Ethereum, all computing whatsoever — any change of state — costs gas. One never quite knows how much gas will cost since the price varies, and people set their own prices, too. Nevertheless, gas is a fixed amount, and all computing one does on Ethereum is reliably tethered to it.
So, smart contracts. Our ICO leverages earlier software (read: blockchain-based platforms) to perform the pre-authorization that guarantees folks their fuel in the form of smart contracts. After all, we’re seeking funding, in part, to be able to carry out all the work needed to ensure the full functionality of the Holo network. For example, all participants need to be whitelisted on the Ethereum public chain so that they can participate in our ICO. If we have 10,000 people participating, that means we must store 10,000 values, the cost of which we found to be between $400–500.
…and this was before CryptoKitties!
All cuteness aside, we believe that holding a list of items shouldn’t cost that much. This is not only demonstrative of the high cost of mining, but also the cost of speculative valuation. What really holds the mirror up to us, I think, is the fact that in order to make a proposal, to participate in what many of us believe is a revolutionary possibility for democratic intervention, one is faced with egregiously high computing costs. So for starters we’re concerned about the high barrier of entry for a mode of computing that should be available for anyone who wants to use it.
A major motivation for us is the thought of clearing away the weeds so we can provide computing power at the cost of computing power…without having to pay either for the consensus-style authorization or the name brand.
The main thought behind our pricing is as follows:
Gas is expensive. We’ll charge 10,000x less than Ethereum so that distributed computing power can be purchased on Holo for 1/10,000 today’s equivalent price.
Read on to go deep into the mechanics, code purveyors, or check the repository for yourself…
Holochain’s Sample DAO
In order to do this benchmarking, the code written essentially ported the Ethereum DAO application onto Holochain. Let’s recall the hallmark of Holochain here. What distinguishes it from other distributed computing platforms, is the fact that it is agent-centric rather than data-centric. These different starting assumptions make comparing Holochain apps and Ethereum smart contracts quite difficult. This also happens to be what makes Holochain many, many times more efficient.
On Ethereum, to create a proposal you have to have enough gas to run the code, and thus enough money to pay for the gas. Once you’re done writing the code, it’s sent to the recipient of the smart contract. But what happens when you adapt this DAO system of making proposals (and paying for them) using an agent-centric mode of distributed computing? Who are the funders?
For the purpose of establishing a benchmark, then, a mutual-credit transaction zome was coded to emulate the function of a smart contract/proposal. In simpler terms, the code had to be changed to reflect our different transactional design, and to measure the disc space, bandwidth, and processing time it takes to do approximately the same thing on Holochain.
Proposals are funded by doing a pre-authorization on my mutual credit currency, and if the funding clears, that pre-authorization writes on the other person’s chain. Just like a credit card authorization, one must go pre-negative to be able to get out of the negative.
Ready for some numbers?
The code written is a scenario that spins up an owner node, an implementer node, and a bunch of member nodes which create and vote on proposals. The implementer node eventually executes the proposals. One can look at the data for each node or at the aggregate benchmark data:
Total chain: 45.22
Total DHT: 1287.27
Total Bytes Sent: 7394.64
Total CPU: 20840
The repository has a DAO Ethereum scenario built as a truffle test that calculates the amount of gas used to do a similar amount of computation. In the end, you’ll find out how much gas is used. This produces an output that ends with a line like:
Total Gas Used:6224448
We reasoned that, since we have this benchmark, pricing should be based on the price of ETH in Euros on the day our offering begins. This point in time is somewhat arbitrary, sure, but it seemed fair given our guarantee that the amount of fuel purchased in the Initial Community Offering is exactly the same amount you’d find on your source chain (ledger of all an agent’s transactions, held individually) upon the launch of the network.
But is this really the most ethical way to bring participants into the ecosystem? Without being able to name a price before the day of the sale? We reflected upon this decision and, instead of basing the price of HOT on the price of ETH in Euros on the day our ICO begins, we have decided to price based on the average ETH price for the past week (previously said “average ETH price since the beginning of 2018” when written for a Jan 9 launch — updated after long launch delays). Why wait until the day of the sale to learn such an important detail? With such volatile currencies, one should not really assume much about a momentary price of ETH.
Our fuel valuation (.0001) is based on the increased efficiency of Holochain relative to Ethereum, and actually reflects a conservative estimate. In fact, we suspect that Holochain’s infrastructure may actually be millions of times cheaper than computing on Ethereum. As the cost of computation decreases, as more and more people begin hosting on Holo, (and hosts drive down their prices, at least initially, to compete for the business of app developers and providers) the value of fuel increases. There’s an inverse proportionality between computational efficiency and the value of fuel.
Accordingly, when one takes into account the average gas price (57.6 Gwei), ETH price in 2018 (€923.49), the Holo fuel valuation (.0001), and the numbers from averaging all the benchmarking instances (like DAO proposals, our whitelisting process,item sorts, etc.), we can provide crystalline clarity about what you’ll get (in terms of computing) for one HOT on the dark blue line:
Think about it how wunderkind Will Harris-Braun does…
One HOT buys you as much computing as 1 Euro buys you on Ethereum. …And we’re selling one HOT for 1/10,000 of a Euro!
As it turns out, there are many angles from which to get excited about the vastly greater efficiency of Holochain.