Just imagine: you update content on one of your Drupal websites and it gets automatically synchronized across your whole network! That's Drupal on Blockchain in just a few words...
Say you manage a national library's infrastructure of Drupal websites. One for each one of its local branches.
Now, here's how moving all the user data stored in there from your centralized database onto a decentralized blockchain system would benefit you:
- readers get to validate their own user data since there's no central entity having full (and exclusive) control over it
- once they've updated their user data on one of the library's websites, it'll get synchronized across the entire network
- the well-known vulnerability to errors of centralized multi-site structures gets eliminated; there's no longer a centralized database acting as a single point of failure
- the decentralized architecture speeds up any operation that gets performed across the network
- you'd avoid scenarios where the same reader enters his login credentials on one of the library's websites and gets asked to enter them, once again, when accessing the website of another library branch
And I would also add: increased transparency, lower transaction costs...
But I'd better dive into more details on how Blockchain and Drupal can work together and how you can benefit from the decentralized architecture that they'd put together:
1. Blockchain: What You Need to Know About Its Potential
But first, here's Blockchain in plain words:
A decentralized shared system where multiple participants store their data, interact directly with each other, manage and keep record of their transactions.
How is it different from the “old” way of managing transactions across a network?
- there's no more a centralized database for storing data and transactions; participants (nodes) store it among themselves
- … this grants them total control over their own data/created content
- users involved in a blockchain network get to interact with one another freely, with no need of a third-party as an intermediary
- it establishes a system of rule-based transactions
- each transaction — editing, deleting content, etc. — gets documented
- it enhances communication between nodes/participants
- transactions get carried out at higher speed and, implicitly, with fewer costs
- with no central entity as a unique storage source, there's no single source of failure anymore
- enhanced transparency
In short: blockchain enables you to set up a secure and immutable architecture for your network.
2. Blockchain and a New Content Distribution Model
“Transparency” is the keyword here. Decentralizing a content distribution platform would benefit both content creators and content consumers:
- digital publishers become the only ones allowed to update or delete their own content
- consumers pay producers directly for the content they consume (written content, songs, videos, etc.)
This way: content creators get full control over their own content — there's no platform owner who could remove it to his/her liking — and get paid fairly and in real-time, for each piece of content that gets “consumed”.
3. Drupal on Blockchain: Why, How, and With What Costs?
Why would you want to decentralize your CMS — in this case, Drupal — and store your data on Blockchain?
To answer your question, let me highlight just a few of the inconveniences of managing your content on a centralized Drupal database:
- each transaction is explicit and irreversible
- it poses a higher vulnerability to errors
- multiple-user functionality can turn out to be a serious dread
- the centralized database acts as a single point of failure: if something crashes in there, the whole system is at risk
- updating content in your database doesn't automatically update it across your entire network of Drupal websites...
And how would the 2 technologies work together? Considering the fundamental differences between them:
- Drupal uses a centralized architecture to manage content
- Blockchain uses a decentralized, middleman-free workflow based on a verification element
Before I try to answer your legitimate question, let me ask you this:
Do you seize any similarity between Drupal's “open data” phylosophy and Blockchain's “decentralized data” principle?
Now, here's how your hypothetical “Drupal on Blockchain” architecture would look like:
- it'd be a much more secure, decentralized structure (you'd remove the single point of failure, remember?)
- since a blockchain workflow would use an immutable validation of data, it'll act as a guarantee that no content can get modified by other than its creator/distributor
- user data/content would be easily accessible across the entire infrastructure (take the example of an enterprise-level business, running a multi-site Drupal network)
- … and it'd synchronize in real-time across all your Drupal instances, as well...
- transactions performed within this architecture would be rule-based: every single content update or removal will get documented
“But at what costs?” you might ask. What compromises would you need to make to run Drupal on Blockchain?
What challenges should you get prepared for?
Here are 2 potential “dares” to ponder upon:
- first of all, integrating your current Drupal data into a blockchain system won't be quite a “piece of cake”
- secondly, getting the consensus of all the participants (say users whose data would be easily accessible network-wide) is also a serious issue to consider
4. Drupal Development Efforts in this Direction: The Blockchain Module
This duo — Drupal and Blockchain — has generated quite a lot of talk these years. And quite a handful of promising initiatives and even prototypes have been presented (integrations with Etherium and bitcoin...)
Take it as a “scaffolding” to support your future “Drupal on Blockchain” architectures. It provides the functionality you need to:
- set up your Drupal installations as blockchain nodes; ”nodes” that are independent, meaning they can get configured independently
- ensure that your newly set up nodes are compatible with each other
This is the “why, how and at what costs” of this topic. One which has been on the lips (and on the Drupalcon slides) of members of the Drupal community for quite a while now.
What do you think?
Would such a decentralized Drupal on Blockchain architecture suit your own project's needs and constraints? Would you trade your central point of storage for the convenience of automated content synchronization?