Written by Collin Cusce, editing and illustrations by John Fitch.

This is a three-part series. Part one and part two are already up, when you’re ready to check those out!

In part one of this three-part series, we discussed the importance of scalability, the limitations and flaws in current blockchain systems for reaching this level of scalability, and what Plasma offers to businesses looking to scale their blockchain operations while remaining connected to the single-source-of-truth that is ethereum main network. Part two focused on the solutions proposed by Vitalik Buterin and Joseph Poon by examining, on a mid-level, what Plasma offers the future of blockchain. In the third part of the series, I explore architecture opportunities that Plasma enables, and talk on some of the criticisms to the approach.

That Holy Cow Moment

“If you want to build a private blockchain, you need plasma. Talk done.” — Dr. Corey Petty, mainstay host of The Bitcoin Podcast [1] and blockchain researcher at Booz Allen Hamilton’s spookily-named Dark Labs [2], when asked how he’d convince people to hop on the Plasma-train.

Wow. Strong statement. And I believe it’s totally and absolutely correct. Plasma brings security. Plasma brings scalability. Plasma brings flexibility. Plasma brings interoperability. Plasma does all this while still retaining a single point of truth for the entire ecosystem of blockchains.

Guys. That’s not just rad, it’s necessary for the next stage of dapp development, both public and private.

Let’s take a gander at some of the things Plasma enables according to its paper [3, pg. 40–42]:

Decentralized News Aggregators (a la reddit.com) Decentralized Exchanges Decentralized Mail (D-Mail) Decentralized CDN Private Chains

That’s just five! What about decentralized social networks? Decentralized ad networks? Decentralized instant messengers? Decentralized IoT managers? Decentralized shopping carts? Decentralized photo sharing? Decentralized blogging? Decentralized spam blockers? Scalable decentralized DNS? Decentralized television? Decentralized laws as smart contracts… by country…treaty…internationally? Decentralized governance?

Look, decentralization is great as a concept, but it’s only interesting when you develop it over a single source of truth. That’s what Plasma is really shooting for here: a backbone of truth that enables an entire ecosystem of trustless systems in scale.

So, what’s that going to look like in practice?

World Builders, Roll Up Your Sleeves… Time to Get Your Hands Dirty

A problem with the current blockchain models is that, in trying to build a Tower of Babel for truth, they reach so high that they can’t make consensus with each other. I’m not just talking about the myriad of alternative cryptocurrencies, each with their own flavor and flair (at the time of authoring, coinmarketcap.com lists 1,170 different cryptocurrencies [4]); I’m also talking about the fact that rarely can they even internally reach timely consensus within their communities [5]. Differing interests are driving different decision-making processes, and this leads to fights, and wars, and bad blood, and worst of all… stagnation. Enough. You’re all right in some way; you’re just not all right for each other.

Plasma mends this situation. Want a Proof of Authority node? Toss one up and throw it on a Plasma chain. Want a Lightning-level micro-transaction mechanism? Make it, put it on the network, it’s your world now. Does your organization want private chains that only they can communicate with using an extremely strict and highly-encrypted chain running authority nodes but also wants value to fluidly flow to their off-network partners? With Plasma, you can do that.

Not only that, but many of the computational and storage limits that Ethereum (and all other blockchains), have now will sort of… evaporate. Well, within your own ecosystem, of course. They will still be there on the main Ethereum network, but you won’t need to worry about that because your system will do what you want! Guys, we’re talking about millions, if not billions, of blockchains all communicating with each other and flowing data and value to each other freely. That’s pretty … badass.

What Would a Blockchain Business Look Like?

You’re a small hosting provider and decentralization is creeping in on your game! Crap! What are you going to do? So, you look at this Plasma stuff and what it is capable of accomplishing. It hits you… you’ve got a lot of bandwidth, storage space, and processing power at your disposal. Maybe a pivot is in order!

You begin migrating your older systems to being Ethereum nodes. You set up a primary Plasma Chain and drop it right below the root node. You write a smart contract to let your new customers interface with your hardware directly. They pay you in a ERC20 token you also quickly wrote up from a template. You connect your token to a Decentralized Exchange. You engineer your nodes to be a variation of Proof of Burn [6] to an address that you own so you can resell your own currency but still give people access to your authorized resources for a limited amount time equal to their burned tokens, thusly renting your resources to anyone who wants to use them for processing, file storage, or hosting, and selling your own coins back to you. You then sell your pre-mined coins back to the exchange and repeat the process as-necessary to let nodes participate in your shared resource systems. Suddenly your server farm has turned into a fancy Beowulf cluster for decentralized processing.

This goes on for a few months, and thanks to clever marketing, you’re pulling a decent-sized profit. So much so that other small hosting providers notice what you’re doing and ask how they can do it as well. Hm. Traction from your own competitors. Maybe it’s time to augment your own services to be more inclusive. You establish a set of relationship smart contracts which allows you to bring other nodes into your compute-network without much trouble on your end. If they want to join, you give them a software package and tell them to go ham on their network. Several of your previous competitors start doing just that. They begin running their own plasma chains using your token that’s tied to your “burn address”, and the next thing you know, they’re improving YOUR network and YOUR token, driving up its value. You, being kind, pass the extra revenue on to them, but at this point you’re seeing a trend.

