Author： Tyr Chen (VP of Engineering, ArcBlock)
Editor： Lily Wang, Matt McKinney
On Tuesday night, ArcBlock gave a lecture about our newly launched blockchain application framework called Forge. The video and learning session can be found at ArcBlock Learning Page. During the first half of this lecture, we briefly reviewed blockchain technology and identified that the industry and how blockchains are being created is at a crossroads.
Over the past decade we have seen Bitcoin, Ethereum and its successors show us the unique charm and potential a new type of data that is open, verifiable and cannot be easily tampered with. During that time, we have seen a range of blockchains and services including the introduction of public chains, consortiums, side chains, cross chains and so on.
The problem is that many of these new blockchains aren’t good, or really even usable, and the ones that are like Bitcoin and Ethereum are limited by their own design. For blockchains like Ethereum and Bitcoin to be possible, developers and users have to learn specialized programming languages, are stuck with many types of scaling limitations and in reality are not given the freedom to design their applications and blockchains around their specific use cases, but rather their apps are built around the requirements of the public chains. On the good side, these public chains have good security and ensure compliance around for their specific governance requirements. However, because of these self-imposed limitations, they destroy the user experience including usability, speed and interoperability.
At ArcBlock, we believe that in order for an application to succeed, or a developer platform to be useful, it needs to be useful. And not just useful, but deliver a delightful experience that helps developers and users solve real problems.
Developers can release build amazing apps and services if they use the right tools and have the ability to “create.” Let’s go back and time and for those older than 35 you remember that before the Phone, mobile apps ran on S60 or Windows Mobile. As another comparison, before Ruby on Rails got popular, web development was fractured, basically unusable and didn’t focus on an experience that leveraged technology to improve usability and experiences on both the front-end and back-end. For the iPhone, it wasn’t just hardware that made it popular but in fact was the software and developer tools made available that made building apps on the iPhone possible. Up until today, blockchain had been missing something critical in the overall experience.
So we need to solve the missing part in this flow:
By solving the missing part of the flow we will be able to create apps and products that users are excited about. If developers, and builders are not able to build these apps then blockchain will never hit its full potential and achieve mainstream recognition.
In the graphic below, you can clearly see the “chasm” between early adopters and the early majority. So, what is the next logical step for blockchain? How do we enable developers to build “delightful” applications and how do we create amazing user experience with blockchain?
We believe that this gap between mainstream users and blockchain technologies is a historic opportunity for Forge Framework, our newly launched blockchain application framework.
We believe that Forge will:
provide a set of tools from building blockchains and decentralized applications in a few simple steps,
allow users have their own controllable Decentralized ID (we fully support W3C compliant DID protocol),
each DAPP has its own application blockchain,
transaction protocol has the final say in the chain,
the application chain can "automatically" update the software of the node or update a transaction agreement after the stakeholders reach a consensus,
the application chain runs like a decentralized application server, supporting applications running on the chain,
developers can easily develop DAPP just like developing a web app,
end users don’t even realize that they are using blockchains.
To demonstrate the power of our Forge Framework and Forge SDK, we have an actual example in this lecture:
For the first demo, we’ve launched a blockchain called Sisyphus that is usable in a production environment, During the lecture weI showed you how to publish a node with five validators including three Sentinel Nodes with Block Browser and GraphQL Playground all running on AWS spot instances that use ALB to load balance web traffic (mainly to provide block browser support,And the GraphQL API so that wallet APP can be easily accessed), as well as an application blockchain that automatically sets the domain name and enables HTTPS -- that's the real one-click-release-chain. Moreover, I can initialize a node locally, and with only one command, I can join the chain network without obstacles.
Now, for the second example we’ve added Sisyphus to the local node, we can use Elixir SDK (we will have corresponding lectures about other supported SDKs) to access the basic data on the chain, and then complete the wallet creation and transfer.
The third demo really transforms this chain into an application chain -- using dozens of lines of code to write a simple transaction protocol that generates certificates, we then deploy it to Sisyphus. .After loading, the Sisyphus chain supports certificate generation. In demo, I assume that I am the president of Clyden University (not a real colleage). I used Sisyphus to produce a doctoral degree from Clyden University, and then sold it to a fool named tyrchen for 10 TBA.
It’s that easy and by learning a few basic concepts anybody can immediately begin building their own blockchains.