Lovelace & What’s Next?

Bluzelle Telegram Live with Bluzelle CTO Neeraj Murarka

Bluzelle released Lovelace in end of June. On Friday, CTO Neeraj came to our Telegram Channel to give more details on the release and the technical roadmap.

Discussion Summary

Q: Too kick start, Neeraj can you introduce a bit more about Lovelace?

A: Lovelace is our first official release of the database to the public. It is a public single-swarm testnet that enables you to do CRUD operations with the decentralized database. It is open to any developers to use.

Q: What’s the next major step for Bluzelle after Lovelace?

A: We are already working hard on Bernoulli, which is the next major release slated for the end of 2018. It will include several improvements including the CRUD client and a trustless consensus protocol as well as support for various more platforms. The list is long. You can refer to our latest update: https://blog.bluzelle.com/bluzelle-lovelace-is-now-released-7517f0715133

Q: So Lovelace is now supporting NEO/Ethereum smart contracts. Can you share what are the major differences between these integrations? Any challenges you faced during development of these integrations?

A: These are both blockchains and as you might know, we support the ability to read and write data from these smart contracts with Bluzelle, so that Bluzelle is an off-chain mutable key value store. The differences are in the finer details — Ethereum uses Solidity and so we have to provide Solidity support, and with NEO, we have opted to first support C# (keep in mind NEO supports multiple languages).

The challenge was more with NEO because we did not have as many plugins and support from companies like Oracalize, so there was a greater effort to make it happen with NEO.

Q: Can you explain the process of how data is stored on the blockchain? (e.g. an Ethereum dApp vs a traditional non-blockchain application) What is the path taken and components involved from client machine to the Bluzelle database?

A: So a smart contract can store its data on Bluzelle and/or the blockchain. The ideal mix is upto the developer but they should try to store as much as possible (maybe all the data) to Bluzelle. There are various reasons for it including privacy laws, costs, efficiency, and interoperability.

When you do this from a smart contract, you send the data as a transaction that gets “heard” by a listener. That listener is an entity external to the blockchain that can see what is happening on it. That listener (in Ethereum’s case, Oracalize, a commercial service) sends the request to Bluzelle. So Oracalize acts like a bridge of sorts. Bluzelle processes the request and sends the answer back to Oracalize. Oracalize forms a transaction to respond (a callback) and sends it back to the original requesting smart contract, asynchronously.

Q: Any major partnerships for Bluzelle this year? Any corporates looking to implement Bluzelle swarms?

We have been working heavily with blockchains to provide the interoperability they need to talk to Bluzelle, like Zilliqa, WANChain, NEO, etc. We are also working with other infrastructure companies so that Bluzelle can provide the integral piece that is necessary for decentralized websites. I personally was a judge at Portal Networks’ hackathon in Seoul, South Korea, with whom we are working.

The partnerships we have with non-blockchains is going to be a bigger focus and something everyone should be super excited about. It means we tap into and bring access to Bluzelle to a much larger target market.

Q: When can we start staking Bluzelle and be a producer?

A: That is in tandem with us having the trustless decentralized consensus implemented by the end of the year (we will be testing this internally even sooner).

Q: What is the latest updates regarding the integration with Zilliqa?

A: Zilliqa is working hard on their platform and are in the process of working with us to build an integration with their smart contract platform to talk to Bluzelle similar to Ethereum and NEO.

Q: You will be looking to move away from RAFT consensus. Could you give more insights on this? Why?

RAFT is not trustless. It assumes and only can work if all the farmers (producers) are good actors. We need a consensus algorithm that will work with any arbitrary farmer, including the possibility of bad ones who try to cheat the system. This is how scalability is achieved — by making it possible for any arbitrary person to join the network.

Q: How good is the performance for Lovelace?

A: It is already quite good. We only have a small number of nodes being run but the latency is good and we have held demos all over the world that demonstrate the performance. It will improve dramatically as we bring in the trustless consensus, where producers joining the network reduce the distance between clients talking to Bluzelle and the closest node on the swarm to service it.

Q: Will latency increase if the swarm size increases?

A: The opposite! Bluzelle acts like a CDN.

What is a CDN? The nodes in a CDN are there to answer the same request. They all cache data requested by a client. The more nodes there are in a CDN, the better the coverage and therefore the closer nodes will statistically be to the clients. Imagine cellular phone towers. You want as many as possible to get a good signal. Same with nodes. More nodes means higher speeds. Less latency.

Q: How is the “closest” node determined?

Q: This is a bit of a complex answer — right now, we just use IP addresses and GEO IP to assess and determine the best node to respond to requests but this is a simplistic approach. Sometimes, the “best” node is not the closest and so other factors will also be coming into play along with the actual physical distance to the nodes being considered.

Q: How is Bluzelle different from Riak?

A: Lots of things in common. Riak is a distributed approach. Not decentralized. Now, consider Riak with the addition of trustless consensus and a crypto-economy. You now have a decentralized environment where anyone in the public is incentivized to join and provide nodes and resources. Scalability is possible on a level not possible with Riak.

Q: What’s the plan for going open source?

A: It is already open source. We use AGPLv3 for our daemon, for example. And our libraries use suitable licenses to ensure and encourage adoption by developers.

Q: I have seen your demo that Ethereum can retrieve the value at the Bluzelle database. Assuming that this is the same for NEO, does this mean it is possible to do cross chain smart contracts?

A: You can store data in Bluzelle and then access it from all your different blockchain smart contracts. This is an amazing interoperability that is possible thanks to Bluzelle supporting multiple blockchains, like you just mentioned.

Q: And does this enable Developers to use multiple chains in a sort of a load balancer way? Decentralized base protocols. If I have my app like CryptoKitties, and I don’t want it to be dependent on Ethereum due to their scaling issues, or NEO due to their consensus downtime, could I store the data in Bluzelle and allow people to retrieve it through NEO or Ethereum as they wish? That would essentially make Bluzelle sort of a scaling solution isn’t it?

A: Absolutely. One of the benefits of Bluzelle being a “common denominator” between blockchains and even off-chain software (like mobile apps, web apps, etc) is the data on it can be accessed from all these platforms alike, so you are not constrained to say Ethereum and its scaling issues. It is a result of interoperability that comes about because of Bluzelle support for all these different platforms!

Q: One question on the new data economy though. Why the personal interest in tackling this problem? Is there a story?

I have seen the Internet evolve with “free” services that hide away the fact that data is valuable and take away privacy and control people. I personally am a strong support of Liberty and freedom and the data economy pushes the base fact that data is a currency and people must treat their personal data as such.