banner
leaf

leaf

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

Cryptographic Business Models and Defensive Capabilities

Cryptocurrency Business Models and Defense Capabilities
Proposer
Andreessen Horowitz Ali Yahya

This content is for reference only and should not be considered legal, business, investment, or tax advice.

For those matters, you should consult your own advisors. References to any securities, digital assets, tokens, and/or cryptocurrencies are for illustrative purposes only and do not constitute investment advice for any such instruments, nor do they constitute an offer to provide investment advisory services. Furthermore, this content is not directed at any investors or potential investors and is not intended for use by any investors or potential investors, and in any case, should not be relied upon when deciding to invest in any fund managed by a16z. (Offers to invest in a16z funds can only be made through private placement memoranda, subscription agreements, and any other relevant documents of such funds and should be read in their entirety.) Any mention, reference, or description of any investment or portfolio company does not represent all investments of a16z-managed investment vehicles, nor can it guarantee that these investments will be profitable, nor can it guarantee that future investments will have similar characteristics or results. A list of investments made by funds managed by Andreessen Horowitz (excluding investments that the issuer has not permitted a16z to publicly disclose, as well as undisclosed investments in publicly traded digital assets) can be found at https://a16z.com/investments/.

image

image

image

image

image

image

image

Fundraising and Trading Structure: Considerations for Cryptocurrency Startups

image

image

image

image

image

This article has caused a lot of confusion because everyone knows that both Ethereum and Hyperledger are currently based on an account model, with no concept of UTXO. However, the author points out in the article that Hyperledger has switched to UTXO, and Ethereum is also considering adding it. What is going on?

First, let's talk about Hyperledger Fabric. Fabric doesn't even have tokens (Bitcoin has Bitcoin, Ethereum has Ether), so mentioning UTXO seems out of place. A thorough search of the entire code of Fabric 1.0 only finds some references to UTXO in the chaincode examples, which merely implement a storage function for Bitcoin UTXO, and it is just an example of a smart contract.

