Used to check for browser translation.
用于检测浏览器翻译。
ブラウザの翻訳を検出する

Updated architecture of ArcBlock and reviewing how it evolves

Robert
Dec 31, 2023 · edited
B
Blogs
cover

Author: Robert Mao, Founder of ArcBlock.


When we review our progress in 2023, we presented the overall architecture diagram of our updated version. This is the result of our evolution and iteration based on the development of the past few years. In this article, I will explain our latest architecture diagram and review how we have evolved step by step.

Full Architecture#

This is the panoramic view of our updated architecture diagram:

Image

We have divided the entire system into four layers, with some slight adjustments compared to the previous division:

  • Application Layer
  • Service Provision Layer
  • Infrastructure Layer
    • Compute
    • Storage
    • Blockchain
  • Identity Layer

And most of our foundational components are already in a fully operational state for production services. In recent times, much of the new work has been focused on applications and service provision. Just because we have entered a production service state does not mean that there is nothing left to do, we still need to continuously upgrade and improve. This mainly includes improving performance, ensuring stability, enhancing security, and making appropriate adjustments based on market and technological advancements.

How does our architecture evolve?#

Architecture is one of the most important components of a software system. It defines the overall structure and organization of the system. A good architecture can improve the system's maintainability, scalability, and reusability, while also reducing complexity and risk. Therefore, in the software development process, designing and implementing architecture in a rational manner is crucial.


Although architecture diagrams often look very abstract and simple, forming these architecture diagrams requires a lot of thinking, as well as more practice and iteration. As a team with a strong engineering background, every architecture of ArcBlock is explored and summarized in practice, which means we often develop and try a part of a proposed solution before gradually finalizing these designs. Therefore, when each version of architecture diagram is created, the engineering work is often already more than halfway done, even exceeding 80% completion. Achieving this requires a gradual evolution process.


If there is anything that has been fortunate for ArcBlock in its development process, it is that our architecture has not needed to undergo significant changes in the past few years. However, our architecture has quietly evolved. Now let's take a look back at the complete evolution process of our architecture since its development.


2017 #

This is ArcBlock's first complete architecture design diagram in 2017. It was finalized in October of that year. Since then, the overall architecture of the ArcBlock platform has continued to this day. As you can see, several key concepts, such as Blocklet and Open Chain Access, have already appeared in this design.


Image


Interesting points: At that time, the name I gave to the ArcBlock platform was LODE (Lightweight Objects Decentralization Engine). This is a word that I personally like a lot. Another word I like is EZcomm (short for Easy Communication). Interestingly, these names and their concepts have been running through my career for many years in all my startups.


2018 #

This is the widely circulated ArcBlock architecture design diagram, slightly improved in January 2018:


Image


There is basically no difference between this picture and the original version, except for some minor improvements in terminology. In 2018, we first implemented the basic OCAP and made adjustments to support Ethereum and Hyperledger in the architecture, as well as supporting Bitcoin and Ethereum.

In addition, you may notice that we have changed the Ethereum icon from the previous Ethereum to the Enterprise Ethereum Alliance. In this year, we have also joined the Ethereum Enterprise Alliance and Hyperledger Foundation (as well as the Linux Foundation) as members. This is because our planned target customer groups at that time were blockchain enterprises and government users.

At the end of 2018, we launched OCAP services supporting Bitcoin and Ethereum. We immediately gained some commercial clients. As planned, we adopted the ERC20 version of ABT on Ethereum for customers to pay for the services. It was a crucial symbolic moment, but these practical services also made us aware of several practical problems.

  • When paying with Ethereum's ERC20 ABT, the performance, availability, and speed, as well as the user experience, are all very poor. Due to unclear compliance issues with digital currency, enterprise and government customers may have many obstacles in practice despite their willingness to use ArcBlock products.
  • We need a decentralized identity system to make the system coherent. When we initially designed ArcBlock, we were aware of this issue, but there were no clear standards to follow in this field. Therefore, the compromise we made at that time was to allow customers to use their own identity systems. As the service is launched and customers appear, the need for a decentralized identity becomes increasingly evident.


2019 #

The biggest improvement we made this year was the introduction of Decentralized Identity (DID), which may be the most important upgrade in the evolution of our entire architecture. This year, after evaluating multiple decentralized identity solutions such as Web ID, we joined the early stage of W3C CCG and Decentralized Identity Foundation (DIF), with W3C DID being part of our roadmap.


arcblock DID overview

In this year, our significant and far-reaching advancements include:

  • Designed and implemented DID:ABT Method
  • Developed and released the first crypto wallet supporting DID, ABT Wallet (rebrand as DID Wallet in 2022)
  • Released the first version of DID Connect, enabling the use of DID/VC for application authentication


2020#