You set up a global decentralized marketplace for computational resources. You publish your relationship smart contracts and your node packages to anyone who wants to participate in your network. The advantage you bring is an “always-available, always scalable,” guarantee. The marketplace allows anyone to post their resources on your system. It catches on. Suddenly, the dividends from your own coin are paying better than your server farm does by far. Everyone’s running Plasma Chains under your Depth-1 Plasma Chain that’s tied to your token and your burn address. You’re purely in maintenance mode but the money keeps flowing in. You have an empire of Plasma Chains. A fleet of computational power.

You can become the Johnny Appleseed of decentralized networks.

“Plasma begins to blur the line between on-chain and off-chain.” [2, pg. 17] — Plasma Whitepaper, Buterin & Poon

You created a chain-bonded AWS for Everyman in your basement…. all thanks to Plasma.

House of Bricks

From an architectural standpoint, Plasma opens a whole new set of opportunities. MapReduce compute chain frameworks are massively powerful, but the fact that you can run them using your own consensus algorithm while retaining a single source of truth means that you can create high-scale compute environments which only passes their necessary information up to the parent chain. Storage can be paid for in Plasma Chains much cheaper, so having reference addresses to several IPFS addresses is much more reasonable. Heck you can even store some exceptionally pertinent information directly in-chain in certain circumstances with very little cost. The best part? Not everyone has to have a copy of the chain that you have. Verifiability is only relevant to the section of the parent chain that you’re subscribed to as a child. If you’re 8 levels deep in Plasma Chains, you don’t need to download 8 different Plasma Chains as well as the root chain to subscribe to this service. You only need to know about the parts of the 7 Plasma Chains that the service you use cares about. Beautiful.

House of Twigs

All that said, Plasma has some issues you’ll need to be aware of [3, pgs. 42–44]:

Smart contracts are complex and ensuring that all situations are accounted for in fraud proofs isn’t 100% guaranteed… yet. The possibility still exists the root chain can recognize something invalid as valid. Unless an exit chain provision of some kind is implemented, you can close transactions on the main chain before they’re fully resolved in a Plasma Chain. Exiting a Plasma Chain operates on some fundamental assumptions regarding finality that may not always be correct, though the paper mentions CASPER might have the solution for this in the works. Exit costs may be too expensive on the root chain under certain circumstances such as times of exceptionally high transaction volume… suggesting that Depth-1 Plasma Chains should have higher confidence than lower depth so that you do not have to exit all the way back to the root chain. If the root chain succumbs to a 51% attack, everything is compromised… but this is true everywhere right now and it’s extremely difficult to pull off. I’d say it’s damn near impossible short of a state actor dumping their entire country’s resources into the project and getting supremely lucky several times over… and that complexity increases with every mining node on the network. If a chain stops producing blocks, it’s children will need to be able to sort themselves out. Solvable, but a pain in the butt. Once you implement a Plasma Chain, you’re stuck with its consensus rules. Them’s the shakes, sorry. The only alternative is to work out a mass-exit-and-move function into the smart contract’s rules, but then the historical chain data must be copied and verified somehow. Complicated.

House of Straw

And with anything new, it’s not without its critics trying to blow the house down. One of the more vocal skeptics has been Vlad Zamfir, who is cited in the whitepaper’s acknowledgements [3, pg. 46].

I think, as phrased, these statements are a bit harsh and sound vague, so I reached out directly to Vlad to get specifics on what he did not particularly like about Plasma and it was, “more than one trust model, node protocol, lack of atomicity across chains, it make consensus liveness failure into its safety failures, it incentivizes those failures.” Some of those could be benefits, some are probably valid but need more explanation.

More detail of the criticism is on the Ethereum Sharding FAQ [7]:

In the event of a large attack on Plasma subchains, all users of the Plasma subchains would need to withdraw back to the root chain. If Plasma has O(N) users, then this will require O(N) transactions, and so O(N / C) time to process all of the withdrawals. If withdrawal delays are fixed to some D (ie. the naive implementation), then as soon as N > C * D, there will not be enough space in the blockchain to process all withdrawals in time, and so the system will be insecure; in this mode, Plasma should be viewed as increasing scalability only by a (possibly large) constant factor. If withdrawal delays are flexible, so they automatically extend if there are many withdrawals being made, then this means that as N increases further and further, the amount of time that an attacker can force everyone’s funds to get locked up increases, and so the level of “security” of the system decreases further and further in a certain sense, as extended denial of access can be viewed as a security failure, albeit one milder than total loss of access. However, this is a different direction of tradeoff from other solutions, and arguably a much milder tradeoff, hence why Plasma subchains are nevertheless a large improvement on the status quo.

I still feel like it’s a solvable issue. For instance, a teensie bit of KYC (Know Your Customer) for participating on any Plasma Chain that has a serious implication could mitigate this issue handily. Either way, it’s good to hear voices of the skeptics and critics and understand that there’s still a possibility of a better way. Right now, though, Plasma still seems like something that will significantly improve the situation for at least the next five years.

House of Glass

So here we are, staring at this potentially amazing whitepaper that really lays out a solid, actionable solution for creating dapp architectures on a scale never yet seen. It will allow new software development paradigms and data systems. It creates new business models and opportunities. It has new ways of performing complex tasks previously relegated to mainframe systems or render farms. It’s here. To read. And people are still trying to wrap their heads around it in a lot of ways.

At this point, I must make a call to action.

Young developers with free time and boundless curiosity.

Businesses with R&D funds to spend.

Graduate students looking for research projects.

Grey hairs with hammocks and in need of a pet project.

You know what to do, guys. If you can, roll up your sleeves: https://gitter.im/ethereum/home