# 加密业务模型和防御能力

By [leaf](https://paragraph.com/@leaf-6) · 2022-12-14

---

加密业务模型和防御能力 提出者 安德烈森·霍洛维茨·阿里·叶海亚

此内容仅供参考，不应作为法律、业务、投资或税务建议。

关于那些事情，你应该咨询你自己的顾问。对任何证券、数字资产、代币和/或加密货币的引用仅用于说明目的，并不构成对任何此类工具的投资建议，也不构成提供 投资咨询服务的要约。此外，本内容不针对任何投资者或潜在投资者，也不打算由任何投资者或潜在投资者使用 ,并且在决定投资a16z管理的任何基金时，在任何情况下都不得依赖本内容。（投资a16z基金的要约只能通过私 募备忘录、认购协议和任何此类基金的其他相关文件进行，并应完整阅读。）提及、提及或描述的任何投资或投资 组合公司并不代表ā16z管理的投资工具的所有投资，也不能保证这些投资是盈利的，也不能保证将来进行的其他 投资会有类似的特征或结果。安德森·霍洛维茨基金管理的基金的投资清单（不包括发行人未允许16z公开披露的 投资，以及对公开交易的数字资产的未公布投资）可在https:/al6z.com/investments/,获得

![](https://storage.googleapis.com/papyrus_images/eaf075eef3f1bc219ecaba47169f3abb992f0aea364ff8d3c6e6bd4084fc85e4.png)

![](https://storage.googleapis.com/papyrus_images/1cbfb3e425db47723f33aef4e1ca50234c8e1e95cbaa3f03f2f405e846bdbec4.png)

![](https://storage.googleapis.com/papyrus_images/66238a92b555708095c0065dc88f6f993fecb1335be624a2e95df0c9255ab198.png)

![](https://storage.googleapis.com/papyrus_images/0305d0d60f13e39c9b6d7085e0ddfa899bdd9ede1f36e2ce20237f8456ec6cbd.png)

![](https://storage.googleapis.com/papyrus_images/e095a9164bcc110d4d0a521e28cee5e8d108307cb44cffed85c7eb99d873f6ea.png)

![](https://storage.googleapis.com/papyrus_images/439884304df6d430f74463d6b863e14a2f183cc69818fc18f091874e8b69d9ad.png)

![](https://storage.googleapis.com/papyrus_images/0f965adf278b3bad3fa1d4d4f91c4c35fdb3d531040440d16ba06af309db733c.png)

筹资和交易结构：加密创业的考虑因素

![](https://storage.googleapis.com/papyrus_images/20d2b19065b73f1d3c9d38fa6940dbc6c528f5f4d6e22b5e1e06629bed5aca5a.png)

![](https://storage.googleapis.com/papyrus_images/3f1144356719f1a5646e6e060f5b17071fc9ece7095a269cdca52f46495caeee.png)

![](https://storage.googleapis.com/papyrus_images/0549c4b2b2ab4c023feb1ee1fac9d515ec68cc4f3ce893bd4fde96eef5655282.png)

![](https://storage.googleapis.com/papyrus_images/fc9578946b32adfbeca55f1bcacac48ab0b03aa1683a01d04965e2f197cfff9a.png)

![](https://storage.googleapis.com/papyrus_images/5933eb32a3a23338ae485dbb0fc915d03740215b54901c93c141dab44b744b99.png)

这篇文章给大家造成很大的困扰，是因为大家都知道以太坊和Hyperledger当前都是基于账户模型的，没有任何UXTO的概念。而作者在文章中指出Hyperledger已切换到UTXO，以太坊也在考虑增加，究竟是怎么回事。

首先说Hyperledger fabric，fabric里连代币都没有（比特币里有比特币，以太坊里有以太币），说什么UTXO就没头没脑了。遍查fabric1.0的整个代码，只在chaincode example里找到一些关于UTXO的内容，那只是用chaincode实现对比特币UTXO的一个存储功能，而且只是一个智能合约的示例。

那作者为什么说fabric已经切换到UTXO了呢？遍查网络，的确发现了相关的内容。一篇是ConsenSys的文章，开头第一句话就是：Recently there has been a proposal to have UTXO based architecture as the fabric of the Hyperledger project.（网址：[https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53#.sttqvpfqe）。](https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53#.sttqvpfqe%EF%BC%89%E3%80%82)

另一篇是数字资产公司（Digital Asset Holdings）的文章，里面说到：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.（网址：[https://digitalasset.com/press/hyperledger-beta-retired.html）](https://digitalasset.com/press/hyperledger-beta-retired.html%EF%BC%89)

这些似乎印证了作者的观点。但实际不然，因为这两篇文章都是时间比较老（2016年3月份），在那个时间点的确有那样的建议和讨论。并且很显然当前代码里没有任何UTXO，所有的代码和工作模式仍然是账户模型。我们在网络上继续寻找，在Reddit的帖子上找到了关于这方面的讨论：Both Vitalik and ConsenSys do indeed believe that UTXO is unnecessarily complicated to serve as the Hyperledger fabric.

所以结论是：fabric的UTXO只是曾经的一个讨论，目前并没有在fabric 1.0中实现。而且以后如果要增加的话首先得为fabric引进自己的代币。我个人的观点认为，fabric为商用智能合约系统设计，基于账户模型更加合适。

下面我们说以太坊的UTXO。以太坊的确是在考虑引进UTXO，但是此UTXO非彼UTXO。并不是像大家想象的那样，用UTXO来替换现有的账户模型。首先以太坊为智能合约而设计，其账户模型里除了有余额（balance），还有智能合约代码，还有nonce（为防止重放攻击），以及自定义的存储。把这些换成UTXO显然不合适，因为UTXO胜任不了。比特币的UTXO里只有一个简单的属性：余额（balance）。

那么以太坊的UTXO是指什么呢？这就是以太坊的另一个话题了：分片（Sharding）。分片是扩展以太坊、增加TPS的有效方法，目前正在社区里被广泛讨论和研究。目前的以太坊的工作模式是所有节点（比如共16万个）同时验证所有交易，实际上这是极度低效和没有必要的一种模式。为了保证一致性，如果我们按照地址的前4位来分片，可以把所有地址分成16片。这样每个交易只需要其中1万台节点验证便可通过。如果一个交易涉及的账户都在同一片区并没有什么问题，但如果涉及到不同片区问题就来了。

为了解决不同片区之间的交易问题，以太坊设计出了称为收据（receipt）的工作模式。而这个收据的模式和UTXO类似，故而也称为以太坊的UTXO。

既然此UTXO并不是指替换当前账户模型，变成比特币模式的UTXO，那么是不是说明当前账户模型就没有问题呢？也不是！当前账户模型的确存在一些弊端。

以太坊中以太币的转移安全性不如比特币高。下面是一个真实的例子。一个网友请我帮忙，让我帮助从Yobit.net追讨258个ETH。原因是他从Yobit.net转移币到云币网账户时，发生了out of gas错误。云币网给出的目标地址是一个合约地址，而Yobit.net以为是个外部地址，交易设置的gasLimit为21000（这对于合约账户就不够了），因此发生了out of gas的异常。币的转移被取消，但是这个交易（Transaction）却是完成的。

所以结论是：fabric的UTXO只是曾经的一个讨论，目前并没有在fabric 1.0中实现。而且以后如果要增加的话首先得为fabric引进自己的代币。我个人的观点认为，fabric为商用智能合约系统设计，基于账户模型更加合适。

下面我们说以太坊的UTXO。以太坊的确是在考虑引进UTXO，但是此UTXO非彼UTXO。并不是像大家想象的那样，用UTXO来替换现有的账户模型。首先以太坊为智能合约而设计，其账户模型里除了有余额（balance），还有智能合约代码，还有nonce（为防止重放攻击），以及自定义的存储。把这些换成UTXO显然不合适，因为UTXO胜任不了。比特币的UTXO里只有一个简单的属性：余额（balance）。

那么以太坊的UTXO是指什么呢？这就是以太坊的另一个话题了：分片（Sharding）。分片是扩展以太坊、增加TPS的有效方法，目前正在社区里被广泛讨论和研究。目前的以太坊的工作模式是所有节点（比如共16万个）同时验证所有交易，实际上这是极度低效和没有必要的一种模式。为了保证一致性，如果我们按照地址的前4位来分片，可以把所有地址分成16片。这样每个交易只需要其中1万台节点验证便可通过。如果一个交易涉及的账户都在同一片区并没有什么问题，但如果涉及到不同片区问题就来了。

为了解决不同片区之间的交易问题，以太坊设计出了称为收据（receipt）的工作模式。而这个收据的模式和UTXO类似，故而也称为以太坊的UTXO。

既然此UTXO并不是指替换当前账户模型，变成比特币模式的UTXO，那么是不是说明当前账户模型就没有问题呢？也不是！当前账户模型的确存在一些弊端。

以太坊中以太币的转移安全性不如比特币高。下面是一个真实的例子。一个网友请我帮忙，让我帮助从Yobit.net追讨258个ETH。原因是他从Yobit.net转移币到云币网账户时，发生了out of gas错误。云币网给出的目标地址是一个合约地址，而Yobit.net以为是个外部地址，交易设置的gasLimit为21000（这对于合约账户就不够了），因此发生了out of gas的异常。币的转移被取消，但是这个交易（Transaction）却是完成的。

![](https://storage.googleapis.com/papyrus_images/1753f0f28d677038fd67611abc99487852a1f59190505bafca784b9144531faf.png)

基本判断：

首先，你要对当前的情况有个基本的判断。当前（2017年3月）是处于数字货币牛市的起步+前期阶段，这就是基本的判断，也是你进入市场的前提，如果这个结论被推翻，那么你就不应该参与进来。

准备活动：

当你要进入一个市场前，要有一定的准备活动，如果你不能满足以下的条件，请你立即离开：

一笔没有期限和压力的资金（如果有期限，至少是5年以上，即这笔钱投入市场在很长的一段时间内你不需要拿出去）；

0杠杆（经过前期整顿，目前数字货币交易所大部分都是0杠杆的）；

长线持有，买卖只做一次（或者叫一段时间内建仓，一段时间内清仓）。

你做了这些准备活动，那么下面一个问题是，该买什么？

牛市来临时，基本上所有数字货币都会涨，即使是一些特别垃圾的。现在有十几种知名货币，还有上百种的二代币、山寨币。选择哪些品种成为投资的关键，笔者认为只能投资以下品种：

注意：以下是笔者的观点，不作为任何投资建议，任何看了此篇文章而进行相关投资的人，应该清楚任何风险和后果自负，笔者不会得到1分钱好处，只是进行技术和观点分享。

1、比特币（bitcoin）

比特币是区块链概念的发源地，也建立了最为广泛的信任。当前的比特币价格在场外9000元，场内8000元左右。笔者认为其合理价格应该在3万左右。现在越来越多的观点认为比特币将进一步建立信任，成为数字黄金。支持该类观点的人已经越来越多，其中也不乏大名鼎鼎的以太坊创始人：Vitalik（他的中文说得特别好）。

目前比特币的总市值约是黄金总市值的0.3%（黄金总市值8万亿美金，比特币目前125亿美金），从这个角度，比特币还有广阔的上涨空间。

目前影响比特币价格进一步走高的主要是两个问题：

内因：比特币的扩容问题。比特币的网络已经超负荷运行了几年，而扩容问题迟迟得不到解决，比特币的支付需要高额手续费，且确认速度缓慢已成为影响其正常功能的重大问题。在扩容问题上bitcoin core的隔离见证方案和bitcoin unlimited的提升区块限制的方案迟迟不能达成一致，且有一定的分裂风险。笔者倾向于支持隔离见证，在此也期望和呼吁各方能以社区整体利益为重，早日达成一致！如果隔离见证成功激活，比特币价格将迎来一波上涨！

外因：政策打压和交易所限制提币。这点就不想多说了，政策问题在很长一段时间内都是影响币价的主要因素之一。

2、以太坊（ETH）

以太坊的上涨没有太多悬念。早在去年12月份的视频中预言过数字货币的牛市将以eth的上涨作为代表，并在70元左右的时候多次呼吁大家建仓ETH，因为其价值被大大低估。未来ETH将毫无疑问成为千亿市值的平台（呼吁大家时市值才到百亿，而经过最近这轮上涨，市值已达200亿）。

ETH天生没有政策的困扰，这是它的优势。目前来说影响ETH币价的因数多为积极因素，如：

企业版以太坊联盟的成立

ENS（以太坊域名系统）的上线

PoS的预期

说到以太坊，很多人会问ETC，我也多次说过我的观点，建议大家趁高清仓ETC。个人完全不支持ETC，认为其将逐渐衰亡，或沦为普通的二代币。

个人觉得ETH的合理价格应该500-1000之间。

3、ZEC（Zcash）

相对于比特币和以太坊，Z币的风险会更大一些，其价值的体现也将需要更长的时间。但从长远来看其匿名的价值将是人类普遍追求的价值之一。当前来看，其缺点也很明显：

更加政府不友好；

技术尚不成熟，客户端支持较少，需要大内存，CPU，发送匿名交易需要近1分钟；

可能隐藏的bug和增发无从发现的问题；

尽管如此，笔者在币价260左右的时候呼吁过大家建仓，并看高价格至3000元，但需要更长时间（也许是5年以上）。

以上币种的选择也是被普遍认可的选择。实际上，大家认为比特币才是核心。只有为了解决比特币不能解决的问题而产生的新币才有生命力。比如，以太坊解决了比特币不能发布数字资产、写智能合约的问题；Z币解决比特币隐私的问题。

如果你用长远的眼光看，你就知道不管是比特币、ETH和Z币，现在都是买点，尽管它们已经距离底部上涨了很多倍。有的人想寻找黑马，想找到百倍甚至是千倍利润空间的币。我的观点是它是有的，但是被找到是极其难的。它应该符合以下的特征：

它有功能性的创新，解决了某个问题，或者引领未来的一种新的方式；

它的发明者或团队不被关注，因为只有这样它的初始价格才能很低；

如果你找到了，也麻烦通知笔者一声：）

最后，所有数字货币的投资，应该都转移至自己的本地钱包保存，并做好全面的安全备份。

说到区块链的企业级应用，大家首先想到是IBM主导的hyperledger fabric项目和有微软、intel、摩根等大企业参与的企业以太坊（Enterprise Ethererum）项目。

企业以太坊联盟刚刚成立，其产品发布还有待时日。hyperledger fabric 1.0 alpha则已经发布。我有幸参与了国内最早一批应用hyperledger进行企业级区块链的设计和开发。不幸的是，我觉得它不好，非常的不好。我们似乎走在了一条错误的道路上，fabric的设计者也似乎走在了一条错误的道路上。

问题一：不区分应用系统和区块链系统

  

fabric的设计没有区分应用系统和区块链系统。fabric试图在引导大家将应用系统区块链化，将原先可简单解决的问题复杂化。例如一个供应链系统，我们称之为应用系统，它已经存在，在区块链技术被应用之前已经大规模存在。我们现在来改造它，或者重新设计，让其具有区块链的特性。fabric给我们的方案会引导我们将大部分业务逻辑放进chaincode，使得整个系统变成一个区块链系统。这是非常错误的，原因有三：

区块链的运行效率很低；

区块链的存储消耗高，查询效果很差（尽管fabric 1.0支持结构化查询，如：CouchDB，但相比传统的，如：mysql，其效率低一个数量级）；

系统过于复杂，且没有必要。

  

问题二：endorsement的设计似是而非

  

fabric 1.0的endorsement policy的设计只在理论上工作，实际情况下运行效果很差。例如，一个供应链区块链系统涉及到3家企业，我们分别部署1个peer（同时是endorse peer和commit peer）在各自的机房（或云系统），我们的policy定义为必须同时获得这3个peer的endorsement。当一个交易发生时，我们的请求需要通过网络穿越公网进入各自的机房（或云系统），然后和各个peer进行交互，获取endorsement。而这其中的延迟非常不确定，可能很大，会导致各种交易失败的情况发生。

  

问题三：channel的设计让人又爱又恨

  

fabric 1.0中的channel设计似乎是一个很棒的功能，可以让不同企业间的商业隐私得到极大的保护。但是它却是不完整的，或者很难使用的。因为不同channel间不能交互，很多数据需要在多个不同的channel间共享，我们要么将冗余数据写入不同的channel，要么将系统设计成颗粒度很细，让不同的peer加入到多个channel中。无论何种方式都是在将简单问题复杂化。让系统变成更加复杂，和更加容易出错。

  

问题四：用docker执行chaincode设计粗糙

  

没有像以太坊里设计有EVM，而只是用docker来执行chaincode，其设计相当粗糙，而且会有很多运行过程中发生的问题。这点非常易于理解，不用多说。

以上说得都是fabric设计中的问题，那么如果用enteth会不会就没有问题了呢？很显然，我偏爱以太坊。企业级以太坊（enteth）会很大程度上解决以上的问题。但是并不全部，而且不能解决的是一个核心问题：我们为什么要用区块链？

区块链唯一的作用，是为了解决信任问题。提供一个防篡改、无抵赖、公开透明（这点在企业应用中不一定适用）的交易和商业环境。

在我们的供应链例子中涉及到三家企业A、B、C。不管是fabric的方案还是enteth的方案，只能在ABC之间保证数据一致性。但是现在A篡改了数据，BC因为手上有所有数据的副本，可以轻松地证明A的篡改行为。这时A请来了黑客，攻入了BC系统，将BC系统里的数据副本也一并篡改。攻入BC系统的难度远远小于劫持公有链中（如以太坊）51%的算力的难度。

实际上，在现实的商业环境中，很多系统都是由强一方提供，如A，帮助BC部署其区块链系统。在这样的环境中区块链的防篡改特性难以生效。

另外，基于fabric或enteth的区块链方案在部署和运行时也存在诸多问题。一般很难有多家企业共同开发一款区块链系统，通常由其中一家企业或者某个第三方软件公司提供。因为缺乏相应的知识，相关企业很容易被软件提供商留下后门，这点让区块链不可篡改的特性得不到安全的保障。

介于以上问题，笔者认为，基于共有链（如以太坊）的企业级应用解决方案将是未来的一个方向

（至少是个必要的补充）！

  

设计思路：

  

将企业级区块链应用中，需要用到区块链的地方抽离出来，逻辑上分成应用系统和区块链系统，而用公有链（如以太坊）实现其区块链功能。

这样设计的优点有很多，如：

应用系统、区块链系统分离，最大程度复用原有系统的功能和特性；

利用公有区块链的网络安全强大、不可篡改等特性保证区块链功能；

设计简单、费用极低；

公有链解决企业问题，也将面临很多挑战，主要的挑战有如下几点：

挑战一：企业级应用的隐私问题

企业级应用涉及到商业、用户数据，系统需要大量的保密安全措施，不可公开泄漏到网络上，解决这一问题有2个可选方案：

加密，只将加密数据存在在公有网络上；

两级分离，只将头部信息，数据hash值存储在公有网络上，将真实数据存储在安全的企业环境中。

挑战二：公有链网络费用的问题

使用公有网络，如以太坊存储企业区块链，将面临着较高的网络费用，尤其涉及到大量存储时。解决的方案有2个：

只存储企业区块链的头部信息（类似于比特币的SPV），将区块内容放在非常便宜的企业数据环境中；

剪裁功能，对于历史无用数据可以实施备份存储和剪裁。

下面笔者给出两个方案建议：

方案一：基于以太坊的企业应用解决方案

在以太坊智能合约中维护企业区块链的头部信息； -〉网络安全、防篡改

企业区块链区块内容放在二级存储（安全的企业存储环境中）；-〉企业信息隐私保护，省钱

对于历史头信息进行剪裁；-〉省钱

关联以太坊地址和企业身份；-〉不可抵赖

方案二：基于字节雪球（byteball）的企业应用解决方案

用字节雪球的存储功能，形成企业区块链；-〉网络安全、防篡改；

对于敏感信息加密存储，安全级别较高的放在二级存储；-〉隐私保护；

关联雪球地址和企业身份；-〉不可抵赖

雪球费用相对较低，存储空间大，未来将是以太坊方案的一个很好补充，也可和以太坊方案结合使用；

以上方案是笔者根据其经验和知识的总结和思考。我相信已经走在了绝大多数人的前面。也欢迎有兴趣的企业联系，尝试实现以上方案，以作为这块领域的实践探索！

---

*Originally published on [leaf](https://paragraph.com/@leaf-6/iCUvJYpLqSVII0Zva6xf)*
