By Alex Karasulu, OptDyn Founder/CEO, and Creator of Subutai
Quick links: History and Background | A Look Into GoodWill | GoodWill Started in a Database | The Blockchain as a WORM Transaction Database | Easing the End-User Experience | Proof of Authority (PoA) Blockchain | When a Little Mediation is Required | Subutai Users Benefit
GoodWill is the exchange currency of the Subutai Bazaar that enables users to buy and sell resources from each other. Functionally, it is a lightweight digital asset that behaves similar to the way tickets purchased at an amusement park do: in order to utilize the park’s services, you need to purchase tickets from the ticket office. To go on a ride, you do not pay the ride operator money, but rather simply provide the number of tickets required for that ride.
GoodWill is fungible (it allows you to exchange one item for another –I would be able to rent a medium-sized container from a provider on the Subutai Bazaar at 0.4 GoodWill per hour). GoodWill has historically never had any cash value, as its circulation remained within the Subutai ecosystem.
Up until now, GoodWill could not be purchased: the only way to obtain GoodWill was either by transacting on the Subutai Bazaar, or by earning it through rewards and bounties associated with “good deeds”.
The next release of Subutai converts the internal common currency of GoodWill into an Ethereum blockchain based ERC20 token and binds its value to one US cent.
We’ve made some key decisions while balancing different constraints on the path towards leveraging cryptocurrencies in Subutai. This blog post will explain those design decisions for posterity and also help educate participants on Subutai’s GoodWill in general.
History and Background
Over the past six years while developing Subutai, we saw many new and tempting technologies emerge including distributed ledger technologies. Ethereum started becoming popular and the noise around blockchain and crypto in general ratcheted up just when we started creating the very first P2P clouds on Subutai. We always knew the blockchain would play a crucial role in Subutai one day, however we did not try to force a fit. We wanted to do it right.
We knew the financial aspects of renting idle computing resources to and from others on the Subutai Bazaar was crucial to creating a sustainable sharing economy: providers should profit and consumers should save while transacting peer-to-peer. To do so, pricing and payment barriers need to be overcome. Payment could impose frictional forces that get in the way, particularly since most will be cross border transactions. Dealing with tiny transactions across several different sovereign currencies was a non-starter even from the very beginning. A common currency –even if internal– to exchange resources served to remove those barriers.
A Look Into GoodWill
GoodWill is a pure utility token with a fixed price relative to the US dollar (100 GoodWill = 1 US Dollar). Price coupling is often referred to as currency tethering. Essentially, one GoodWill on the Subutai Platform represents a virtualized US penny. By using GoodWill to exchange resources participants can fluidly trade computing resources across national borders without having to rely on the exchange of cumbersome fiat currencies.
GoodWill was NOT created to attract token buyers at an initial coin offering (ICO) with fantastic token economic strategies that will bring buyers greater value in the near future.
We will NOT hype GoodWill nor allow it to be used for speculation: that would be pointless as it is tethered to the dollar at a fixed rate. We will mint and destroy GoodWill as is needed to make sure the P2P cloud sharing economy can transact at its maximum capacity with the commensurate amount of money supply.
These parameters should not matter to those with GoodWill since the price is fixed relative to actual US dollars. Those with GoodWill will be able to use them to buy resources and services in the Subutai Bazaar. Allow me to restate that: GoodWill is a utility token for commerce on the Subutai Bazaar. If you are planning to HODL GoodWill tokens because you are dreaming it will skyrocket in value like Bitcoin so you can buy a Lambo in 5 years, sorry, no! GoodWill prices are fixed and tethered to the price of the dollar. 100 GoodWill will always equal 1 US Dollar.
Our stance on the properties of GoodWill is crucial to understanding why we configured the blockchain and wrote the GoodWill smart contracts the way we did. Our aim is to safely and properly leverage blockchain features needed by Subutai to advance the P2P sharing economy across Subutai’s growing ecosystem rather than try to sell tokens in an ICO.
GoodWill Started in a Database
GoodWill was created as the common interchange currency that everyone could use to transact. GoodWill could only be earned by users performing good deeds, both on the platform and within the community, and was stored in an off-chain internal distributed database managed by the Subutai Bazaar.
We established a rewards system to give GoodWill to those performing actions that improved the experiences of other participants on the Subutai platform. Users could then trade GoodWill for compute resources or other things offered on the Bazaar. Correlating GoodWill in the database with Bazaar resources was attractive to some users, but as we scaled Subutai it became clear that tying the value of GoodWill to something everyone knows and “feels” made the concept less abstract.
We started simply, with the primary aim of testing pricing models, and analyzing system behavior while getting feedback from our beta users. GoodWill was fast, easy, and supported a high volume of transactions. However the approach was still centralized, even if stored in a distributed database. More importantly, as a simple value store in a database the transaction history was vulnerable to compromise: participants could lose GoodWIll and their transaction history. This was a concern to us and was the primary consideration that drove us towards the use of the blockchain for resource billing.
The Blockchain as a WORM Transaction Database
We quickly realized an indelible database of record was needed for our participants’ transaction history and GoodWIll balances. By indelible, we mean a database that writes transactions once that can later be read many times over, but past transactions can never be altered. No one, not even administrators of the Subutai Bazaar, should ever be able to go back in time to change the transaction history.
We wanted to make sure that even if the Bazaar was compromised, users would not lose their GoodWill. The Write Once Read Many (WORM) pattern is often used to describe storage devices (i.e. CDR writers and other media) that could not be modified after being written the first time. We needed WORM records for transactions in our ledger, which is exactly what the blockchain is and does for us as a network data structure.
Easing the End-User Experience
a) Avoiding Ether and Gas Costs
The blockchain as a distributed ledger was the obvious and ideal fit. However we had other key constraints: one constraint was to avoid requiring our end users to deal with other currencies; another was to avoid their having to pay for transactions.
On an Ethereum blockchain, transactions require the payment of fees which are referred to as “gas”. These fees are paid in minute amounts of Ether. The problem with paying gas is not just in the cost of gas rates but with the added overhead of every Subutai Bazaar user having to hold both Ether and GoodWill in the same wallet account. This would encumber the overall user experience by needlessly adding confusion.
To remove gas costs we experimented with a number of different mechanisms such as ERC865 tokens, but they never seemed to work as advertised. If it had worked as intended, it would have only removed the need for users to hold Ether. We would therefore still need a complicated contract to subsidize gas with GoodWill to make it free to transact.
b) Automated Payments
In the Subutai Bazaar, consumers rent resources from providers to run applications; usage charges are incurred on a pay-as-you-use basis every hour. It would be tedious and impractical to only allow payment settlement to occur when consumers are available online to be prompted to use their crypto wallets.
For Subutai P2P clouds to keep running and for the Bazaar to transact with providers supplying their resources, payments need to occur hourly without requiring human interaction. Our list of requirements was a lot to ask for, in particular to securely enable automated payments across peers with third party verification of services rendered through the Bazaar. The Bazaar is an oracle (a third party that provides, translates, or verifies information provided by outside actors) and Ethereum smart contracts do not particularly integrate well with oracles. So we kept on searching for the best approach.
c) Delegated Authority Without Custodial Wallets
The next problem that logically resulted as a consequence of automated payment settlement was avoiding insecure access to consumer’s crypto wallets. We don’t want to be the custodian of anyone’s wallet (custodial wallets are where the private key for controlling your coins are kept on the servers of a third party). Consumers should be able to securely and automatically pay providers for these hourly charges as they occur without having to expose access to their wallets to anyone –including the Subutai Bazaar. Furthermore, hourly usage charges and their settlement should be recorded as non-repudiated on-chain transactions.
The solution was to delegate authority for making payments on behalf of the user to the Bazaar. GoodWill smart contracts allow trusted dApps (distributed applications that run on a P2P network of computers vs. a single computer) such as the Bazaar to transfer a limited amount of GoodWill per diem from consumers to providers as resources are consumed. As you read this, two trusted applications can transfer GoodWill on behalf of users: the Subutai Bazaar and ipfs-pin.com. As the Subutai ecosystem grows, the number and kinds of trusted applications and marketplaces will increase within the P2P cloud sharing economy.
Proof of Authority (PoA) Blockchain
We decided to create the GoodWill token contract on our own Proof of Authority (PoA)-based Ethereum blockchain network. The network nodes run on Subutai-hosted servers and a select few run on affiliate servers as independent backups. Proof of Authority networks use authorized nodes to provide the next block in the blockchain –this is where the heavy work to produce the next block is avoided, and results in lower transaction latency than Proof of Work. PoA allows for faster transactions, higher volumes, and the option of easily upgrading the network over time as new performance enhancing features come out (i.e. sharding, etc.).
GoodWill acts as a virtual representation of US currency (a penny) to drive the Subutai sharing economy. It is not an investment token, nor is it designed to hold value for long periods of time. Subutai users can be assured that in the event that something happens, they will be able to get their GoodWill back.
PoA affords us the opportunity to recover everyone’s GoodWill and the transaction history by forking in the event of a system wide compromise. This is the primary aim for having GoodWill on the blockchain; otherwise we would have continued to manage the ledger as an off-chain value stored in a distributed relational database.
When a Little Mediation is Required
Delegation of transfer already requires a degree of trust in the Bazaar as an application. Users need to trust the Bazaar in several ways, particularly if something goes wrong, as anything catastrophic that happens can be fixed.
The Bazaar is both an authority and an intermediary since it handles delegated transfers. This should assure users, as GoodWill was never intended for anything more than facilitating the act of exchanging resources, rather than storing value. GoodWill can be exchanged for other tokens better suited for the storage of value, such as our future KHAN token (the subject of a later blog post).
While the PoA network seems a bit antithetical to the no-intermediaries spirit of the blockchain, keep in mind the following aims of our use of GoodWill on the blockchain:
- We want to protect users against the loss of their tokens in case of compromise;
- We’re NOT running an ICO on GoodWill, it is purely a high velocity utility token;
- GoodWill is NOT a permanent store of value, so users with that need should exchange it for other coins;
- GoodWill is forever bound to the US Dollar at a fixed value of 1 cent for 1 GoodWill;
- We can mint and destroy any amount of GoodWill on the platform to ensure there’s a sufficient money supply to transact as the sharing economy grows in size
Even if compromised, we retain the ability to fork and preserve everyone’s GoodWill. Other benefits of PoA include the ability to protect users from theft or accidents, to help recover lost tokens. All these features result in a more stable and secure experience for our end users.
Subutai Users Benefit
We understand that not all our end users want to be cryptocurrency experts, nor should they need to be. Our simple usage scenarios make GoodWill user-friendly and alleviate the concern of complexity often associated with cryptocurrency:
- GoodWill wallets are integrated into the Subutai browser plugin: users don’t need to deal with Ether.
- Payments occur automatically: users won’t even notice they have a wallet after the initial setup.
- GoodWill behaves like any other cryptocurrency: users can buy, sell, and transfer GoodWill to anyone, peer-to-peer.
It’s super easy and this is all intentional.
Unlike “normal” cryptocurrency, if something ever goes wrong for any reason, our users always have our support in helping them fix the issue. This sort of second chance does not exist with the standard blockchain network configuration.
The tradeoffs we chose make the experience more worthwhile to our end users, which is most important to us. We applied the UNIX Philosophy (as advocated by our mentor Dennis Ritchie) to the blockchain as it relates to the GoodWill token: do just one thing, but do that one thing very well. We don’t need to bloat and mix other concerns into GoodWill. Simply use GoodWill to exchange resources. When the time comes for other tokens optimized for new concerns on the platform, we can certainly add them and enable their interchange.
We thank our many long-standing members of the Horde for their loyalty and are happy to be welcoming new users every day! We appreciate your feedback and look forward to hearing your experiences with GoodWill on the Blockchain. Create your GoodWill wallet today!