banner
leaf

leaf

It is better to manage the army than to manage the people. And the enemy.
follow
substack
tg_channel

Meaning and Characteristics of DAC

From the development of Bitcoin, we can see that DACs have far more inherent advantages in a free competitive market than any traditional enterprise, institution, or individual. People find it much safer to transact and cooperate with DACs armed with three laws than with humans driven solely by greed. DACs composed of blockchain structures seem to possess an incredibly high moral and ethical standard, and you will find:

They are autonomous — once launched, they no longer need (or listen to) their creators.

They are distributed — there is no central control point or vulnerable weakness.

They are transparent — ledgers and business rules can be audited by everyone.

They are confidential — customer information is securely protected (and cannot be breached).

They are trustworthy — because cooperation with them does not rely on trust.

They are fiduciaries — solely loyal to the interests of customers and shareholders.

They are self-regulating — like robots, they adhere to their own rules.

They are incorruptible — no one can coerce or bribe them.

They are independent — in their digital environment, they do not need to be regulated.

In summary, this indicates:

DACs do not need regulation, do not attempt to regulate them, and reassuringly, cannot be regulated.

A DAC can be introduced to the world and spread to any place that allows it to provide services. If it adapts well to its environment, it will survive; otherwise, it will be terminated by the world. Its creators may enhance its survival chances to some extent through good maintenance and protection. However, the creator will ultimately sever ties with it, leaving it continuously exposed to the dangers of the real world.

DACs cannot override market laws. If a DAC does not provide reliable value to the market, it will be discarded and fade into oblivion due to neglect. If the social contracts it issues and the services it provides do not make it a satisfactory business partner in the market environment, it will inevitably wither.

Ultimately, a DAC's survival depends on the willingness of other DACs to cooperate with it voluntarily. Like humans, DACs will develop reputations. Core laws ensure that once a reputation is gained, it can be expected to persist. History is filled with stories of human organizations that began under noble moral banners like "We are the people" and "Not evil," only to succumb to corruption and decline due to irresistible coercion and bribery. An incorruptible DAC ethic may also start out flawed, but it will not be corrupted.

Like the previous industrial revolution and internet revolution, the DAC revolution will bring tremendous benefits to jurisdictions that impose the least restrictions. Potential regulators will be unable to stop a truly free market from using and developing it.

Why do we need DACs?

Because "centralization leads to corruption, and absolute centralization leads to absolute corruption." Ultimately, to achieve complete incorruptibility, developers must be willing to let DACs self-regulate. Retaining any form of centralized human control will ultimately be exploited to the detriment of DAC shareholders; DACs need to be trusted freely.

Bitcoin is currently the first proven successful DAC globally. Never before has a DAC attracted so much human and material participation worldwide as Bitcoin, which not only had a huge impact but also provided substantial returns to all participants.

The unprecedented impact of Bitcoin proves that a global DAC is a completely viable path. DACs will never be limited to currency or currency-related aspects; they can be applied in many areas of our virtual and real societies. We can foresee that in the near future, DACs may have a profound impact on the entire internet and even human society. Just over a decade ago, we were busy networking many business models; perhaps in the coming years, we will DAC-ify many business models.

Almost all business models in the internet can be DAC-ified, and here are a few simple examples.

From Namecoin to BitShares and other "secret entities," many of these characteristics have been acquired, although some of these entities may not yet fully realize it. The technology that can be completely honest and unaffected by emotions is valuable only when software can do something useful. If we implement it in the form of currency, we will invent better currencies. If we implement it in the form of a company, we can invent almost anything. A DAC is a company that can operate in many ways, as real as those composed of bricks and people.

It can raise funds by selling shares and paying dividends.

It can borrow against shares and pay interest.

It can profit by providing valuable services to customers.

It can obtain resources or services by giving shares to "people" (natural or artificial).

It can automate access to its products and services by opening internet APIs.

It can adjust business processes based on market feedback.

It can reward or punish the performance of other "people" fairly through share transfers.

Because a DAC provides loyal and valuable services, it generates real wealth that can be preserved and transferred in the form of its shares. However, it must also be understood that a self-sufficient DAC cannot accept, hold, or transfer physical goods or fiat currency without relying on external forces. An open-source DAC cannot keep secrets. It can securely hold encrypted data for others but cannot store a private key for itself. Therefore, a DAC cannot own its own encrypted wallet filled with blockchain assets.

Below are some imagined DACs that may emerge in the next decade. Naturally, in the realm of DACs, company names will end with DAC instead of LTD (Limited), as people will want to know if they are doing business with an absolutely honest company. Their commonality lies in leveraging the immense competitive advantage of DAC integrity.

Reputable Monikers, DAC — managing name rights.

Robo Courier, DAC — secure electronic express delivery.

TradeBitShares, DAC — automatically provided banking and brokerage services.

Unmanned Escrow, DAC — intermediary services that transfer ownership based on conditions.

Virtual Ventures, DAC — a "crowdsourced" venture capital company.

Autonomous Arbitrators, DAC — incorruptible arbitration services.

DAC Installers R Us, DAC — trusted consensus-based automatic updates for DACs.

Currently, the blockchain industry is roughly divided into three camps: Camp A is non-coin blockchains, Camp B is coin blockchains without ICOs, and Camp C is coin blockchains with ICOs, each with different viewpoints and beliefs. Camp A believes in "distributed ledger technology," represented by companies like BAT, insisting on applying this technology in industry; Camp B believes in "token economy," trusting in the incentive systems created by blockchain, where coins should be "mined" rather than used for fundraising, with Bitcoin being the largest representative; Camp C believes in "future ecological value," profiting through layers of token sales, earning money from future ecosystems.

