Before I
commence this narrative, I would like to call out a disclaimer that am in no way promoting BigchainDB J, but am a huge fan of their “institution of thought”,
their product, their Blockchain protocol and this whole new concept they are
trying to mainstream soon that will bring Economic Prosperity via “Attribution
Driven consensus, loyalty to Digitization”
Image courtesy: not me this time :), but https://www.bigchaindb.com/
Image courtesy: not me this time :), but https://www.bigchaindb.com/
Problem Statement
Often developers try to fit attribution and complex data structures on a 1 MB block which really disrupts the queue for an important transaction that's queued in the Blockchain. Overloading the Bitcoin Blockchain makes it a stronger case for the hardfork and strengthens the 2MB debate.
It gets overly complex when
data and other attributes are loaded onto it when use-cases other than P2P payments are modeled on the Bitcoin
network, it is “overkill”.
Thus it's very important to use the right platform for the right function. But how?
How can we make
this simple to understand?
Just like how a traditional ERP system works, where there is a application layer and a database and now a cloud, a stack based approach for smart contract execution will help draw parallels the way we understand it today.
- Write the contract in its
permissible platform Ex Ethereum, Hyperledger or R3 corda etc.
- Verify and query the
attribution and transaction via a distributed decentralized database ex
BigchainDB to trigger the smart contract for settlement
- Pay via the native token of the
smart contract platform or via the Bitcoin
payment network
In short choking
the platform that's meant for something else isn't best practice.
That is what I learnt from Bruce Pons
interview Podcast with Frederick Munawa on Blockchain global. reiterating this aspect several times.
see the podacast here: The World’s First Scalable
Blockchain Database – with Bruce Pon http://blockchain.libsyn.com/006-the-worlds-first-scalable-blockchain-database-with-bruce-pon
Continuing on
the choke aspect of the platforms.
Why not
Ethereum for attribution?
Ethereum’s main purpose is to
maintain all logic in a Turing complete way, smart contracts are not meant to
hold assets, hold data or hold IP relevant attribution for master/transactional
data that’s growing organically with transactions hitting the floor every
second.
using...also when we are
talking block processing times/block consensus in fewer minutes or seconds v/s 10
minutes. The designer should look at embracing the concept of a Decentralized
Distributed Stack.
What is a Decentralized
Distributed Stack?
Terms like IPDB, IPFS become very
interesting when Bruce Pon(BigchainDB) breaks it down and explains how the
whole decentralized distributed database will free up Blockchain and let them
preserve the nativity of what's meant for that platform. Read BigchainDB
whitepaper here https://www.bigchaindb.com/whitepaper/
The underlying database for BigchainDB is MongoDB and it works
seamlessly platform agnostic and is scalable and secure. Quoting from BigchainDB
Whitepaper about Permissioned nodes “The way that BigchainDB is designed, permissioning sits at a
layer above the core of the design. However, we have already seen many
questions about \private vs. public" versions of BigchainDB, privacy, and
authentication. In our view, a rich permissioning framework is the
technology foundation.”
The stack
looks something like this
Ethereum:
processing
Bitcoin: for
payment
BigchainDB:
for attribute querying and file system and attribution maintenance (Ex
digital asset, its attributes, its license)
File System: IPFS/IPDB (all embed into a decentralized distributed DB like the BigchainDB)
File System: IPFS/IPDB (all embed into a decentralized distributed DB like the BigchainDB)
Decentralized
distributed Database(Economy of prosperity)
Why is it so
Important to License and Blockchain a Digital Asset?
When
work is digitized on the internet it can lose attribution or claim, however its
the quickest mode for marketing of the asset that moderates itself.
The attribution of the
Digitized asset must never go away, perpetually, there has to be a way to reward
the contributor (Napster issue), until the end of life of the asset.
Likewise Ethereum is for smart
contracts and if you load data, attribution and other facets onto it, it loses
its advantage towards the developer community that's trying to make that
platform work for
Something
niche.
Hence there
has to be a Decentralized Stack and a Distributed Database that can hold all
the attribution and make it available to the payment and the smart contact
stack when executing a use case end to end.
De-coding a Distributed Decentralized database (I’m a huge fan of BigchainDB, so my narrative is wrt. BigchainDB)
Understanding the stack differentiation of the music industry use-case using BigchainDB for trust in attribution
Peter Harris at resonate and a
host of other music industry Blockchain revolutionists are trying to model the
whole concept of trust, empathy and remunerating every artist via a well-designed
smart contract of a music digital asset
with a blockchain concept. Stream to Own, is resonates Blockchain
protocol that is deemed to use BigchainDB for asset attribution and smart
contact trigger.
See the
podcast with Peter Harris on Frederick’s show here Blockchain Music Co-op
Challenges Spotify – featuring Peter Harris
http://blockchain.libsyn.com/004-blockchain-music-co-op-challenges-spotify-featuring-peter-harris
What
are some of the nuances of the Decentralized distributed database (BigchainDB)...
· Native Support for Multiassets: With no native currency on BigchainDB, any asset,
token or currency can be issued.
·
Petabytes
Capacity Coming soon: Store
arbitrary asset and transaction metadata right in BigchainDB, not elsewhere.
·
Public or
Private: Roll out your
own public or private networks for specific industry use cases.
·
Federation
Consensus Model: Decentralized
control via a federation of voting nodes makes for a super-peer P2P network.
·
Customizable: Design your own private network with custom
assets, transactions, permissions and transparency.
·
Rich
Permissioning: Set
permissions at transaction level to ensure a clear separation of duties and
enforce selective access.
·
Open Source: Open sourced to the community so that everyone
can use it and build their own applications on top of it.
·
Query: Leverage efficient big data query capabilities
out of the box.
·
Linear Scaling
Coming soon: The more
nodes added, the higher the throughput and the higher the storage capacity.
Necessity is
the mother of all invention
Consensus: the constraint of limited
data you can store on the block led to the fact that there has to be a
different system that can hold attribution, transactional data, hence a IPDB.
How
trusted the data should be ?
Claim for IP has to be on the
decentralized database...period :)
What is IPFS
It stores your data in multiple
locations and cannot be stored without the access code.
No access to data but computers
will replicate it to another computer that is on.
Interplanetary
Database
Global network of participants
that secure the network and provide consensus (similar to minters on the
Bitcoin Blockchain)
Scalable DB
handling millions of transactions has to have limited Humber of nodes
In
simple terms how does the BigchainDB work end to end?
·
Interplanetary linked data : IPLD
·
Ethereum contract will have an address IPFS files will have a
unique identifier
·
Ethereum address identifies it Pulls it into smart contract and
executes it
Bruce also gives a very critical example on the
podcast on how one heavy transaction can impede another critical transaction
Bruce trying to sell memes &
50k users want to buy memes for 2c a piece
His flimsy low $ low yield potential transaction should
not block a transaction that is meant to go thru Bitcoin peer to peer (ex a 19
min dollar payment for sheet metal on the Bitcoin Blockchain that someone is
trying to pay a seller in another country)
Conclusion:
“Stop building Use cases on Bitcoin
Blockchain”
·
Get files to
IPFS
·
Get data to BlockchainDB
(IPDB)
·
Trigger the
smart contract from Ethereum or any other complex smart contract platform.
·
“Get Paid”
instantly via Bitcoin…
….wait not “instantly” that’s 10 minutes J
….wait not “instantly” that’s 10 minutes J