In 2020, the Covid-19 pandemic began, and the blockchain industry reached almost its lowest point after two years of sustained downturn. Not only did we lose several major clients we had been following up with for the past two years (including Shouqi Gofun, SAIC, Huatai Securities, etc.), but we also experienced the departure of our technical team, including our VP Engineering. This is the biggest crisis and challenge we have faced since our establishment.

But we have also achieved the most important results this year. Based on the reestablishment of our team, we have continued to return to the architecture originally designed. After considering the depression in the long-term blockchain industry, unclear compliance, and the unknown impact brought by the widespread virus outbreak, we have determined to focus on the developer ecosystem and the consumer market of Web3. We first spent all our team to concentrate on implementing something that was most distinctive but had always been overlooked: the Blocklet framework and the ABT Node that supports it (Note: ABT Node was later rebrand Blocklet Server).

By 2020, with the launch and successful operation of ABT Node, we finally achieved the first complete implementation of the system that we had planned back in 2017. This milestone is equivalent to reaching the pinnacle of a skyscraper.

We have been using this architectural diagram for website updates from 2020 to 2023. The architecture of this diagram is actually no different from the previous structure. However, we have included Decentralized Identity (DID) and Verifiable Credentials (VC) and placed them alongside the Open Chain Access Protocol.


Image


2020 is a very difficult year, but also a year of courage, determination, and hard work. In this year, we sunset a batch of products and services:

  • We replaced the initial version of OCAP service designed based on AWS service Indexing architecture with OCAP components based on Blocklet.
  • Token Flow, TAO (Token Accounting Officer), which were based on the first-generation OCAP and catered to the needs of enterprises and governments, have been discontinued;
  • Forge Framework and SDK, based on Tendermint, were later replaced completely by Blocklet Framework.
  • Token Swap V1 service, which will be replaced by the later Arc Bridge service;
  • In terms of technology architecture, we have also transitioned from the previous Erlang/Elixir technology stack to a unified direction mainly focused on Javascript/Typescript and Node.js;

But in this year, we have also made significant progress on the ABT Node:

  • The launch of ABT Node and Blocklet framework
  • Reconstructed our blockchain services under the Blocklet framework
  • Restructured OCAP on the basis of the Blocklet framework
  • Held our first developer conference and launched our NFT product based on DID/VC, used for DevCon tickets and badges
  • Published two blockchain books, establishing our foundation and position in the blockchain industry


2021#

We all know that topping out a skyscraper does not mean the completion of its construction, and the same goes for a software platform. Since our system has been fully operational since 2020, our main focus has shifted to continuously enriching and improving this architecture.


This image was announced at our 2021 DecCon. It appears to be a very simple four-layer structure:


These four layers are:

  • Application
  • Infrastructure: Blocklets and components, services
  • Blockchain and storage
  • Identity

These layered designs have been finalized. Our latest architecture diagram from 2023 just reorganizes the classification in a more rational way: it categorizes computation (Blocklet), storage, and blockchain together, while categorizing components and services separately.


ArcBlock Platform Highlevel Overview

One of our most important improvements this year is the introduction of the concept of the Blocklet Launcher. The introduction of the Blocklet Launcher is the first time that starting the ABT Node and running Blocklets has become fully automated and consumer-friendly. This is the foundation that allows dApps to truly reach millions of households.


2022#

The most important improvement in our architecture in 2022 is:

  • We have implemented our own decentralized storage solution DID:Spaces.
  • We have achieved serverless service deployment on the Blocklet Server.


In 2022, we have also simplified some concepts and rebranded the company:

  • ABT Wallet has been rebranded DID Wallet
  • ABT Node has been rebranded Blocklet Server


During this year, many of our efforts are starting to show results:

  • W3C DID became a standard in July - W3C Recommendation, which means our years of efforts and deep cultivation in the technical direction of DID have gained more consensus
  • ArcBlock appeared as a partner and customer on Amazon's conferences, events, and website.
  • ABT is listed on Coinbase, the largest compliant exchange in the United States. This lays the foundation for ArcBlock to provide services to more users.


We can see that in this year, there is no need for us to update our architecture diagram, because all we need to do is to improve upon this matured foundation.


2023#

The most important improvement in our architecture in 2023 is the introduction of AI Kit, which supports Large Language Models (LLM) and AIGC. Due to ArcBlock's excellent architecture, support for large language models, AIGC, and more is just standard Blocklet development, and using our architecture can immediately integrate AI, Web3, user privacy, and other issues perfectly. The inclusion of AI support not only empowers our ecosystem, but also validates the rationality and foresight of our architecture.


At the end of 2023, I further refined our architecture and drew the updated version as shown below:


Image


This architecture shares many similarities with the architecture diagram we drew in 2017. The biggest difference is that in our 2017 diagram, many Blocks were only in the 'planning' state, whereas now these Blocks are almost all 'In Production'.



2.0.175