深度解析公有链存在的本质挑战是(深度解析公有链存在的本质挑战是指)
“毫无疑问区块链技术有巨大的潜力。在这篇文章里,我会一一阐述公有链存在的本质挑战,分享一些可行的解决方案。”在 2017 年里,人们高昂的热情为 ico 募集了数百亿资金,大大提升了加密货币市场的规模
“毫无疑问区块链技术有巨大的潜力。在这篇文章里,我会一一阐述公有链存在的本质挑战,分享一些可行的解决方案。”
在 2017 年里,人们高昂的热情为 ico 募集了数百亿资金,大大提升了加密货币市场的规模。
然而,另一面却没有得到足够重视:区块链存在一些技术壁垒(technical barriers),这导致难以有效地将它应用到主流人群里。这些技术壁垒包括:
1、可扩展性的限制2、隐私保护的限制3、缺乏合约的形式化验证4、存储限制5、难以证明的共识机制6、缺乏治理和标准7、缺乏开发工具8、量子计算机的威胁…
公有链可扩展性的限制
当前公有链的共识协议都存在这样的限制:网络中的全节点参与者需要处理全部交易。
为什么会这样?因为区块链本质上是「去中心化」——这意味着不存在一个中心团体来保护和维持系统。取而代之,网络的每个节点都会处理每笔交易并维持全状态副本,通过这种方式来保护系统。
去中心化共识机制的关键优势是安全保证、政治中立和抵抗审查等。然而,这是以扩展性为代价换来的,因为去中心化限制了区块链里全节点可处理交易的数量。
实质上这带来了两个影响。
低吞吐量:区块链可处理交易的数量十分有限
缓慢的交易速度:处理一个区块的时间很长。比如比特币的区块时间是 10 分钟,以太坊的区块时间大约是 14 秒。在高峰期里花费的时间甚至更长。相较之下,Square 和 Visa 等服务的交易是即时确认的。
因此,公有链需要在低交易吞吐量和高中心化之间做一个权衡。
换句话说,随着区块链大小的增加,网络里全节点所需的存储、带宽和计算能力也会增加。当到达某个时刻,就只有少数节点才能提供足够资源来处理区块——这会带来中心化风险。
在那时,我们会回到需信任少数大节点的中心化系统里。然而我们想要的系统是:它既能每秒处理上千笔交易,又能带来一定程度的去中心化。
可扩展性的解决方案
理想状态下,我们希望我们设计的区块链有着与比特币和以太坊相近或更好的安全性,但同时又不希望网络里每个节点都要处理超过一定比例的交易。换句话说,我们需要一种机制,来限制验证交易的节点数量(注:因为减少验证节点数量可以提高吞吐量),同时又保证网络里的每笔交易都是合法可信。这听起来很容易,但在技术上非常困难。
可扩展性是平台走向成功的一个巨大障碍。下面是一些不同开发团队正在努力研究的解决方案。在这一篇文章里我已经对可扩展性解决方案进行了详细介绍,推荐大家阅读。这里只做一个简短总结。
链下交易通道(off-chain payment channel)
该方案是在链下使用微支付通道网络处理大部分交易。区块链只作为清算层来处理一系列交易的最终清算,从而来减少底层区块链的负担。
这解决了我们前面讨论的吞吐量问题,区块链可处理交易的数量可提升一个量级。除此之外,由于交易都是在支付通道里处理的,无需等待区块确认,因此交易速度问题也得到了解决,消除了时延。
Raiden Network 和 Lightning Network 都是微支付通道网络的实例。
分片(Sharding)
分片的思想是把区块链的整体状态分割成不同的「片」,每部分状态都由不同的节点存储和处理。每个分片都只处理整体状态的一小部分,因此可以做到并行处理。区块链分片就像传统数据库的分片一样,但还需额外考虑如何在去中心化的节点集合里维持安全性和合法性。
链下计算(off-chain computation)
这个方案和状态通道很相似,但适用范围更广。其主要思想是以一种安全可证的方式,在链下处理一些在链上执行代价很高的计算。把计算和证明处理移到链下的独立协议里,可以提高交易吞吐量。一个实例是以太坊的 TrueBit。
DAG 有向无环图(Directed Acyclic Graph)
DAG 是有向无环图(Directed Acyclic Graph)的缩写,这是一种有顶点和边的图结构。DAG 可以保证从一个顶点沿着若干边前进,最后不能回到原点。由此我们可以给顶点进行拓扑排序。
一些 DAG 协议,如 IOTA 的 Tangle,丢弃了全局的线性区块概念,使用 DAG 数据结构来维持系统状态。为了保证网络安全,这些协议需要用某种新方法,使节点不需要用线性方式处理每一笔交易。
另一种 DAG 协议 SPECTRE protocol,使用了区块的 DAG 技术,可以并行挖矿,从而带来更大的吞吐量和更快的交易确认时间。
DAG 技术还处在早期阶段。老实说,它们也存在一些需要被解决的底层限制和缺陷。
区块链隐私保护的限制
区块链上的交易并没有直接关联到你的身份,这看起来似乎是可以具有隐私保护的。每个人都可以匿名地生成钱包,并进行交易。
然而,事实远没有这么简单。
区块链技术的巨大前景之一是假名(pseudonymity)的使用:交易被记录在公共账本里,但是它们又与由数字和字母组成的地址保持关联。因为无需将真实世界的身份信息关联到地址上,交易的发起者似乎是不可能被追踪的。
然而,这种想法是错误的。没有将假名关联到个人信息,这确实可以保护隐私。然而只要有人建立了链接,则隐私就不再是秘密。一个例子是执法机构坦言他们在调查时,可以识别比特币用户,对他们进行反匿名(deanonymizing)。
区块链隐私保护是怎么发生的呢?
商业网站的 Web Tracker 和 cookies 会轻易泄露与交易相关的信息。任何人,包括政府、执法机构和恶意用户都可以利用这些信息。
此外,区块链平台(如以太坊)的用户与智能合约进行着复杂交互。
智能合约的所有细节,包括发送者和接受者、交易数据、执行的代码和合约内部存储的状态,都是公开。
大部分公司都不会考虑把重要的商业数据上传区块链中,因为黑客、竞争者和其他非授权组织都可以轻易看到这些信息。思考一下:
电子医疗记录是十分隐私和敏感的信息。
身份识别数据如身份证不能在智能合约上公开。
凭证管理如密码和密钥都不能放在公开和不安全的智能合约中。
金融文件如股权结构表或员工薪资都不能公开。
这样的例子不胜枚举
隐私保护对于个人、组织和企业来说,都是一个本质挑战。许多人为区块链和数字货币着迷,是因为这个去信任和抵抗审查的系统能带来金融上的变革。矛盾的是,我们在使用的是一个公开且容易被追踪的账本。
区块链隐私保护解决方案
下面是一些不同开发团队正在努力实现的方案Elliptic Curve Diffie-Hellman-Merkle (ECDHM) addresses
理解 ECDHM 地址之前,你需要理解 Diffie-Hellman 密钥交换,其背后的思想在于双方之间建立一个共享的秘密。在公开网络里,这可以被用于交换秘密信息。
这是如何做到?
发送方和接收方共享 ECDHM 地址,然后通过共享的秘密将其转化成比特币地址。该比特币地址只会被拥有该秘密的人知道。唯一公开的东西只有可重复使用的 ECDHM 地址。因此,用户不用担心交易会被追踪。
ECDHM 地址方案包括 Peter Todd 提出的 Stealth Addresses,Justus Ranvier 提出的 BIP47Reusable Payment Codes 和 Justin Newton 提出的 BIP75 Out of Band Address Exchange。然而,没有一个方案得到实际应用。
在 2017 年里,人们高昂的热情为 ico 募集了数百亿资金,大大提升了加密货币市场的规模。
然而,另一面却没有得到足够重视:区块链存在一些技术壁垒(technical barriers),这导致难以有效地将它应用到主流人群里。这些技术壁垒包括:
1、可扩展性的限制2、隐私保护的限制3、缺乏合约的形式化验证4、存储限制5、难以证明的共识机制6、缺乏治理和标准7、缺乏开发工具8、量子计算机的威胁…
公有链可扩展性的限制
当前公有链的共识协议都存在这样的限制:网络中的全节点参与者需要处理全部交易。
为什么会这样?因为区块链本质上是「去中心化」——这意味着不存在一个中心团体来保护和维持系统。取而代之,网络的每个节点都会处理每笔交易并维持全状态副本,通过这种方式来保护系统。
去中心化共识机制的关键优势是安全保证、政治中立和抵抗审查等。然而,这是以扩展性为代价换来的,因为去中心化限制了区块链里全节点可处理交易的数量。
实质上这带来了两个影响。
低吞吐量:区块链可处理交易的数量十分有限
缓慢的交易速度:处理一个区块的时间很长。比如比特币的区块时间是 10 分钟,以太坊的区块时间大约是 14 秒。在高峰期里花费的时间甚至更长。相较之下,Square 和 Visa 等服务的交易是即时确认的。
因此,公有链需要在低交易吞吐量和高中心化之间做一个权衡。
换句话说,随着区块链大小的增加,网络里全节点所需的存储、带宽和计算能力也会增加。当到达某个时刻,就只有少数节点才能提供足够资源来处理区块——这会带来中心化风险。
在那时,我们会回到需信任少数大节点的中心化系统里。然而我们想要的系统是:它既能每秒处理上千笔交易,又能带来一定程度的去中心化。
可扩展性的解决方案
理想状态下,我们希望我们设计的区块链有着与比特币和以太坊相近或更好的安全性,但同时又不希望网络里每个节点都要处理超过一定比例的交易。换句话说,我们需要一种机制,来限制验证交易的节点数量(注:因为减少验证节点数量可以提高吞吐量),同时又保证网络里的每笔交易都是合法可信。这听起来很容易,但在技术上非常困难。
可扩展性是平台走向成功的一个巨大障碍。下面是一些不同开发团队正在努力研究的解决方案。在这一篇文章里我已经对可扩展性解决方案进行了详细介绍,推荐大家阅读。这里只做一个简短总结。
链下交易通道(off-chain payment channel)
该方案是在链下使用微支付通道网络处理大部分交易。区块链只作为清算层来处理一系列交易的最终清算,从而来减少底层区块链的负担。
这解决了我们前面讨论的吞吐量问题,区块链可处理交易的数量可提升一个量级。除此之外,由于交易都是在支付通道里处理的,无需等待区块确认,因此交易速度问题也得到了解决,消除了时延。
Raiden Network 和 Lightning Network 都是微支付通道网络的实例。
分片(Sharding)
分片的思想是把区块链的整体状态分割成不同的「片」,每部分状态都由不同的节点存储和处理。每个分片都只处理整体状态的一小部分,因此可以做到并行处理。区块链分片就像传统数据库的分片一样,但还需额外考虑如何在去中心化的节点集合里维持安全性和合法性。
链下计算(off-chain computation)
这个方案和状态通道很相似,但适用范围更广。其主要思想是以一种安全可证的方式,在链下处理一些在链上执行代价很高的计算。把计算和证明处理移到链下的独立协议里,可以提高交易吞吐量。一个实例是以太坊的 TrueBit。
DAG 有向无环图(Directed Acyclic Graph)
DAG 是有向无环图(Directed Acyclic Graph)的缩写,这是一种有顶点和边的图结构。DAG 可以保证从一个顶点沿着若干边前进,最后不能回到原点。由此我们可以给顶点进行拓扑排序。
然而,另一方面并没有得到足够的重视:在区块链存在一些技术壁垒,这使得它很难有效地应用于主流人群。这些技术壁垒包括:
1、可扩展性的限制2、隐私保护的限制3、缺乏契约的形式化验证4、存储限制5、不可证明的共识机制6、缺乏治理和标准7、缺乏开发工具8、量子计算机的威胁……
公链可扩展性的限制
[/br
一些 DAG 协议,如 IOTA 的 Tangle,丢弃了全局的线性区块概念,使用 DAG 数据结构来维持系统状态。为了保证网络安全,这些协议需要用某种新方法,使节点不需要用线性方式处理每一笔交易。
另一种 DAG 协议 SPECTRE protocol,使用了区块的 DAG 技术,可以并行挖矿,从而带来更大的吞吐量和更快的交易确认时间。
DAG 技术还处在早期阶段。老实说,它们也存在一些需要被解决的底层限制和缺陷。
区块链隐私保护的限制
区块链上的交易并没有直接关联到你的身份,这看起来似乎是可以具有隐私保护的。每个人都可以匿名地生成钱包,并进行交易。
然而,事实远没有这么简单。
区块链技术的巨大前景之一是假名(pseudonymity)的使用:交易被记录在公共账本里,但是它们又与由数字和字母组成的地址保持关联。因为无需将真实世界的身份信息关联到地址上,交易的发起者似乎是不可能被追踪的。
然而,这种想法是错误的。没有将假名关联到个人信息,这确实可以保护隐私。然而只要有人建立了链接,则隐私就不再是秘密。一个例子是执法机构坦言他们在调查时,可以识别比特币用户,对他们进行反匿名(deanonymizing)。
区块链隐私保护是怎么发生的呢?
商业网站的 Web Tracker 和 cookies 会轻易泄露与交易相关的信息。任何人,包括政府、执法机构和恶意用户都可以利用这些信息。
此外,区块链平台(如以太坊)的用户与智能合约进行着复杂交互。
智能合约的所有细节,包括发送者和接受者、交易数据、执行的代码和合约内部存储的状态,都是公开。
大部分公司都不会考虑把重要的商业数据上传区块链中,因为黑客、竞争者和其他非授权组织都可以轻易看到这些信息。思考一下:
电子医疗记录是十分隐私和敏感的信息。
身份识别数据如身份证不能在智能合约上公开。
凭证管理如密码和密钥都不能放在公开和不安全的智能合约中。
金融文件如股权结构表或员工薪资都不能公开。
这样的例子不胜枚举
隐私保护对于个人、组织和企业来说,都是一个本质挑战。许多人为区块链和数字货币着迷,是因为这个去信任和抵抗审查的系统能带来金融上的变革。矛盾的是,我们在使用的是一个公开且容易被追踪的账本。
区块链隐私保护解决方案
下面是一些不同开发团队正在努力实现的方案Elliptic Curve Diffie-Hellman-Merkle (ECDHM) addresses
理解 ECDHM 地址之前,你需要理解 Diffie-Hellman 密钥交换,其背后的思想在于双方之间建立一个共享的秘密。在公开网络里,这可以被用于交换秘密信息。
这是如何做到?
发送方和接收方共享 ECDHM 地址,然后通过共享的秘密将其转化成比特币地址。该比特币地址只会被拥有该秘密的人知道。唯一公开的东西只有可重复使用的 ECDHM 地址。因此,用户不用担心交易会被追踪。
然而,事实远没有那么简单。
区块链技术的一大前景是使用假名:交易记录在公共总账中,但它们与由数字和字母组成的地址相关联。因为不需要将真实世界的身份信息与地址相关联,所以似乎不可能追踪到交易的发起者。
然而,这种想法是错误的。没有与个人信息相关联的假名,真正能保护隐私。但是,只要有人建立链接,隐私就不再是秘密。一个例子是,执法机构承认他们可以识别比特币用户,并在调查时对他们进行去匿名化。
区块链的隐私保护是怎么发生的?
商业网站的Web Tracker和cookies很容易泄露与交易相关的信息。任何人,包括政府、执法机构和恶意用户,都可以利用这些信息。
ECDHM 地址方案包括 Peter Todd 提出的 Stealth Addresses,Justus Ranvier 提出的 BIP47Reusable Payment Codes 和 Justin Newton 提出的 BIP75 Out of Band Address Exchange。然而,没有一个方案得到实际应用。