Facts can be true or false, and viewpoints can be right or wrong. Today, as blockchain has not reached its conclusion, each viewpoint has its rationality and possibility. Personally, I currently lean towards Camp A, believing that non-coin blockchains may be the core of the future, using distributed ledger technology to solve more public affairs and industry problems, and issuing coins is not necessarily a prerequisite.

What is a pseudo-demand? Problems that can be solved without blockchain but are addressed with blockchain are pseudo-demands. For example, traceability technology. Traceability projects have three key points: 1) physical counterfeiting; 2) physical to label; 3) label to data.

Blockchain technology only addresses issues in the information world, while the shortcomings of the physical world remain unaddressed, so traceability technology still cannot be implemented.

The entrepreneurial direction of blockchain is to help existing industries provide technical tools. Blockchain serves as an external contractor, such as helping banks solve international remittance issues, assisting real estate transaction centers in resolving mutual distrust, etc., helping them improve efficiency rather than revolutionizing and eliminating them.

Blockchain entrepreneurs should at least understand these three things:

First, understand the technology and know the underlying principles of blockchain technology.

Second, understand finance and know the dialectical relationship between risk and convenience.

Third, understand business and know the essence of business and application scenarios.

The same applies to blockchain. When this new underlying technology emerges, people eagerly anticipate it. Media promotion, public opinion embellishment, and the advocacy of technocrats, combined with the cries of the masses, push it far beyond the actual value it can bear. Together, everyone sends blockchain onto the fast track of fervor, pushing it to the peak of bubble excitement.

There are many valuable technologies in the world; the era is not only about blockchain but also artificial intelligence, cloud computing, big data, new energy, and many other new technologies, all of which contain trillions of opportunities. We must always believe that we can keep pace with the rhythm of the times.

The past decade has illustrated two things:

First, blockchain is a tremendous opportunity of this era; a small tree planted by dedicated individuals will bloom into a cluster of beautiful flowers in the future.

Second, the era is fair; in the wave of technology, there are many surging waves, and blockchain is one of them, but blockchain is not the only one.

Roles of blockchain participants

In the article "How Does Blockchain Work," we constructed a model of centralized accounting that corresponds to the current central bank - commercial bank model; the operation of digital currency is usually based on community autonomy. Community autonomy refers to the joint decision-making of users, maintainers, and developers regarding the development of digital currency, which corresponds to the "consensus" we discussed in the previous article.

Let’s first look at digital currency, which typically has the following characteristics.

  1. Total transparency and openness. The issuance of digital currency is predetermined at the project's inception, as specified in the white paper, which is a declarative document publicly released by a blockchain project, briefly outlining the project's purpose, vision, and design blueprint. In the white paper, the total amount of digital currency issued by the project and how much investors, users, and miners can obtain are all pre-allocated. The total amount of digital currency can be divided into two types: one with a capped total and another without a cap.

  2. Slow release of digital currency. After allocating different roles' quotas, digital currency is often not issued all at once; typically, the portion for miners needs to be "mined," which is what we referred to earlier as mining, providing a method for the slow release of digital currency.

  3. Code execution rules. Since we predetermined the total amount and the mechanism for releasing digital currency in the white paper, the content of the white paper becomes the foundational consensus of the entire community. Therefore, once the project's mainnet is launched, the release of digital currency is no longer under human control but is reflected at the code level, where the code will be responsible for controlling the release of digital currency, eliminating human operational factors. Essentially, all public blockchain projects will possess the above characteristics, indicating that the relationship between digital currency and blockchain is very close. Additionally, in the blockchain field, the start of a project's operation is accompanied by the generation of a new digital currency, which will become the project's base token and may also give rise to other currencies.

Unlike other types of blockchain applications, digital currency as an asset inherently possesses better liquidity, making it more sensitive in terms of ownership. For instance, the comparison between "your credit card being stolen" and the "immutable" characteristics of digital currency is of epoch-making significance.

Virtual assets generally include financial assets, game tokens, digital copyrights, domain names, user traffic, etc. Since virtual assets do not need to be linked to physical assets, they are more conveniently mapped onto blockchain. Their specific application forms are reflected in supply chain finance and the bill market.

  1. Electronic currency. In recent years, the frequency of cash usage has decreased, and many people prefer electronic payments. Electronic currency, like digital currency, is intangible, but electronic currency is essentially the electronic version of fiat currency, such as third-party payment platforms, electronic cash from bank cards, and large and small payment systems from banks. It merely records the accounts of the original fiat currency in electronic form; fundamentally, they still need to be audited and reconciled across multiple centralized systems, and "electronic" itself has not become part of finance.

  2. Virtual currency. During the blockchain speculation frenzy in 2017, the term "virtual currency" was primarily used to refer to the base tokens of blockchain projects, a term mostly originating from outside speculators. However, this is not the case; the concept of virtual currency is much broader than electronic and digital currencies. Virtual currency typically refers to non-physical currency issued by non-financial institutions, roughly divided into three categories. The first category includes game tokens, which usually do not connect with the real economy. For example, in the game "Honor of Kings," if you want to obtain new items, you must have enough game tokens (diamonds and vouchers). This virtual currency also has a characteristic of being closed, meaning it can only be used within that game.

The second category is loyalty points, which can connect with the real economy, such as frequent flyer points and supermarket gift cards. This type of virtual currency also has a characteristic called unidirectionality, meaning it can only flow in and not out. The third category is what we mainly discuss, digital currency (cryptocurrency), with Bitcoin being a typical example. Overall, compared to the "tangible" nature of fiat currency, virtual currency is more reflected in its "virtual intangibility." With the development of the internet, virtual currency itself is also gradually evolving, giving rise to more new models and opportunities.

  1. Digital currency generally refers to the base tokens under public blockchain platforms, which are recorded on a publicly accessible ledger secured by cryptography. Unlike traditional currency, this type of currency has customizable behavior attributes due to decentralization and programmability. In Bitcoin, we can define multi-signature transactions to achieve a truly "jointly managed institutional account." For example, in the metaverse, users can customize transaction behaviors, such as specifying a lock-up period for tokens during transfers and defining unlocking conditions; in BitShares, this behavior is further reinforced to have derivative characteristics, which is not the case in traditional currency. Corresponding to digital currency is the concept of digital assets.

