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 Defense 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 to be used 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, which 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 be guaranteed that these investments will be profitable, nor can it be guaranteed that other investments made in the future 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 Structures: 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 account models, 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 talking about UTXO seems nonsensical. A thorough search of the entire Fabric 1.0 code only finds some references to UTXO in the chaincode example, which is merely a storage function for Bitcoin UTXO implemented using chaincode, and it's 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 begins 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 support the author's viewpoint. However, this is not the case, as both articles are quite old (from March 2016), and at that time, there were indeed such proposals and discussions. It is also clear that the current code does not contain any UTXO; all code and operational modes remain based on the account model. Continuing our search online, we 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 merely a past discussion and is currently not implemented in Fabric 1.0. Moreover, if it is to be added in the future, Fabric must first introduce its own tokens. Personally, I believe that Fabric is designed for commercial smart contract systems, and the account model is more suitable.

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. It is not about replacing the existing account model with UTXO. 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 operational mode 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 addresses, we can divide all addresses into 16 shards. This way, each transaction only needs to be validated by 10,000 nodes. If a transaction involves accounts 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 mode called receipts. This receipt mode 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, 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 was 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 assumed it was an external address, and the transaction set the gas limit to 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 merely a past discussion and is currently not implemented in Fabric 1.0. Moreover, if it is to be added in the future, Fabric must first introduce its own tokens. Personally, I believe that Fabric is designed for commercial smart contract systems, and the account model is more suitable.

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. It is not about replacing the existing account model with UTXO. 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 operational mode 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 addresses, we can divide all addresses into 16 shards. This way, each transaction only needs to be validated by 10,000 nodes. If a transaction involves accounts 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 mode called receipts. This receipt mode 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, 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 was 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 assumed it was an external address, and the transaction set the gas limit to 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 + early stage of a cryptocurrency bull market. This is the basic judgment and also the 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, 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 cryptocurrency exchanges are now 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 made these preparations, the next question is, what to buy?

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

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, only sharing 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 suggest that Bitcoin will further establish trust and become digital gold. The number of supporters of this viewpoint is increasing, including the famous 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, Bitcoin is currently 12.5 billion USD), from this perspective, Bitcoin still has a broad upward space.

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

Internal factors: Bitcoin's scalability issue. Bitcoin's network has been running overloaded for years, and the scalability issue has not been resolved. Bitcoin payments require high fees, and slow confirmation speeds have become significant issues affecting its normal functionality. 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 there is a certain risk of splitting. I tend to support Segregated Witness and hope that all parties can prioritize the community's overall interests and reach consensus as soon as possible! If Segregated Witness is successfully activated, Bitcoin's price will see a surge!

External factors: Policy suppression and exchange restrictions on withdrawals. This point does not need much elaboration; 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's video, I predicted that the cryptocurrency bull market would be represented by the rise of ETH, and I repeatedly called for everyone to build positions in ETH when it was around 70 yuan because its value was greatly underestimated. In the future, ETH will undoubtedly become a platform with a market value of hundreds of billions (when I called for this, its market value was only at tens of billions, and after the recent surge, its market value has reached 200 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

Speaking of Ethereum, many people will ask about ETC. I have also repeatedly expressed my views, suggesting that everyone take the opportunity to clear 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 risk, and its value will take longer to manifest. 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, sending anonymous transactions takes nearly 1 minute;

Possible hidden bugs and undiscovered issues with inflation;

Despite this, I called for everyone to build positions when the coin price was around 260 and expected it to rise to 3000 yuan, 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 emerge to solve problems that Bitcoin cannot solve have vitality. For example, Ethereum solves the problem of Bitcoin not being able to issue digital assets and write smart contracts; Zcash solves the privacy issue of Bitcoin.

If you look at it from 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 with a hundredfold or even thousandfold profit potential. My view is that such coins do exist, but finding them is extremely difficult. They should meet the following characteristics:

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

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

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

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

Speaking of 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 large companies like Microsoft, Intel, and Morgan.

The Enterprise Ethereum Alliance has just been established, and its product release is yet to come. 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 poor, extremely poor. It seems we are on a wrong path, and the designers of Fabric also seem to be on a 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 blockchainize application systems, complicating problems that could be easily solved. 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 come to transform it or redesign it to have blockchain characteristics. The solution provided by Fabric will guide us to place most of the 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 misleading

The design of the endorsement policy in Fabric 1.0 only works theoretically; 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). 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 highly 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 business privacy between different companies. However, it is incomplete or difficult to use. Because different channels cannot interact, many data need to be shared across multiple channels, and we either write redundant data into different channels or design the system to have very fine granularity, allowing different peers to join multiple channels. Either way complicates simple problems, making the system more complex and prone to errors.

Problem 4: Using Docker to execute chaincode is poorly designed

There is no design like the EVM in Ethereum; instead, it simply 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 much explanation.

The above points discuss the problems in Fabric's design. So would using Enterprise Ethereum (enteth) solve these problems? Clearly, I prefer Ethereum. Enterprise Ethereum (enteth) will largely address the above issues. 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 (this point 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 among A, B, and C. However, if A tampers with the data, B and C, having copies of all 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 there as well. Breaking into B and C's systems is far easier than hijacking 51% of the computing power in a public chain (like Ethereum).

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

Moreover, 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 involved companies can easily be left with backdoors by the software providers, which undermines the security of blockchain's tamper-proof characteristics.

In light of 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 parts of enterprise-level blockchain applications that require blockchain, logically separating application systems and blockchain systems, and using public chains (like Ethereum) to implement their blockchain functionalities.

The advantages of this design are numerous, such as:

Separation of application systems and blockchain systems, maximizing the reuse of existing system functionalities 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 also face many challenges in solving enterprise issues, mainly including the following challenges:

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, storing only encrypted data on the public network;

Two-tier separation, storing only header information and data hash values on the public network while keeping the 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. There are two solutions:

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

Implement pruning for historical useless data, allowing for backup storage and pruning.

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

Prune historical header information; -> Cost-saving

Associate Ethereum addresses with enterprise identities; -> Non-repudiation

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-repudiation

Byteball has relatively low costs and large storage space, and in the future, it will be a good complement to the Ethereum solution, 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.