Today is the day you’ve all been waiting for!
What on earth is the Dragon Protocol? Why is it called the Dragon? What makes it a protocol?
These are the questions I aim to answer today!
But first, make sure you’re subscribed to our blog so you never miss an update!
Before we dive in, I want to paint a picture of the problem the Dragon Protocol solves.
Spatium Stories is a platform and marketplace that helps solve problems for 2 types of people:
Readers: As a reader, you can buy and read NFT books. We are a place to buy fully owned digital books for the first time ever. Digital books the way they should have been done the first time around when e-books were first introduced. No more licenses, no more fear that Amazon may take your books away, and no more being locked into one singular app. You own your digital book!
Authors: We are also a platform for authors to publish their own hard work in the form of an NFT book, allowing them full control, royalties on used book sales, direct access to more data than they could ever dream of, and so much more!
That’s all well and good, but a very important problem needed to be solved somewhere in there. Do you know what it is?
What is the difference between a profile picture NFT and a book NFT??
Remember all the people hating on the profile picture NFT’s saying “right click and save”?
The issue these people were bringing up is that since the actual image for the profile picture is stored on-chain, it is public and anyone in the world can download it.
Now, sometimes, the actual image file is stored on something like Google Drive, but by now most people recognize that as bad practice and store the image file on an immutable blockchain like Arweave.
Well, if we transition to the idea of books, we have the same issue. If the actual book file is stored on Arweave, then technically it is public for anyone in the world to download and distribute.
Authors don’t want that.
They don’t want the book they spent a year working on to be distributed for free. I’ll go one step further and say authors don’t deserve that.
So why is it ok with a profile picture, but not for a book? Well, with a profile picture, you don’t care that anyone in the world can see it. In fact, you want everyone to see it!
But only you can prove ownership of it. That’s where the value comes in: ownership.
Books are not really the same. For books the value is not in proving your ownership, the value is in the actual pages of the book.
In other words, the value is being able to read the author’s intellectual property.
Starting to see the problem here?
When an author publishes a book, they want their intellectual property to be safe. If anyone in the world can read their work without paying, then that degrades the author’s reputation, compensation, and ultimately hurts the entire industry.
That’s why those people are generally called: pirates.
So the golden ticket question is: can we have our cake and eat it too?
Can we protect our author’s intellectual property AND store all the books and data fully on-chain?
Our answer is YES!
We believe we have figured out a novel way to do this and it is all fully on-chain.
The Dragon Protocol
I’ll give you the technical details of what’s happening at a high level, and then we can discuss some of the pros and cons of our solution. Finally, I’ll leave you with ways we could improve on this over time.
The Dragon Protocol flow:
An author publishes a book using Spatium Stories
We generate 2 random encryption keys
One key encrypts the book file and uploads it to Arweave
The other key takes the Arweave URL and encrypts that too
We take the necessary nonce, tags, and encrypted Arweave URL, and attach them to the book NFT immutably
We then send a secure private message on the DeSo blockchain from the DragonProtocol account to the author and put the encryption keys in that message (thus encrypting the encryption keys so only DragonProtocol and the Author have access).
When an owner of the book requests to read the book, after verifying ownership, we ask the DragonProtocol to sift through their messages with that author and find the book with the appropriate book ID. Then we can receive the keys to decrypt the book so the owner can read it.
Got it?
Cool!
If not, let’s break down some of the important pieces.
Books Stored on Arweave
First, the book file is stored fully on-chain using Arweave. This is important for decentralization.
But notice, this is an encrypted book file.
The only way to retrieve that file is to sift through the Arweave blockchain and try to find the file. This is a challenge on its own.
However, then you’d only have an encrypted book file. The only way to read the book or illegally distribute it would be with the encryption key. Thus, we believe that proves IP protection for our authors.
The Arweave URL is Encrypted
The Arweave URL is also encrypted with a different key. This just adds an extra layer of protection and ensures we don’t use the same keys for everything.
Everything is Stored On-Chain
The necessary components to decrypt the URL and the book file are the nonce, tag, and encryption key.
Of those 3, only the encryption key needs to remain private. But we need the nonce and tag to do the decryption.
Thus we store those data fields with the NFT where they can never be removed from the NFT, and are thus stored on-chain forever too.
Even the Encryption Keys are Securely Stored On-Chain
Finally, the encryption keys. Where do we store them so they are secure and on-chain?
Luckily, the Deso blockchain is one of the only blockchains that has a built-in private message system.
This means we can encrypt these keys using their message encryption protocol, and then store them in a private message such that only the DragonProtocol and the author can read them.
What we’ve done here is made a system where the author is in full control of their encryption keys and thus their IP.
The author is simply allowing the DragonProtocol and Spatium Stories to have brief access to those keys so that their readers can read their books. At no point will a reader have direct access to the book file.
Why the “Dragon” and why is it a “protocol”?
This is a very simple and short answer.
I asked my wife what it should be called, and after some discussion we liked Dragon.
Spatium Stories is a book marketplace, after all, so naming it after a legendary fantasy creature seemed appropriate.
And in almost every fantasy story in the world: The Hobbit, Shrek, Harry Potter, etc, dragons are used to protect something.
Whether it’s gold, a princess, or a golden egg, dragons are always depicted as massive scary beasts that strike fear in anyone who dares to steal their treasure.
It was perfect!
Although, in our story, there is no mighty hero to infiltrate this Dragon :)
But I felt like “The Dragon” was missing something. How about a fun buzzword like “Protocol?”
This made it sound professional and techy. Thus “The Dragon Protocol” was born and it hit all the buckets of fantasy, technical, and professional.
Pros and Cons of the Dragon Protocol
Here is the deal, we believe that the Dragon Protocol is a huge pro. We believe it is an ideal solution to securely store books fully on-chain in a way that protects an author’s IP.
However, there might be some complaints here.
For readers, if they own the book, they technically still have to rely on Spatium Stories to be able to read their book.
As such, the argument could be made that even though we are 100% on-chain, we may not be 100% decentralized with this solution.
I would argue that this is a fair tradeoff because 100% decentralization requires that an author’s IP isn’t protected anymore. That everything is public.
However, we can see how this could cause angst in the community.
As such, we plan to allow authors to make the choice. It is their work and their IP after all. They deserve the choice.
If they want it to be 100% decentralized and open, then that’s ok. We will honor that decision and allow them to turn the Dragon Protocol off when publishing their work. Just note, that anytime a book is published/minted, that is irreversible. Choose wisely.
Future Plans
Above I made a claim that 100% decentralization requires an author’s IP to be unprotected.
Though that is true for now, I think in the future that may not be the case.
We hope to extend Spatium Stories to other chains like Solana and Polygon eventually (maybe this year). By doing so, we believe we can tap into even more blockchain innovations.
We believe that as blockchain technology continues to improve, there might be a day when we can implement the Dragon Protocol without the DragonProtocol account.
We believe that, in theory, technological improvements in the area of zero-knowledge proofs for smart contracts could unlock this for us.
Polygon is beginning to experiment in this area, but for now, it’s to increase speed and decrease cost. But perhaps eventually they will build this kind of technology into their smart contracts too.
At that time, perhaps we can achieve this fully 100% decentralization.
But until then, we believe that being 99% decentralized and 100% on-chain will suffice.
We aim to always improve as technology allows us, but our number 1 goal will always be the author, and protecting their IP is of the utmost importance to us.
Feel free to ask us any and all questions by commenting below, emailing us at spatium.nfts@gmail.com, messaging us on Deso @Spatium, or coming to one of our weekly Coffee Chats on Vibehut!