The issuance of digital currency can easily turn into illegal fundraising. How can we effectively distinguish between these two behaviors?

  1. Look at the team background.

  2. Examine the project white paper and long-term planning.

  3. Review the content of periodic information disclosure.

What is a digital currency wallet? A digital currency wallet is the blockchain program closest to users. It helps manage digital currency private keys, send transactions, and display your transaction history. From a user functionality perspective, a digital currency wallet is quite similar to the wallets we use daily, helping you manage cash, coins, credit cards, and debit cards.

As the carrier of digital currency, from a technical perspective, digital currency wallets can be divided into three types.

  1. Full node wallet. A full node wallet is an official version of a digital currency wallet that includes complete functional requirements, such as mining, sending transactions, querying transaction records, and managing private keys.

  2. SPV light wallet (Simplified Payment Verification). Light wallets sacrifice some functions of full nodes for user experience, serving as a simplified version of full node wallets, lacking features like mining and transaction querying.

  3. Centralized asset custody wallet. This type of wallet is essentially a third-party service provider that helps manage your digital currency, with typical examples being blockchain.info.

Appendix:

OK International: www.okex.com

Huobi International: www.huobi.pro

Binance: www.binance.com

ZB International: www.zb.com

EXX International: www.exx.com

Gate.io: www.gate.io

AEX: www.aex.com

BCE: www.bcex.ca

Coinegg: www.coinegg.com

Big.one: www.big.one

CEX: www.cex.com

Coinw: www.coinw.com

Kex: www.kex.com

Foreign trading platforms Bitfnex: www.bitfnex.com

Bittrex: www.bittrex.com

RightBTC: www.rightbtc.com

Poloniex: www.poloniex.com

Liqui: liqui.io

Hashtoken: hashtoken.co

CEO: www.bite.ceo

BTBT: www.btbt.top

HitBTC: hitbtc.com

Bithumb: www.bithumb.com

Coincheck: coincheck.com/cn/

Bit-Z: www.bit-z.com

Decentralized trading platform EtherDelta: etherdelta.com

BitShares: bitshares.org/wallet/#

Over-the-counter trading platform LocalBitcoins: localbitcoins.com/zh-cn

CoinCola: www.coincola.com/

Bitcoin World: www.bitcoinworld.com/

OTC789: www.otc789.com/

Computer market observation website Feixiaohao: www.feixiaohao.com

Mobile market observation software: MyToken, Aicoin

Bitcoin and blockchain news websites Jinse Finance: www.jinse.com

8BTC: www.8btc.com

Bitcoin86: www.bitcoin86.com

What are the most mainstream blockchain projects?#

The Bitcoin project is already well-known, so here I will briefly introduce its parameters without going into too much detail. Overall, Bitcoin's market value and trading volume far exceed those of other blockchain projects. Bitcoin was released on January 9, 2009, and it is expected that its mining can continue until 2140, with a total issuance capped at 21 million. The block time for Bitcoin is 10 minutes, which refers to the average time interval for producing a block across the entire network. Bitcoin is the ancestor of all digital assets, which results in its high public recognition. Despite facing issues of mining pool centralization (which will be discussed in detail in the "In-depth Blockchain Technology" section), the public still trusts Bitcoin as an asset.

Bitcoin once faced issues of insufficient block capacity, but with the implementation of Segregated Witness (which will also be discussed in the "In-depth Blockchain Technology" section), the network congestion problem has been alleviated significantly. We will provide detailed discussions on these specifics in the "Bitcoin Special" section.

  1. Ethereum. Ethereum is a blockchain application platform, and its significant innovation lies in providing smart contracts as tools for customizing business logic. Smart contracts are programmable contracts written by users and deployed on the blockchain. Ethereum's advantage is that it provides a development tool for developers worldwide, allowing everyone to unleash tremendous creativity. Thus, it can essentially be seen as: as long as developers have a certain technical foundation, they can contribute content to Ethereum through smart contracts. This creates a virtuous cycle where developers submit problems discovered while using smart contracts to the Ethereum developer community, which improves the flaws in smart contracts, and new developers develop diverse toolkits based on smart contracts. This core interaction between developers and the community is the most important part of the Ethereum ecosystem. Ethereum's slogan is "World Computer," indicating its vast ambitions. In 2016, Ethereum's market value was about one-tenth of Bitcoin's, but by 2017, this number had reached one-quarter.

Ethereum began crowdfunding in 2014 and officially launched its mainnet in March 2015. It adopted a PoW consensus mechanism but plans to gradually transition to a PoS consensus algorithm according to the core team's announced plan. The total issuance of Ethereum is: 60 million + 18.72 million per year, and the current block time is 12 seconds. Meanwhile, we can see that most of Ethereum's development processes and smart contracts have already formed industry standards, such as the common ERC20 token standard and ERC725 identity standard. The ERC20 token standard indicates the main business direction for smart contracts: digital assets, also referred to as smart assets, which have similar meanings. Ethereum's price surged significantly in 2017, primarily due to the fact that ERC20 tokens became the de facto standard asset in the blockchain.

  1. Ripple. Ripple is a relatively alternative blockchain project because, in essence, it is more like a payment settlement protocol. Ripple does not require mining; it achieves accounting purposes through a consensus provided by an algorithm called "Open Coin."

Ripple aims to provide a highly efficient payment process for global cross-border institutions, offering a better global payment experience. Because it involves asset transfers between institutions, Ripple is designed to require permission to enter its payment network, somewhat similar to what we refer to as a consortium chain.

