Frequently Ask Questions (FAQ) - Akachain/AKC-Whitepaper GitHub Wiki

In the development of Akachain, we received a lot of interesting questions about the purpose of the project as well as the nature of the blockchain technology itself. While it is difficult to answer all the questions from everyone, there are interesting ones relating more to the decision making process of vendors when they consider adopting blockchain to their business. We think that those are among the most important aspects that one should consider before starting any project with blockchain in general or Akachain in particular. Here, we address some of those questions

Do I need a blockchain ?

Blockchain is truly an amazing technology. It is a technology harmony that incorporate many others such as cryptography, distributed system, consensus, etc. We have seen the use of blockchain in many application scenarios such as digital currency (original), supply chain management, financial services, autonomous organizations, etc. However, it is not a silver bullet that can solve all problems. Blockchain is often, in the media, overhyped so that some people tend to apply it to every possible domains. In truth, despite its contribution on guarantee trust, transparency or decentralization, blockchain technology is more likely to be expensive, over complicate or hard to scale in comparison several traditional approaches.

So how does one know whether his next multi million dollars idea using blockchain is legitimate ? It is almost next to impossible to answer correctly. There are too many factors involve and sometime it does not have anything related to the technology itself. However, as engineers and scholars, we want to guide our vendor customers towards sound and efficient solutions that actually use those good points of the blockchain technology. We suggest our customers to consult this excellent read on “Blockchain technology overview” by Yaga, Dylan et al. from NIST. The paper gave a quote on a flowchart that may guide reader towards developing a useful blockchain use case. We quote directly from the paper here those questions just for reference.

  1. Do you need a shared, consistent data store?
  2. Does more than one entity need to contribute data? (if no, is it an auditing use case)
  3. Data records, once written, are never updated or deleted?
  4. Sensitive identifiers WILL NOT be written to the data store?
  5. Are the entities with write access having a hard time deciding who should be in control of the data store?
  6. Do you want a tamper proof log of all writes to the data store?

What blockchain do I need ?

When one decides that he has a legitimate blockchain use case, naturally, the next question should be what type of blockchain he needs. Typically, there are two main variants:

  1. Permissionless Blockchain: or public blockchain are open an decentralized blockchain system. Any one can become a peer, join and contribute to the blockchain network. Bitcoin and Ethereum are the prime examples of those examples.
  2. Permissioned Blockchain: or private, consortium blockchain are systems that only available to authorized peers. The authorization can depend on a trusted centralize entity or just mutual agreement among participants. Example of this are Hyperledger Fabric, R3 Corda and to some extent, Akachain as well.

To further understand the different between those variants, we suggest our customer to have a read on this excellent paper from Wüst et al. The paper gives also gives a simple flowchart to effectively guide reader to choose appropriate blockchain types for their application. However, as we mentioned above, every use case is different and there is hardly any hard restriction on how to use the blockchain. One might find his blockchain application scenario do not fit into any of those flow chart at all. In the end, It is up to the innovation of the readers.

Do I need Akachain and is there any different between Akachain and other similar blockchain technologies ?

This is the question that we receive the most. Again, it is very difficult to say that there is a particular use case that absolutely need Akachain and no other blockchain. From the first two questions, we hope that readers succeed in determining the use of blockchain in their application scenario. Now, we can answer the big question by dividing it into 3 smaller parts.

Do you need a permissioned blockchain ?

Akachain is based on Hyperledger Fabric, it is a permissioned blockchain. Thus, it is straightforward to see that Akachain does not fit for other permissionless use cases such as developing “next generation” crypto currency that can shame Bitcoin or Ethereum. Our target systems are mostly B2B, providing trust, transparency among enterprises and vendors by connecting their systems using the blockchain.

Why do I need Akachain when I can just use Hyperledger Fabric ?

Indeed, Fabric is an excellent platform and without a doubt, the most reputable permissioned blockchain platform in the wild. However, Fabric is a blockchain framework, rather than a blockchain as a service solution (BaaS). When develop an application on the blockchain, we must consider at least 4 key components as in the figure below.

/img/process.png

The Hyperledger projects provides framework to implement or deploy smart contracts (2) and blockchain networks (1). For engineers or vendors who are not very familiar with blockchain or Fabric in particular, it is sometimes difficult for them to effectively design, develop and monitor the system. In Akachain, we provide the Akachain blockchain network and the pre-configured peer images that can be deployed on demand. Vendors can easily setup their own Akachain peer using those images either on premise or simply rent the peer pre-deployed on Akachain cloud service. Either way, we provide full support to setup the system. Secondly, we provide samples, best practice and code review on developing Hyperledger Chaincode (smart contract) that is compatible with Akachain network. Finally, we provide support on architecture design and best practices on developing backend and front end application that can guarantee trust, security and performance based on our development experience of other products using Akachain. In short, vendors can just concentrate on developing their business application without worrying managing the blockchain infrastructure or any compatibility issue.

Can I use other blockchain as a service systems such as Microsoft Azure Blockchain ? What is the difference that Akachain can provide ?

While we do not have much experience with Azure blockchain, we saw that they provide a cloud service for vendor to quickly implement and deploy applications that are compatible with a wide range of blockchain such as Ethereum, Corda or Hyperledger. By using those services together with technology consultant on developing Hyperledger applications, a vendor can develop their own blockchain network solution without relying on Akachain. However, this also mean that the solution cannot have the advantages that Akachain network provide, which is the possibility of cross domain interoperability with other vendor that use Akachain. An example is in this figure.

/img/crossdomain.png

Here, 2 separated Hyperledger Fabric private blockchain are both linked to the AKC Mainchain via our privacy preserving bridge protocol. Thus, it is possible for 2 private chain to potentially have cross chain or cross domain transaction in the future because all transactions from those chains are linked with the Mainchain and can be trusted. While currently we only use the Bridge protocol to do pay transaction fee for Private chain, it is our aim in the future to improve this protocol to support cross chain and cross domain transactions.