Episode One: Introducing BBA, Blockchain Bean Assets
Simple yet powerful blockchain asset standard proposal
This series aims to introduce the concept of Blockchain Bean Asset (BBA).[Who we are: as an indie blockchain video game developer, we released “Beyond the Void” on Steam. It’s a PC game which uses its own cryptocurrency Nexium. Gamers can buy and trade their digital assets on Nexarium platform and its built-in wallet. We make video games in the blockchain space, we’re currently working on our project Light Trail, an arcade PvP game for PC & consoles which will leverage NFTs and UGC on the ethereum chain]
Having been in the blockchain space since late 2016, our mission is broader than making games. We strongly believe we should also do our part for the community and be of service, advocating and working on solutions hopefully benefiting the community.
We are decentralization maximalists and we thought a way of improving the links between blockchains and other technologies (blockchain agnostic). Our research is open source and we welcome any comments!
Let’s take a tour of the problem we want to solve.
Here’s the basic structure of the proposal, it’s a very straightforward and an easy-to-implement solution resulting in powerful results.
Is The True Ownership Possible?
In the blockchain gaming space, we are advocates of the “true ownership”, meaning users have absolute control over their assets. At the moment, the video game industry rather offers a “lease” of the assets to the players.
ERC contracts being immutable on the blockchain, developers/publishers issuing the assets can’t supposedly break them with an update of some sort.
However, in most implementations, the asset is only partially stored on the blockchain. Sure, users have a contract proving ownership. It means the image corresponding to that asset is usually stored in a centralized server, and queried each time the owner calls on it.
We can’t really say users are in control of their assets if its value can be brought close to nothing because the company who issued them, say, shuts down, leaving users with no means of retrieving the images (even if the contract managing the asset ownership is still available on the chain). So who needs a bit of code without its corresponding image?
One Step Further To True Ownership
Firstly, putting every metadata on the blockchain would be extremely costly.
Using the ERC 721 metadata field, to put a URI pointing to an IPFS folder (or any other decentralized storage solution) containing all the relevant metadata would be one way of doing it. However, this solution isn’t flexible enough as it’s tied to a specific technology.
We believe we might have something much better, here’s the solution we’ve been working on.
We are suggesting a standard for a container representing any blockchain asset: Blockchain Bean assets.
The main characteristics of BBAs are:
- Blockchain agnostic (though, some functionalities could need specific blockchain features like smart contract support)
- Storage agnostic (Local, IPFS, centralized server…)
- The content is hashed and signed by the asset creator, creating one sealed tamper-proof file. This signature can be used to control what asset to load. We may only want assets coming from a trusted source and avoid unwanted or illegal content.
BBA Standard Offers Many Possibilities. We could, of course, download the asset from a centralized server. But the benefit of our solution is for sharing assets in a decentralized way.
Sharing Assets Without Intermediaries
It means Improving the scalability of data sharing. Like IPFS, every node can choose what content they keep and distribute to the network. In this case, the application is free to use the most suitable peer to peer protocol for its use case. For example, we could use WebTorrent, BitTorrent, or an in-house transfer protocol.
Improving Interoperability
Once the file format is standardized, we can interface blockchain assets and other technologies much more efficiently. Some useful libraries are:
- An asset viewer to create a library of all assets related to a specific application so that users can choose what to download,
- An asset signer/verifier to ensure security, as well as Certificate Authorities to enable trusted chains.
- Peer discovery (similar to IPFS) to share data between users. As it would be handled by the application, the network would contain nodes with very similar asset lists, so latency would be improved.
Conclusion
Current blockchain standards for assets are useful for content ownership management. What is lacking is content sharing management.
We would love to get community feedback about this concept! How would you use this standard in your project? Do you have any use case you think should be taken into account?
By all means, get in touch and let’s keep the conversation going. Our blockchain team will be attending ETHCC in Paris, March 5–6 2019. Feel free to join us and talk!
Follow us and don’t miss our next article with more details on the standardized content of the BBA and new use cases.