The Ripple team controls more than half of the Ripple currency, so the issue of price manipulation is quite serious. If you are a technical geek, you may skip this project. However, if you want to create a blockchain project related to payment settlement, you must study Ripple.

  1. Litecoin. If we observe closely, we will find that Bitcoin's logo is golden, while Litecoin's logo is silver. One gold and one silver; I believe you understand Litecoin's positioning. Technically, Litecoin merely modified Bitcoin's mining algorithm to the Scrypt algorithm, which is a parameterizable and configurable mining algorithm, but it still did not prevent the emergence of specialized mining machines. Its other core code is almost identical to Bitcoin's. Litecoin's rise is attributed to good market operations; from the functionality provided, Litecoin is indistinguishable from Bitcoin. So, why does Litecoin still exist? The core focus of the Bitcoin scalability debate is whether to use the "Segregated Witness" method. We know that although "Segregated Witness" was proposed in the Bitcoin community, the first application was in Litecoin. You can see the logic here: as a pioneer of Bitcoin, Litecoin will conduct experimental trials to replace Bitcoin.

  2. Bitcoin Cash. Currently, Bitcoin Cash ranks around the top 5 in market value. Compared to Bitcoin, Bitcoin Cash only has a higher block capacity, while other technical differences are not significant.

image

Bitcoin global node map (image from the internet). The interaction mode between full nodes and SPV simplified payment verification clients is closer to a semi-centralized topology, meaning that SPV nodes can randomly select a full node to connect to, which will become the proxy for the SPV node, helping it broadcast transactions.

Node discovery is the first step for any blockchain node to access the blockchain P2P network. This is akin to traveling alone to an unfamiliar place; without a map and navigation, you can only pull nearby people to ask for directions. This action of "pulling nearby people to ask for directions" can be understood as node discovery. Node discovery can be divided into initial node discovery and post-launch node discovery. Initial node discovery refers to when your full node is newly downloaded and run for the first time, with no node data available. Post-launch discovery indicates that an already running wallet can dynamically maintain available nodes following the network.

  1. Initial node discovery. In the Bitcoin network, there are two ways to discover initial nodes. The first is called DNS-seed, also known as DNS seed nodes. DNS is a centralized domain name query service, and Bitcoin community maintainers maintain some domain names. For example, the domain seed.bitcoin.sipa.be is maintained by Bitcoin core developer Sipa. If we use nslookup, we will find about twenty A records of IPv4 host addresses.