So why does the author say that Fabric has switched to UTXO? A search of the internet indeed reveals related content. One article is from ConsenSys, which starts with: "Recently there has been a proposal to have UTXO based architecture as the fabric of the Hyperledger project." (URL: https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53#.sttqvpfqe).

Another article is from Digital Asset Holdings, which states: "We are also switching from our simplistic notion of accounts and balances to adopt to de facto standard of the Bitcoin UTXO model, lightly modified." (URL: https://digitalasset.com/press/hyperledger-beta-retired.html)

These seem to confirm the author's viewpoint. However, this is not the case, as both articles are relatively old (from March 2016), and at that time, there were indeed such proposals and discussions. It is also clear that there is currently no UTXO in the code, and all code and working models remain based on the account model. We continued searching online and found discussions on Reddit about this: "Both Vitalik and ConsenSys do indeed believe that UTXO is unnecessarily complicated to serve as the Hyperledger fabric."

So the conclusion is: Fabric's UTXO was only a past discussion and is not currently implemented in Fabric 1.0. Moreover, if it is to be added in the future, Fabric must first introduce its own token. Personally, I believe that Fabric, designed for commercial smart contract systems, is more suitable based on the account model.

Next, let's talk about Ethereum's UTXO. Ethereum is indeed considering introducing UTXO, but this UTXO is not the same as the one you might think of, which would replace the existing account model. First, Ethereum is designed for smart contracts, and its account model includes not only balances but also smart contract code, nonces (to prevent replay attacks), and custom storage. Replacing these with UTXO is clearly inappropriate, as UTXO cannot fulfill these roles. Bitcoin's UTXO has only one simple attribute: balance.

So what does Ethereum's UTXO refer to? This leads us to another topic about Ethereum: Sharding. Sharding is an effective method for scaling Ethereum and increasing TPS, and it is currently being widely discussed and researched in the community. The current working model of Ethereum is that all nodes (for example, a total of 160,000) simultaneously validate all transactions, which is extremely inefficient and unnecessary. To ensure consistency, if we shard based on the first four digits of the address, we can divide all addresses into 16 shards. This way, each transaction only needs validation from 10,000 nodes to pass. If a transaction involves accounts all within the same shard, there is no problem, but if it involves different shards, issues arise.

To solve the transaction problems between different shards, Ethereum has designed a working model called receipts. This receipt model is similar to UTXO, hence it is also referred to as Ethereum's UTXO.

Since this UTXO does not refer to replacing the current account model with Bitcoin's UTXO model, does this mean that the current account model has no issues? Not at all! The current account model indeed has some drawbacks.

The security of Ether transfers in Ethereum is not as high as that of Bitcoin. Here is a real example. A netizen asked me for help in recovering 258 ETH from Yobit.net. The reason is that when he transferred coins from Yobit.net to his Yunbi account, an out of gas error occurred. The target address provided by Yunbi was a contract address, while Yobit.net thought it was an external address, and the gas limit set for the transaction was 21,000 (which is insufficient for contract accounts), resulting in an out of gas exception. The transfer of coins was canceled, but the transaction was completed.

So the conclusion is: Fabric's UTXO was only a past discussion and is not currently implemented in Fabric 1.0. Moreover, if it is to be added in the future, Fabric must first introduce its own token. Personally, I believe that Fabric, designed for commercial smart contract systems, is more suitable based on the account model.

Next, let's talk about Ethereum's UTXO. Ethereum is indeed considering introducing UTXO, but this UTXO is not the same as the one you might think of, which would replace the existing account model. First, Ethereum is designed for smart contracts, and its account model includes not only balances but also smart contract code, nonces (to prevent replay attacks), and custom storage. Replacing these with UTXO is clearly inappropriate, as UTXO cannot fulfill these roles. Bitcoin's UTXO has only one simple attribute: balance.

So what does Ethereum's UTXO refer to? This leads us to another topic about Ethereum: Sharding. Sharding is an effective method for scaling Ethereum and increasing TPS, and it is currently being widely discussed and researched in the community. The current working model of Ethereum is that all nodes (for example, a total of 160,000) simultaneously validate all transactions, which is extremely inefficient and unnecessary. To ensure consistency, if we shard based on the first four digits of the address, we can divide all addresses into 16 shards. This way, each transaction only needs validation from 10,000 nodes to pass. If a transaction involves accounts all within the same shard, there is no problem, but if it involves different shards, issues arise.

To solve the transaction problems between different shards, Ethereum has designed a working model called receipts. This receipt model is similar to UTXO, hence it is also referred to as Ethereum's UTXO.

Since this UTXO does not refer to replacing the current account model with Bitcoin's UTXO model, does this mean that the current account model has no issues? Not at all! The current account model indeed has some drawbacks.

The security of Ether transfers in Ethereum is not as high as that of Bitcoin. Here is a real example. A netizen asked me for help in recovering 258 ETH from Yobit.net. The reason is that when he transferred coins from Yobit.net to his Yunbi account, an out of gas error occurred. The target address provided by Yunbi was a contract address, while Yobit.net thought it was an external address, and the gas limit set for the transaction was 21,000 (which is insufficient for contract accounts), resulting in an out of gas exception. The transfer of coins was canceled, but the transaction was completed.

image

Basic Judgments:

First, you need to have a basic judgment of the current situation. Currently (March 2017), we are at the beginning of a bull market for digital currencies, which is the basic judgment and your premise for entering the market. If this conclusion is overturned, then you should not participate.

Preparation Activities:

When you are about to enter a market, you need to have certain preparatory activities. If you cannot meet the following conditions, please leave immediately:

A sum of money without a deadline or pressure (if there is a deadline, it should be at least 5 years, meaning this money should not be withdrawn from the market for a long time);

0 leverage (after the initial rectification, most digital currency exchanges are currently at 0 leverage);

Long-term holding, buying and selling only once (or called building a position for a period and clearing it for a period).

If you have done these preparatory activities, then the next question is, what to buy?

When a bull market arrives, almost all digital currencies will rise, even some particularly poor ones. Currently, there are a dozen well-known currencies, along with hundreds of second-generation coins and altcoins. Choosing which varieties to invest in is key, and I believe you can only invest in the following varieties:

Note: The following are my personal views and should not be considered any investment advice. Anyone who invests based on this article should be aware that they bear all risks and consequences. I will not receive a penny of benefit; this is merely a sharing of technology and viewpoints.

  1. Bitcoin (BTC)

Bitcoin is the origin of the blockchain concept and has established the broadest trust. The current price of Bitcoin is around 9,000 yuan off-exchange and about 8,000 yuan on-exchange. I believe its reasonable price should be around 30,000. More and more viewpoints now believe that Bitcoin will further establish trust and become digital gold. The number of supporters of this viewpoint is increasing, including the well-known Ethereum founder: Vitalik (who speaks Chinese very well).

Currently, Bitcoin's total market value is about 0.3% of the total market value of gold (the total market value of gold is 8 trillion USD, while Bitcoin is currently 12.5 billion USD), from this perspective, Bitcoin still has ample room for growth.

The main issues affecting Bitcoin's price increase are two:

Internal Factors: Bitcoin's scalability issue. The Bitcoin network has been running at full capacity for several years, and the scalability issue has not been resolved, leading to high transaction fees and slow confirmation speeds, which have become significant problems affecting its normal function. On the scalability issue, the Bitcoin Core's Segregated Witness proposal and Bitcoin Unlimited's proposal to increase block limits have yet to reach consensus and carry certain risks of splitting. I tend to support Segregated Witness and hope that all parties can prioritize the community's overall interests and reach a consensus soon! If Segregated Witness is successfully activated, Bitcoin's price will see a surge!

External Factors: Policy repression and exchange restrictions on withdrawals. This point does not need much elaboration, as policy issues have long been one of the main factors affecting coin prices.

  1. Ethereum (ETH)

The rise of Ethereum is not surprising. As early as last December in a video, I predicted that the bull market for digital currencies would be represented by the rise of ETH, and I repeatedly urged everyone to build positions in ETH when it was around 70 yuan, as its value was greatly underestimated. In the future, ETH will undoubtedly become a platform with a market value of hundreds of billions (when I urged everyone, its market value was only at tens of billions, and after the recent surge, its market value has reached 20 billion).

ETH inherently does not have the troubles of policy, which is its advantage. Currently, the factors affecting ETH's price are mostly positive, such as:

The establishment of the Enterprise Ethereum Alliance

The launch of ENS (Ethereum Name Service)

Expectations for PoS

When it comes to Ethereum, many people will ask about ETC, and I have also repeatedly stated my views, suggesting that everyone take the opportunity to clear their positions in ETC. I personally do not support ETC and believe it will gradually decline or become an ordinary second-generation coin.

I personally believe that ETH's reasonable price should be between 500-1000.

  1. ZEC (Zcash)

Compared to Bitcoin and Ethereum, Zcash carries greater risks, and its value realization will take longer. However, in the long run, its anonymity value will be one of the universally pursued values by humanity. Currently, its drawbacks are also quite obvious:

Less government-friendly;

Technology is not mature, client support is limited, requires large memory and CPU, and sending anonymous transactions takes nearly 1 minute;

Possible hidden bugs and undiscoverable issues with inflation;

Despite this, I called for everyone to build positions when the coin price was around 260 and expected the price to rise to 3000, but it will take longer (perhaps 5 years or more).

The selection of these coins is also widely recognized. In fact, everyone believes that Bitcoin is the core. Only new coins that arise to solve problems that Bitcoin cannot solve have vitality. For example, Ethereum solves the problem of Bitcoin's inability to issue digital assets and write smart contracts; Zcash solves the privacy issues of Bitcoin.

If you look with a long-term perspective, you will know that whether it is Bitcoin, ETH, or Zcash, now is a buying point, even though they have already risen many times from the bottom. Some people want to find a dark horse, looking for coins that can yield a hundredfold or even thousandfold profit. My view is that such opportunities exist, but finding them is extremely difficult. They should meet the following characteristics:

They have functional innovations that solve a problem or lead to a new way of the future;

Their inventors or teams are not in the spotlight, as only in this way can their initial price be very low;

If you find such a coin, please let me know :)

Finally, all investments in digital currencies should be transferred to your local wallet for storage, and comprehensive security backups should be made.

When it comes to enterprise-level applications of blockchain, the first thing that comes to mind is the Hyperledger Fabric project led by IBM and the Enterprise Ethereum project involving major companies like Microsoft, Intel, and Morgan.

The Enterprise Ethereum Alliance has just been established, and its product release is still pending. Hyperledger Fabric 1.0 alpha has already been released. I had the privilege of participating in one of the earliest applications of Hyperledger for enterprise-level blockchain design and development in China. Unfortunately, I find it very unsatisfactory. We seem to be on the wrong path, and the designers of Fabric also seem to be on the wrong path.

Problem 1: No distinction between application systems and blockchain systems

The design of Fabric does not distinguish between application systems and blockchain systems. Fabric attempts to guide everyone to blockchainify application systems, complicating problems that could have been solved simply. For example, a supply chain system, which we call an application system, already exists and has been widely used before blockchain technology was applied. Now we are trying to transform it or redesign it to have blockchain characteristics. The solution provided by Fabric will guide us to place most business logic into chaincode, turning the entire system into a blockchain system. This is very wrong for three reasons:

The operational efficiency of blockchain is very low;

The storage consumption of blockchain is high, and the query performance is poor (although Fabric 1.0 supports structured queries, such as CouchDB, its efficiency is an order of magnitude lower than traditional systems like MySQL);

The system is overly complex and unnecessary.

Problem 2: The design of endorsement is seemingly correct but flawed

The endorsement policy design of Fabric 1.0 only works in theory; in practice, its performance is poor. For example, a supply chain blockchain system involves three companies, and we deploy one peer (which is both an endorse peer and a commit peer) in each of their data centers (or cloud systems), and our policy defines that endorsement must be obtained from all three peers simultaneously. When a transaction occurs, our request needs to traverse the public network to enter each data center (or cloud system) and then interact with each peer to obtain endorsement. The delay in this process is very uncertain and can be significant, leading to various transaction failures.

Problem 3: The design of channels is both loved and hated

The channel design in Fabric 1.0 seems to be a great feature that can greatly protect the commercial privacy between different enterprises. However, it is incomplete or difficult to use. Because different channels cannot interact, a lot of data needs to be shared across multiple channels, and we either have to write redundant data into different channels or design the system to be very granular, allowing different peers to join multiple channels. Either way complicates simple problems, making the system more complex and prone to errors.

Problem 4: The design of executing chaincode with Docker is crude

There is no design like EVM in Ethereum; instead, it uses Docker to execute chaincode, which is a rather crude design and will encounter many issues during operation. This is very easy to understand and does not need further elaboration.

The above points discuss the problems in Fabric's design. So, would using Enterprise Ethereum (Enteth) eliminate these problems? Clearly, I prefer Ethereum. Enterprise Ethereum (Enteth) will largely solve the above problems. However, it does not solve everything, and it cannot address a core issue: Why do we need to use blockchain?

The only role of blockchain is to solve trust issues. It provides a tamper-proof, non-repudiable, and transparent (which may not apply in enterprise applications) transaction and business environment.

In our supply chain example, involving three companies A, B, and C, neither Fabric's solution nor Enteth's solution can guarantee data consistency between A, B, and C. However, if A tampers with the data, B and C, having copies of all the data, can easily prove A's tampering behavior. At this point, A hires a hacker to break into B and C's systems and tamper with the data copies in those systems as well. The difficulty of breaking into B and C's systems is far lower than the difficulty of hijacking 51% of the computing power in a public chain (like Ethereum).

In reality, in many commercial environments, many systems are provided by a strong party, such as A, to help B and C deploy their blockchain systems. In such environments, the tamper-proof characteristics of blockchain are difficult to take effect.

Additionally, blockchain solutions based on Fabric or Enteth also face many issues during deployment and operation. It is generally difficult for multiple companies to jointly develop a blockchain system, usually provided by one of the companies or a third-party software company. Due to a lack of relevant knowledge, the related companies can easily be left with backdoors by the software provider, which undermines the security of the blockchain's tamper-proof characteristics.

Given the above issues, I believe that enterprise-level application solutions based on public chains (like Ethereum) will be a future direction (at least a necessary supplement)!

Design Ideas:

Extract the places where blockchain is needed in enterprise-level blockchain applications, logically separating application systems and blockchain systems, and using public chains (like Ethereum) to implement their blockchain functions.

The advantages of this design are many, such as:

Separation of application systems and blockchain systems, maximizing the reuse of existing system functions and characteristics;

Utilizing the strong network security and tamper-proof characteristics of public blockchains to ensure blockchain functionality;

Simple design and extremely low costs;

However, public chains solving enterprise problems will also face many challenges, the main challenges are as follows:

Challenge 1: Privacy issues in enterprise-level applications

Enterprise-level applications involve commercial and user data, and systems require a lot of confidentiality and security measures, which cannot be publicly leaked onto the network. There are two optional solutions to this problem:

Encryption, only storing encrypted data on the public network;

Two-tier separation, only storing header information and data hash values on the public network while storing real data in a secure enterprise environment.

Challenge 2: Network costs of public chains

Using public networks, such as Ethereum, to store enterprise blockchains will face high network costs, especially when it involves large amounts of storage. Two solutions to this are:

Only storing the header information of the enterprise blockchain (similar to Bitcoin's SPV), while placing the block content in a very cheap enterprise data environment;

Trimming functionality, implementing backup storage and trimming for historical useless data.

Below, I provide two proposed solutions:

Solution 1: Enterprise Application Solution Based on Ethereum

Maintain the header information of the enterprise blockchain in Ethereum smart contracts; → Network security, tamper-proof

Place the block content of the enterprise blockchain in secondary storage (in a secure enterprise storage environment); → Protection of enterprise information privacy, cost-saving

Trim historical header information; → Cost-saving

Associate Ethereum addresses with enterprise identities; → Non-repudiable

Solution 2: Enterprise Application Solution Based on Byteball

Use Byteball's storage functionality to form the enterprise blockchain; → Network security, tamper-proof;

Encrypt sensitive information, with higher security levels stored in secondary storage; → Privacy protection;

Associate Byteball addresses with enterprise identities; → Non-repudiable

Byteball has relatively low costs and large storage space, and will be a good supplement to the Ethereum solution in the future, and can also be used in conjunction with the Ethereum solution;

The above solutions are a summary and reflection based on my experience and knowledge. I believe I am ahead of the vast majority of people. I also welcome interested enterprises to contact me to try to implement the above solutions as a practical exploration in this field!

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