Plasma Nano — Overview and Introduction
The Dock protocol affords data owners the opportunity to take centralized control over increasingly distributed data. A critical aspect of this model is to incentivize sharing among data creators and data consumers via data owners’ consent by providing a cryptographically secured, Censorship-resistant exchange and settlement solution. In many respects, Ethereum’s eco-system provides the perfect platform to back Dock’s protocol and Dock initially opted to design and implement the L2 Plasma Cash reference model utilizing the DOCK (ERC-20) token to bond to ERC-721 tokens, which are then used off-chain to process the data exchange and settlement.
An inherent characteristic of the Dock workflow, however, is the exchange of large numbers of small to tiny data packages for cent, or even sub-cent, payments following a many data consumers, few data providers (i.e., many-to-few) distribution pattern. It shouldn’t come as much of a surprise that the cost to transaction ratio needs to be commensurate to the transaction value (i.e., several orders of magnitude fewer than the per transaction value).
Alas, the gas costs associated with the life-cycle as well as the non-fungible nature of the ERC-721 token very quickly posed a barrier to process nano-payments. To wit, utilizing the (somewhat) optimized, still maturing Dock Plasma Cash contracts as an evaluation base, the minimum entry cost for a participant, entirely ignoring the data pricing component, for a single ERC-721 token is its mint cost of a minimum of USD 0.155 (225,012 gas). Similarly, the minimum exit cost for one ERC-721 token with proof-chain length one, again ignoring the actual payment component expressed in DOCK token, is USD 0.317. Clearly, the gas costs amortized over one — or even a small number of — transactions per ERC-721 instance, each “worth” very little, result in anything but a cost-effective solution under the best of circumstances (i.e., long-running one-to-one exchange reciprocity among fixed pairs of actors, leave alone in the dominant share pattern of many-to-few data consumers/producers).
DLT gas costs pretty much follow a proportional taxation model and what works for, say, a market place for Feline Digitalis, very quickly turns into the proverbial brick wall at the nano-payment level. Yet, Ethereum’s Plasma Cash reference model brings a lot of desirable attributes to the table to build nano-payment solutions, none more important than the inherent UTXO consume-and-exit process which favors cost-certainty over, say, state-channel solutions that introduce cost variability due the possibility of non-cooperative channel closures.
Unwilling to forego the benefits of Plasma Cash and after some fiddling, tinkering, and sleep-deprivation, Plasma Nano was born.
From Plasma Cash To Plasma Nano
Dock’s Plasma Nano protocol extends Plasma Cash to address the crux of the nano-payment cost problem by spreading the (invariant) gas costs over a much larger number of transactions than what the (indivisible) ERC-721 token would ordinarily allow.
In a nutshell, Plasma Nano introduces a local token, the CSC (cent sub-cent), for which the allocation calculation is based on both the DOCK (ERC-20) value at entry, a fractionalization base, and the data package price at time of execution. By pegging the CSC allocation relative to these fiat-driven parameters — which is somewhat akin to swaps — we can significantly increase the number of transactions a participant can execute, thereby reducing the per-transaction gas cost allocation making nano-payments viable.
Moreover, this approach allows us to decouple the CSC from individual ERC-721 bindings and introduce the concept of fractional ownership in ERC-721 token pools at the L2 layer. The latter concept is critical to allow more timely, “frictionless” ERC-721 exits by the receiving parties. As a corollary, Plasma Nano results in much, much shorter transfer proof chains further limiting exit costs. It may be worth noting that this is not a probabilistic but deterministic solution.
To put Plasma Nano in perspective utilizing the gas cost parameters outlined above, a data consumer entering with, say, the DOCK equivalent of USD 2.00 + entry gas, some USD 2.155 in total, a fractional base parameter of 0.001, and a CSC allocation parameter of 1, can now consume 200 data packages priced at USD 0.01 at an amortized per transaction cost of USD 0.010775. Assuming we split gas costs into distinctly allocated components, a data producer bearing the entire exit costs of one ERC-721 token ends up with a little over USD 1.60 for 200 shared data packages (assuming the ERC-721 token was used only once and all fees including two updates to the mainnet are born by the data producer) amounting to a $0.008 net transaction receipt. Of course, tuning the CSC allocation via the ERC-721 denomination parameter can further decrease the per-transaction gas costs.
Since the tuning of Plasma Nano is primarily parameter-based, we see this solution easily applicable to other paywall-type solutions predicated on nano (fiat) amounts, such as (streaming) IoT data exchanges.
We are currently working pretty darn hard to finalize the Plasma Nano reference implementation and hope to have a testnet running within three to four weeks. However, being aware of some “discrete clunkiness” in our inaugural approach, work already has begun to develop an even more suitable Plasma Nano extension protocol.
peace & out
For more discussion on Plasma Nano, please visit our post on Ethresear.ch. We’d love to hear your thoughts.