If we try to connect to a certain host under this domain on port 8333 using the nc command, we will find that the connection is successful, with the structure running as follows.
chenhao@chenhaodeMacBook-Pro ~ nc -nvv 149.202.179.35 8333 found 0 associations found 1 connections: 1: fags=82<CONNECTED,PREFERRED> outif en0 src 192.168.1.104 port 62125 ds 149.202.179.35 port 8333 rank info not available TCP aux info available Connection to 149.202.179.35 port 8333 [tcp/*] succeeded!

So far, we have manually completed the initial node discovery work, and these operations are performed by Bitcoin's code. The second method is that the code hard-codes (hard-code) some addresses, which we call seed nodes. When all seed nodes fail, the full node will attempt to connect to these seed nodes. The approach in Ethereum is similar, where some seed nodes are also hard-coded in the code to perform similar tasks.

  1. Post-launch node discovery. In the Bitcoin network, a node can send its maintained peer node list to nearby nodes. Therefore, after initial node discovery, the first thing your node needs to do is to request the list from the other party: "Quickly copy your node list for me." So, every time it needs to send protocol messages, it will spend a fixed amount of time trying to establish a link with nodes in the existing node list. If any node can connect before the timeout, there is no need to obtain addresses from DNS seeds. Generally, this possibility is minimal, especially when the number of full nodes is very large. In the Ethereum network, a similar node list (NodeTable) is maintained, but this node list differs from Bitcoin's simple maintenance; it uses a mature algorithm in P2P network protocols called the Kademlia network, abbreviated as KAD network. It uses DHT to locate resources, which stands for Distributed Hash Table. The KAD network maintains a routing table for quickly locating target nodes. Since the KAD network is based on the UDP communication protocol, Ethereum node discovery is based on UDP, and once nodes are found, data interaction switches to TCP.

  2. Blacklist and long connections. The public blockchain faces a very open network environment; anyone can download a wallet, open it, and enter this P2P network, which also brings the possibility of being attacked. Therefore, in Bitcoin's code, there is a segment to control logic, allowing you to manually remove suspicious nodes and add them to a blacklist while configuring trusted nodes. Of course, the above does not belong to the standard protocol of the client; anyone can implement their own P2P network layer. Ethereum has blacklisting for accounts, but this belongs to the business layer. I haven't found very detailed information, so if you're interested, you can try it yourself. However, in general, blacklisting can also be handled through the operating system's firewall, which is not a particularly tricky problem.

LAN penetration. Earlier, we mentioned that the blockchain's P2P network structure is a fully distributed topology. However, our current network environment consists of local area networks and the internet. This means that when you run a blockchain node on a local area network, it cannot be discovered on the public network; nodes on the public network can only passively accept connections and cannot actively initiate connections. If this local area network is one you can control, then it's easy; we just need to configure routing in the VPC network to map the public IP and port to your IP and port in the local area network. This condition is very strict, so is there a solution to establish mapping by itself? The answer is yes, using NAT technology and the UPnP protocol. NAT technology is very common; here we use source NAT, which simply replaces the source address in TCP packets and maps it to the internal network address.

UPnP stands for Universal Plug and Play, which is mainly used for the intelligent interconnection of devices, allowing all devices on the network to immediately know when a new device joins. These devices can communicate with each other and can be directly used or controlled without manual setup. There is a lot of information about UPnP, so I won't elaborate here; you can search for related information yourself. Both Bitcoin and Ethereum use the UPnP protocol as a LAN penetration tool; as long as the routing device in the local area network supports NAT gateway functionality and UPnP protocol, your blockchain node can be automatically mapped to the public network.

Node interaction protocol. Once a node establishes a connection, the interaction between nodes follows specific commands, which are written in the message header, while the message body contains the message content. Commands are divided into two types: request commands and data interaction commands.

The first thing to do after completing the node connection is called the handshake operation. This process is quite similar in both Bitcoin and Ethereum; it involves greeting each other and providing some brief information. For example, they first exchange version numbers to check compatibility. However, Ethereum provides symmetric encryption for the handshake process, while Bitcoin does not. After the handshake, regardless of what information is exchanged, a long connection must be maintained. In Bitcoin, there are two types of messages, PING/PONG, which are clearly designed to maintain the heartbeat of long connections between nodes; in Ethereum's design, the PING/PONG protocol is moved to the node discovery process. Request commands are generally divided into initiator requests; for example, in Bitcoin, the getaddr command is used to obtain the available node list from the other party, while the inv command provides data transmission, with the message body containing a data vector.

We say that the most important function of blockchain is to synchronize the blockchain, and synchronizing blocks happens to test the capabilities of the P2P network. There are two methods for block synchronization: the first is called HeaderFirst, which provides for the synchronization of block headers first, and after synchronization is complete, the block body is obtained from other nodes. The second is called BlockFirst, which is a more straightforward method, requiring that blocks obtained from other nodes must be complete. The first solution provides a better interaction process, reducing network burden. These two synchronization methods will directly reflect in the node interaction protocol, as they use completely different command logic.

The P2P network structure of blockchain and the node interaction process generally need to solve two main problems: the first is resource location, and the second is resource acquisition. This article mainly revolves around these two points, where node discovery and LAN penetration belong to resource location issues, and the node interaction protocol pertains to resource acquisition issues. Taking Bitcoin and Ethereum as examples, although there are many blockchain projects, most of them aim to achieve similar goals, such as Ethereum being an improved implementation while Bitcoin uses a simpler version.

image

Mining pools, as central nodes, can be connected by miners. In the Bitcoin network, mining pool nodes are essentially just full nodes that, together with other full nodes, form Bitcoin's peer-to-peer network. The only special aspect is that they can produce new blocks.

Visualizing CAP creates a triangular distribution, and we can obtain the following diagram:

image

PoW and PoS public chains prefer AP characteristics, thus having limited TPS. Consortium chains and DPoS consensus prefer more uniform characteristics, achieving considerable TPS. Traditional data centers often do not consider P in the second-layer semantic issues, let alone Byzantine fault tolerance issues, so they have better TPS. However, they perform poorly when network partitions and Byzantine errors occur. These consensus mechanisms can have different choices in different scenarios, and there is no consensus mechanism that applies to all scenarios. One of the optional solutions in the industry is Sharding.

Now, we have discussed the impact of the CAP theorem on blockchain, and the industry is still trying its best to improve TPS. Currently, there are two solutions being discussed: Sharding technology and the Lightning Network. The Lightning Network aims to solve the real-time issues of small payments in Bitcoin, and the algorithm is one of the solutions for Bitcoin's TPS expansion; we will discuss this in detail in the Bitcoin special section. These two solutions do not involve modifying the consensus mechanism. If we modify it to a DPoS consensus mechanism or a DAG consensus algorithm, TPS can also be improved, but this is not within the scope of this discussion. We will delve into DAG consensus mechanisms in subsequent articles. Sharding technology is an extension that installs traditional database sharding, with the main idea being to divide the database into multiple partitions (fragments) and place the partitions on different servers.

In the blockchain scenario, all nodes in the network are equivalent to different servers in a distributed database. At this point, we can divide transactions into different parts, and each accounting node only needs to verify a part of the transaction instead of the entire transaction. The benefit of this is parallel processing, where accounting nodes are in a cooperative relationship rather than a purely independent one. As the network grows, this cooperative relationship can also scale, a process known as horizontal scaling. Sharding technology has the following advantages: first, TPS can increase from a few dozen to at least two orders of magnitude, reaching thousands of transactions per second, which is not only user-friendly but also enhances user experience; second, the increase in TPS can lead to more applications, which can horizontally scale the performance of the blockchain under the incentives of consensus, forming a virtuous cycle.

Sabo proposed the concept of smart contracts, and the examples we provided are all broad interpretations of smart contracts. Smart contracts have various practical forms, and in the blockchain field, the smart contract concept we refer to is actually the Blockchain-based form. In Sabo's smart contract concept, open networks are mentioned, and we know that the basic requirement of open networks is Byzantine fault tolerance. Through the previous articles, we understand that blockchain inherently possesses Byzantine fault tolerance characteristics. Therefore, if we practice the concept of smart contracts on the blockchain, the two will fit together perfectly.

The first to practice the concept of smart contracts was Bitcoin. Bitcoin scripts (bitcoin script) include five standard transaction scripts, which not only provide for ordinary single-party payment situations but also offer multi-signature payment scripts, known as multi-signature payments. Multi-signature payments can be seen as smart contracts under Sabo's semantics. Besides Bitcoin, the blockchain project that has popularized the concept of smart contracts is Ethereum, which I will now introduce in detail.

Ethereum and its Development History#

The goal of the Ethereum project is to create a decentralized next-generation internet application platform, referred to as the Dapp platform. These Dapps are developed, compiled, and deployed based on the Ethereum smart contract virtual machine, allowing for customizable business logic. Once deployed, they are visible across the network and executed automatically, ideally without downtime, censorship, fraud, or third-party interference.

At the end of 2013, Ethereum's founder Vitalik proposed the idea of running Turing-complete applications within the Bitcoin developer community, but this idea did not receive support from the Bitcoin community. In 2014, Vitalik announced the official establishment of the Ethereum project with his ideas, starting fundraising in the first half of 2014 and gathering some early developers. In July of the same year, a 42-day ICO was conducted, raising over 18 million dollars in Bitcoin.

In July 2015, the first version of Ethereum was released, and the mainnet officially went live. During this phase, there were many bugs and design flaws, primarily due to developers using it.

In 2016, Ethereum released its second major version, Homestead, and the number of users gradually increased, attracting many Dapp developers.

In June 2016, the famous black swan event occurred on Ethereum — TheDAO incident, which opened up the ICO market and also caused a fork in the Ethereum community, resulting in the creation of two tokens: Ethereum and Ethereum Classic.

In April 2017, ICOs became popular in China, and ERC20 provided a low-cost, convenient, and efficient fundraising method, greatly facilitating ICOs. Riding the wave of the digital currency bull market, Ethereum's price surged more than tenfold, surpassing 1,000 dollars in January 2018.

Core Concepts of Ethereum#

The core concepts of Ethereum include: the smart contract virtual machine (EVM) and the Solidity programming language, account models, Ether, and Gas, transactions, and messages.

  1. Smart contract virtual machine (EVM) and Solidity programming language. The core concept of Ethereum is smart contracts. Smart contracts consist of two parts: one part is the development language, primarily Solidity, which is very similar to JavaScript in usage, greatly reducing the learning curve for Dapp developers. After Dapp developers write the code, they use Solidity to compile it into hexadecimal bytecode, which is then deployed to the EVM, effectively broadcasting the contract across the network. Once miners package it, it forms a Dapp that runs continuously. The other part is the EVM, which is the Ethereum smart contract virtual machine. We can equivalently understand it as the execution engine for scripting languages like JavaScript and Python. It is a lightweight virtual machine isolated environment that does not provide access to local networks, processes, or file systems; it is more like a closed container running a Dapp, which can be seen as a Docker Container that cannot interact with the outside world. During the Dapp's operation, it can be triggered by requests or other events, executing corresponding logic. These requests and events are generated by transactions on Ethereum, not from local operating system events. Each time the state changes during the Dapp's operation, it means that the entire network synchronizes updates, and everyone's computational results are consistent. This has two characteristics:

  2. The computation results of all Dapps undergo consensus across the network, and once confirmed, they are almost impossible to forge or tamper with.

  3. Since consensus must be reached across the network, this limits the overall capacity of the network.

  4. Account model. Ethereum does not adopt the UTXO model, nor is it like a bank account; it has its own account model designed by Ethereum developers. There are two types of accounts on Ethereum: the first type is called contract accounts (CA), and the second type is called externally owned accounts (EOA).

Simply put: CA is the account used for smart contract code, while EOA is the account used by people; thus, CA can store and execute smart contract code, activated by EOA. It does not store private keys, and contract accounts can call other contracts. EOA is the account directly controlled by people, which can store Ether and send transactions to contract accounts to trigger predetermined logic. EOA accounts are identified by public keys and controlled by corresponding private keys. When a contract account is called, the smart contract stored within can be automatically executed in the miner's virtual machine, consuming Gas. If there is insufficient Gas, it triggers an "Out of Gas" exception and terminates execution. Whether CA or EOA, both are viewed as state objects within Ethereum, meaning these accounts have their own states; EOA has a state of Ether balance, while CA has both balance and contract storage states.

  1. Ether and Gas. Gas is the fuel for executing smart contract operations. Each step of a smart contract consumes Gas, which is derived from the platform token Ether, with the smallest unit being wei, where 1 ETH equals 10 to the power of 18 wei. Ether can be generated through PoW mining, and currently, Ethereum primarily uses GPU mining. Mining a block can yield 5 Ether, along with certain transaction fees and rewards for uncle blocks. On April 6 of this year, it was revealed that the well-known mining chip manufacturer Bitmain has developed ASIC miners specifically for Ethereum, improving efficiency by 2.5 times compared to GPUs.

  2. Transactions and messages. Transactions on Ethereum differ from UTXO transactions in Bitcoin; they refer to the process where an EOA account sends a signed data packet to another account, resulting in changes to the account state that are stored on the Ethereum blockchain. In addition to transactions, Ethereum also has the concept of messages, which refers to the process of a contract account calling other contract accounts, analogous to function calls. Therefore, if a Dapp on Ethereum is triggered, there are two possibilities: the first is a transaction trigger, and the second is a message trigger. The difference between the two is that the former is initiated by an EOA, while the latter can only be initiated by other contract accounts. The state changes of state objects are recorded by Ethereum's consensus mechanism, with transactions and messages driving state changes.

Thus, constructing a globally shared Dapp in an open network becomes very convenient. Smart contracts on Ethereum have characteristics such as near real-time synchronization across the network, accurate execution, decentralized operation, and lower risks of human intervention, while EVM and Solidity provide a lower entry barrier for global developers.

Differences from Bitcoin. The Ethereum project is also referred to as a blockchain 2.0 project, where 2.0 refers to smart contracts. So, what exactly is the intelligence in Ethereum compared to Bitcoin? Let's take a closer look.

Compared to Bitcoin, Ethereum is not merely a digital currency project; it provides a universal blockchain smart contract application platform for the world, based on the four core technological elements of blockchain we introduced earlier: P2P network, consensus mechanism, account model, and cryptographic module. In addition to these four technological elements, Ethereum also introduced the EVM — Ethereum smart contract virtual machine, and it also launched its own smart contract language, Solidity. As a result, blockchain developers have begun to divide into two categories due to the emergence of smart contracts.

The first category is public chain underlying developers, primarily full node developers using C++ and Go languages, who need to have a deep understanding of various technical modules of blockchain. The second category is smart contract developers, or application developers, who do not need to understand the operating principles of blockchain deeply; they only need to know how to write Solidity and understand the specifications.

In addition to the concept of Ethereum smart contracts, it has also designed the following content.

  1. It has researched and implemented its own PoW mining algorithm — ETHASH, which is a memory-hard mining algorithm.

  2. It has an uncle block incentive mechanism that reduces the trend of mining centralization. It has eliminated the UTXO model, adopting an account model and world state, providing flexibility in data structures.

  3. It has designed a Gas mechanism to prevent programs from entering infinite loops that consume network resources. It has researched and implemented its own PoS consensus algorithm — Casper, which prevents Noth.

Reference links:

  1. EOS.IO Technical White Paper

  2. https://github.com/EOSIO/eos/wiki

  3. https://steemit.com/cn/@niking/iota

  4. https://docs.iota.org/introduction

  5. https://whycardano.com/cn/

  6. https://iohk.io/blog/ouroboros-at-crypto-2017/

NEO

  1. Introduction. We previously mentioned that NEO was originally known as Antshares, which was initiated in 2015 and officially renamed NEO in 2017. The NEO project has undergone two ICOs; the first ICO was at the project's inception, and the second ICO was for brand upgrading after the renaming. The rise and fall of the NEO project have witnessed the development of the entire domestic blockchain project landscape. After redoing market value management and community building, NEO has become one of the top 10 blockchain projects by market value.

Digital Assets: Digital assets are programmable assets that exist in the form of electronic data. NEO directly supports a token mechanism similar to ERC20 at the underlying level, allowing users to register, trade, and circulate assets on NEO. It also solves the mapping relationship between digital identity and physical assets, with assets registered through formal digital identities being protected by law.

Digital Identity: Digital identity refers to identity information of individuals, organizations, and things existing in electronic data form. NEO will implement a digital identity standard compatible with X.509 and support a Web Of Trust-style peer-to-peer certificate issuance model. Smart Contracts: Smart contracts on NEO differ from those on Ethereum and are called NeoContracts. The greatest feature of this smart contract system is that it supports mainstream programming languages like C# and Java, allowing developers to develop, debug, and compile smart contracts in familiar IDE environments (such as Visual Studio, Eclipse, etc.).

  1. Technical Features. NEO adopts a PBFT-like consensus algorithm. NEO's modified version is the dBFT consensus algorithm, where d stands for Delegated. All PBFT-like algorithms have a characteristic where the communication complexity is the square of the number of nodes; for example, with 7 nodes, at least 72 communications are required to produce a block, which places high demands on network bandwidth. Therefore, the number of accounting nodes is generally not very high, but it brings advantages such as high TPS and no forks. It has a self-contained smart contract system, which reduces the limitations for smart contract developers, as they do not have to use Solidity for development.

C# Technology Ecosystem. Most of NEO's implementations are written in C#, and thanks to the open-source .Net Core, NEO's technology ecosystem is continuously expanding. Token System. NEO provides a NEP-5 token system equivalent to Ethereum's ERC20.

Metaverse

  1. Introduction. The Metaverse is an open-source blockchain project that I lead, initiated in August 2016, and after five months of development and testing, it went live in February 2017. The Metaverse is a blockchain project focused on social and business needs, aiming to build a new blockchain ecosystem based on digital assets (Metaverse Smart Token) and digital identities (Avatar), which will bring profound changes to human society. In addition to the concepts of digital assets and digital identities, we also propose the concept of built-in smart contracts (BISC) and Blockchain as a Service (BaaS), extending digital identities and proposing Oracle value intermediaries (this Oracle is different from that Oracle). The overall idea is to summarize the relationships between people and assets, abstracting the generalized needs into models, and then making them conveniently usable at the blockchain's underlying level. This approach is called BISC (Built-in Smart Contract), which can reduce technical risks in the development and use processes of commercial applications. Through BISC, the Metaverse provides functions for digital assets MST, digital identities Avatar, Oracle, and asset trading, all revolving around assets and people. Digital assets MST allow people to gain the advantages of peer-to-peer operations brought by blockchain, while digital identities Avatar reflect the relationships between people and assets. It can connect to MST, allowing anyone to become an Oracle; Oracles can help people build an immutable decentralized reputation system, and asset trading can meet the basic liquidity needs of MST. The process of embedding blockchain as a foundational service into IT systems is called BaaS (Blockchain As A Service), which is a fast and convenient way to build blockchain applications.

  2. Technical Features. It continues and expands the UTXO model, where everything is UTXO, providing good security for assets and identities. Built-in BISC does not provide users with the ability to write their own smart contracts, enhancing security while reducing diversity. PoW mining is compatible with Ethereum's PoW mining algorithm. It has built-in digital identities, providing a domain name system based on digital identities that can connect to digital assets.

The default provides an HD-type main private key account system. The block size limit is 1MB, but the block generation speed is 33 seconds, resulting in a TPS approximately 18 times that of Bitcoin. It provides a token system equivalent to ERC20.

Bytom

  1. Introduction. Bytom is a multi-dimensional asset interaction protocol. Simply put, it also deals with digital assets but with a different phrasing and slightly different concepts. Bytom believes that there are two different forms of assets on the blockchain.
  • Bit assets: Refers to native digital currencies and digital assets on the blockchain, such as Bitcoin and Ether.

  • Atomic assets: Correspond to real-world assets, such as warrants, equity, dividends, bonds, intelligence information, predictive information, etc. People can register, exchange, bet, and even perform more complex interactions based on contracts for these two types of assets through Bytom. The goal is to connect the atomic world with the bit world, facilitating the interaction and flow of assets between the two worlds.

  • Bytom adopts a three-layer architecture.

  1. The application layer is friendly to mobile terminals and other multi-terminals, making it easy for developers to conveniently develop asset management applications.

  2. The contract layer uses genesis contracts and control contracts for asset issuance and management, supporting an extensible UTXO model (BUTXO) at the underlying level. It optimizes the virtual machine and employs a self-reflective mechanism to prevent dead states in Turing completeness.

  3. The data layer uses distributed ledger technology to implement asset issuance, spending, exchange, and other operations.

  4. Technical Features. The consensus algorithm is PoW, belonging to the loyal Bitcoin PoW faction. The mining algorithm is friendly to AI ASIC chips, introducing matrix and convolution calculations in the hashing process, allowing mining machines to be used for AI hardware acceleration services when idle or obsolete, thus generating additional social benefits. It is compatible with the Bitcoin UTXO model. It provides a default HD-based main private key account system. The encryption module is based on national standards SM2 and SM3 algorithms. It incorporates Segregated Witness design.

Ontology Network

Ontology Network is a blockchain project focused on building a distributed trust system, supporting a protocol network that integrates multiple chains and systems. Different chains and systems can collaborate through Ontology's trust protocol. Ontology includes independent distributed ledgers, P2P network protocols, modular consensus protocol groups, and modular smart contract mechanisms as its main modules.

The product form of Ontology is ONTO, which is a comprehensive client product based on Ontology, a blockchain search engine, and an entry point for the blockchain system.

ONTO will help users achieve comprehensive functions, including digital identity management, digital asset management, and distributed data exchange. ONTO can map digital identities to real identities, allowing users to establish their digital identities and multi-dimensional identity profiles through cryptographic algorithms for privacy protection.

Ontology mainly provides the following three protocols.

  1. It provides a distributed identity management framework (ONT ID), a decentralized identity identification protocol based on the W3C DID standard.

  2. It provides a distributed data trading protocol (ONT DATA) for constructing a decentralized data trading application framework.

  3. It provides a credit scoring protocol (ONT Scores) that supports the establishment of different reputation evaluation logics, providing rating authorization and auditing functions. Supporting these protocols is the ONT public chain and the high-performance customizable framework of the ONT blockchain.

  4. Technical Features. It is based on an account model while retaining the UTXO model. The consensus algorithm adopts VBFT, a new consensus algorithm that combines PoS, VRF (Verifiable Random Function), and BFT. Modular smart contracts provide both WASM and NEO VM options.

The three main components of public chains are digital identity, digital assets, and smart contracts. They essentially reflect the means of production, value, and production relationships. By reconstructing and pairing production relationships, value is created.

Hyperledger is hosted by the Linux Foundation, aiming to build an open-source distributed ledger technology platform for enterprise application scenarios. Due to the diversity of enterprise application scenarios, Hyperledger includes more than one project; it consists of multiple projects. There are a total of nine projects, five of which are major technical frameworks, while the other four are auxiliary tools.

The main technical frameworks are the following five:

  1. Hyperledger Fabric: No Chinese name, temporarily translated as "Fabric," is provided by IBM and is the first project of Hyperledger. Fabric aims to use a modular architecture as the foundation for developing blockchain programs or solutions, allowing some components — such as consensus algorithms and member management — to become plug-and-play services.

  2. Hyperledger Sawtooth: Chinese name "Sawtooth," provided by Intel, is the second project of Hyperledger. Sawtooth is a modular platform for creating, deploying, and running distributed ledgers, based on hardware-dependent PoET consensus, suitable for large distributed validator groups while being relatively low power consumption.

  3. Hyperledger Iroha: No Chinese name, temporarily translated as "Iroha," provided by Soramitsu. Iroha is designed to integrate distributed ledger technology easily with infrastructure projects.

  4. Hyperledger Burrow: No Chinese name, temporarily translated as "Burrow," provided by Monax. Burrow provides a modular blockchain client with a permissioned smart contract virtual machine, partially based on Ethereum Virtual Machine (EVM) specifications.

  5. Hyperledger Indy: No Chinese name, temporarily translated as "Indy." Indy is a distributed ledger specifically built for decentralized identities. It provides tools, code libraries, and reusable components for creating and using independent digital identities based on blockchain or other distributed ledger interoperability.

Dilemmas of Consortium Chains. The Hyperledger series of technical frameworks well illustrates what it looks like when distributed ledger technology reaches its peak. Here, it can also be seen that almost all Hyperledger projects are technology-driven, and the power of technology has led them to overlook the real market demands. Consortium chains involve activities among a few nodes, often degenerating into games in microeconomics. Therefore, constructing a collaborative system among a few nodes using consortium chain technology is not a technical issue but rather becomes a matter of how to construct a stable microeconomic model that allows collaborators to achieve Pareto improvements. Here, technology becomes secondary.

No matter how good the technical tools are, if they are not combined with effective incentives and feedback mechanisms, the application landing process of consortium chains seems exceptionally difficult. It may ultimately degenerate into an ordinary distributed system, which is still centralized. Why do we not use already mature technical frameworks and insist on using consortium chain technology frameworks? This is what I believe is the greatest dilemma of consortium chains; it is a cannon, but no one comes to tell us what problems this cannon can solve.

Reference citations:

  1. https://www.slideshare.net/ormium/architecture-of-the-hyperledger-blockchain-fabricchristian-cachin-ibm-research-zurich

  2. http://thesecretlivesofdata.com/raft/

  3. https://intelledger.github.io/introduction.html#proof-of-elapsed-time-poet

  4. https://github.com/hyperledger/indy-plenum/blob/master/docs/main.md

  5. https://wiki.hyperledger.org/projects/indy

  6. https://www.hyperledger.org/wp-content/uploads/2018/01/Hyperledger_Sawtooth_FAQ.pdf

  7. https://medium.com/kokster/understanding-hyperledger-sawtooth-proof-of-elapsed-timee0c303577ec1

  8. https://www.hyperledger.org/wpcontent/uploads/2017/08/Hyperledger_Arch_WG_Paper_1_Consensus.pdf

  9. http://blockchaindev.org/archives/08-on-limitation-of-private-chain.html

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.