区块链7大常见误解你中招了吗?丨深氢商业

发布日期:2024-06-07 来源:半岛官网pg

  未来10年,区块链技术可能将释放巨大威力,区块链网络将成为像今天的电信网和互联网一样的社会基础架构。

  面对层出不穷的新概念与新名词,无论是企业和政府决策者还是普通大众,都亟需专业技术人员的辨析和讲解,以破解外界对区块链技术的各种迷思,正确认识区块链的优势和局限之处。

  人们对区块链的各种误解都会存在,甚至那些身处区块链行业的个人和机构都难以避免。这些误解有的是源于对区块链概念望文生义,有的可能是受早期一些文章中过时观点的误导,有的受业内少数“者”刻舟求剑般的观点影响,还有的是因为某些区块链项目炒作夸大甚至不实宣传,从而遮蔽了人们对区块链的正确认知。

  很多公链会明确声称自己的账本是不可篡改的,然而严格意义上来说,这种观点不完全准确。 一个去中心化程度高的公链的确有很强的防数据篡改能力,可以用在不少需要防数据篡改的场景下。

  一些区块链,如比特币、以太坊都可能在链的最“尾部”的区块出现被系统撤回的情况,这是它们的共识算法导致的正常现象(见下图)。只有当区块到达最终确定状态时,才能认为这一些数据已经相当难以被篡改,而在到达最终确定状态之前,都存在数据被修改的可能性。

  和误解一相同,有的人觉得数据上了链就再也不会丢失,从而获得“永生”了,这也是片面的理解。

  区块链上的数据确实不易丢失。但是,仍然是因为链的分叉(无论是其算法导致的软分叉,还是治理导致的硬分叉),以及其他极个别情况,节点规模小、去中心化程度不够的区块链整体遭到破坏因此导致数据丢失的情况并非不有几率发生。我们在误解一的例子中已经谈到,比特币的“最长链取胜”原则会偶尔导致短链尾部的数据被丢弃。

  因其分布式设计,区块链网络会创建许多备份,所有备份都点对点更新并同步相同的数据。区块链技术的一个好处是,每个用户都可以维护自己的数据副本。新的完整节点加入网络时,它们会接触发现其他完整节点,并请求区块链网络数据的完整副本,这使得数据的丢失或破坏变得困难。

  然而,区块链本身不能被认为是完全不可变的。The DAO事件的结果是以太坊数据回滚,即回滚到丢失以太币之前的数据,所以区块链项目并不存在绝对的数据永不丢失。另外,区块链网络还可能被攻击,在工作量证明共识系统中,攻击者只需获得足够的资源来超过区块链网络其余部分的区块创建速度(即持有超过50% 的资源用于生成新区块),即可发起攻击,只不过代价可能非常高昂。

  类似前述误解,尤其那些持有无政府主义观点的人们会存在夸大区块链能力的现象,认为由于具有去中心化特性,区块链不可能被封锁、关闭,甚至认为这是可拿来抗衡政府及执法部门的技术,其实这也是一种片面的理解。

  首先,对于处于小规模测试阶段的公链或联盟链,只要其运行的全部节点被关闭,这些区块链就消失了;其次,区块链是一种网络应用,如果某个地区的网络被完全切断,或者有人通过技术方法阻拦了某些网络通信,即使整个区块链网络没有被关闭,但对这个地区而言其实已经被关闭了。因此,假如慢慢的出现极端情况,即使是去中心化程度很高的公链也不能排除局部甚至整体被关闭的可能性。

  区块链的特点让每个参与者都可以保有完整的区块链数据,那么一个已经不能正常运行的区块链的少数备份节点数据是不是可以长久存在,并始终具有公开可验证的价值呢?如果整个区块链被关闭,即使有全网备份数据,这一些数据也失去了“可验证”的特性,因为没有办法验证这一些数据备份是否真实、没有被篡改,这一些数据因此也就失去了作为区块链上数据的价值。

  由于区块链采用了很多加密算法技术,很多人认为只要采用区块链技术和方案,系统就更安全,一些区块链系统集成公司出于商业目的也会宣传强调这点,但这并不正确,系统的安全程度未必会因为区块链本身而提高多少。

  事实上,这些年来,区块链网络系统被攻击、数字资产被盗等安全事故层出不穷。仅2019年,几乎每个月都有较大的安全事件爆发,价值超数百亿美元的链上资产被黑客或作恶者以不同的方式窃取,主要类型包括公链底层代码缺陷、智能合约代码缺陷、私钥被窃、携款跑路等。据新闻媒体报道,2019年仅智能合约漏洞事件就发生超百起,总损失超1000万美元。

  作为去中心化系统,区块链有许多天生的优势,但区块链系统始终是需要网络运行的系统,因此传统的网络安全策略和防攻击手段在区块链系统中同样必不可少。例如,在区块链系统中也许会出现“粉尘攻击”,即如果发送交易的费用很低或免费的话,攻击者可能在区块链网络中发送大量无意义的交易,造成网络拥堵。现在的区块链系统交易会收一定的手续费,其中一个缘由是防范此类攻击。

  加密算法是区块链的核心之一,它保证了用户与链的正常互动。不同的区块链可能会使用不相同的加密算法,但这些加密算法一般都是业已存在并被各行各业验证为安全可靠的,比如比特币和以太坊使用的椭圆曲线数字签名算法(ECDSA),并不是开发者自创的算法。但只要是人类设计的算法,就非常有可能存在漏洞。如果某天这些算法被证明不够安全,那所有使用这一些算法的技术都将面临同样的安全风险隐患。当然,区块链系统也可以升级换代,更换成更安全、可靠的加密算法。

  计算机系统的安全性其实取决于系统本身的安全性设计,和具体使用的某种技术并无必然联系。因此,当你听到“因为采用了区块链技术,所以我们的方案更安全”这样的说法时,需要格外警惕。

  “挖矿”的概念是从比特币使用的工作量证明共识机制演变而来的。因为在工作量证明中,节点需要做大量的简单运算才能得到一个答案。挖矿的抽象意义其实就是节点对区块链网络的贡献,若用户并没有为系统做出任何贡献,挖矿就只是制造虚假参与感的噱头。

  由于任何人都可以随意加入无许可链,无许可链的任何参与者都可能会是恶意用户,因此无许可链的维护十分艰难。这就是怎么回事比特币采用工作量证明,让大量节点参与计算。这样的话,如果有恶意节点想要篡改数据,需要控制总系统51%的计算资源才能发起攻击。但对于许可链来说,参与者本身是经过额外审核的,是可信任的,所以不需要通过增加矿工来保障系统的安全。许可链能够最终靠加强审核机制、完善防火墙网络等基础网络安全措施,加强系统的稳定性与安全性。

  事实上,区块链技术的使用并没有消除固有的网络安全风险,人们仍然需要深思熟虑、积极主动地进行风险管理。其中许多固有风险涉及人的因素,比如,若用户丢失私钥,则与该私钥相关联的任何数字资产都将丢失,因为重新生成相同的私钥在计算上是不可行的。如果私钥被盗,攻击者将可以完全访问由该私钥控制的所有数字资产。因此,强大的网络安全计划对于保护网络和参与组织免受网络威胁至关重要,特别是当黑客拥有更多关于区块链网络及其漏洞的知识的时候。

  现在的区块链系统建基于加密算法和签名算法,已经使用区块链的用户都知道私钥的重要性。由用户自己控制私钥的方式和传统互联网的用户账户密码方式有很大不同,由于近年来互联网账户被盗事件频发,有的人觉得由用户自己控制私钥的系统会更安全,实际上这也是一种误解。

  从整体系统角度来看,就安全性而言,由用户自己控制私钥的区块链系统和传统的用户账户密码设计的系统没有区别。然而,用户自己控制私钥的区块链系统其实就是把私钥保存的安全问题移交给了用户,系统不再对私钥丢失导致的问题承担相应的责任。传统的用户账户密码设计的系统相当于是由系统承担私钥保存的安全问题,账户密码仅仅是一道防线而已。

  从安全性角度而言,两种方式各有利弊。用户自己控制私钥方式的明显优点是系统从外部或内部被攻击的难度加大了,但问题是用户从此多了要自己管理私钥的烦恼,而且私钥一旦泄露是无法修改的,甚至用户明知已经泄露也没办法阻止攻击、挽回损失。另外,如果私钥丢失,系统运营者也无法为用户找回资产。

  相比之下,传统IT系统在这方面有更好的使用者真实的体验,用户保管私钥没这么大的心理上的压力,还有很多密码管理的实践,例如定期滚动管理用户密码(每过一段时间,系统会要求用户必须修改密码以防止泄露),用户担心密码有泄露可能可以主动更换密码、转移账户。这些安全实践目前在大部分区块链系统上都还没有很好的方法实现。

  很多人以为,只要采用区块链技术,互联网时代存在的隐私问题就能得到解决,实际上这是对区块链存在一种不切实际的期望。

  除了少数专注于隐私需求的区块链技术,包括比特币在内的大部分区块链并不实现真正的匿名。区块链上的数据基本完全公开,也就是与每笔交易相关的账户及其资金往来都很清晰,尽管不知道某个账户背后的主人是谁,但这个账户在区块链上的一举一动都是透明公开的,而且难以篡改。相比之下,传统互联网的业务数据往往不是全公开的,出现隐私问题常常是因为某些互联网公司出售或泄露了含有用户隐私的数据。

  区块链存在“隐私”的地方是,区块链的账户和它背后的真实用户身份在区块链上不存在对应关系。由于区块链的“自主账户”不需要向任何人或机构申请,因此没有一点信息能将这些账户与个人隐私信息关联起来。另外,很难从采用P2P 通信方式的区块链本身的记录里发现使用者的网络IP地址。从这个方面来看,区块链的匿名性的确比传统互联网应用更好,因为区块链上虽然交易信息全公开,但毕竟没有一点敏感的个人隐私信息,自然不存在泄露的问题。

  正因为区块链并非匿名,而是具有数据公开可验证的特点,所以目前日益普及的“数据上链”这一区块链技术应用方式并不是把个人和组织的隐私或敏感数据放上区块链,而是把数据真实性和一致性的证明信息(例如数据的哈希验证值)或者加密后的数据放在区块链上。目前业界正在探索开发的去中心化身份技术能够更好地解决隐私问题,但并不是所有区块链解决方案都默认采用去中心化身份技术。

  有部分区块链技术,例如ZCash、Mimblewimble 等,主打彻底的隐私匿名功能,虽在技术上能做到某些特定的程度的匿名,但其存在和应用在法律和监管领域面临严峻挑战,其应用前途还难以预料。

  因此,面对仍处于技术早期阶段的区块链,我们该以“区块链技术如何使我们受益”的思维方法来思考和运用,而不应一味纠结于“怎么样才可以使应用融入区块链技术范式”。我们该像对待其他任何新技术一样,准确深入地理解区块链技术的能力和局限,并在适当的情况下运用它。

  本文综编自冒志鸿、陈俊《区块链实战》,中信出版集团2020年6月出版。返回搜狐,查看更加多


区块链7大常见误解你中招了吗?丨深氢商业

发布日期:2024-06-07

  未来10年,区块链技术可能将释放巨大威力,区块链网络将成为像今天的电信网和互联网一样的社会基础架构。

  面对层出不穷的新概念与新名词,无论是企业和政府决策者还是普通大众,都亟需专业技术人员的辨析和讲解,以破解外界对区块链技术的各种迷思,正确认识区块链的优势和局限之处。

  人们对区块链的各种误解都会存在,甚至那些身处区块链行业的个人和机构都难以避免。这些误解有的是源于对区块链概念望文生义,有的可能是受早期一些文章中过时观点的误导,有的受业内少数“者”刻舟求剑般的观点影响,还有的是因为某些区块链项目炒作夸大甚至不实宣传,从而遮蔽了人们对区块链的正确认知。

  很多公链会明确声称自己的账本是不可篡改的,然而严格意义上来说,这种观点不完全准确。 一个去中心化程度高的公链的确有很强的防数据篡改能力,可以用在不少需要防数据篡改的场景下。

  一些区块链,如比特币、以太坊都可能在链的最“尾部”的区块出现被系统撤回的情况,这是它们的共识算法导致的正常现象(见下图)。只有当区块到达最终确定状态时,才能认为这一些数据已经相当难以被篡改,而在到达最终确定状态之前,都存在数据被修改的可能性。

  和误解一相同,有的人觉得数据上了链就再也不会丢失,从而获得“永生”了,这也是片面的理解。

  区块链上的数据确实不易丢失。但是,仍然是因为链的分叉(无论是其算法导致的软分叉,还是治理导致的硬分叉),以及其他极个别情况,节点规模小、去中心化程度不够的区块链整体遭到破坏因此导致数据丢失的情况并非不有几率发生。我们在误解一的例子中已经谈到,比特币的“最长链取胜”原则会偶尔导致短链尾部的数据被丢弃。

  因其分布式设计,区块链网络会创建许多备份,所有备份都点对点更新并同步相同的数据。区块链技术的一个好处是,每个用户都可以维护自己的数据副本。新的完整节点加入网络时,它们会接触发现其他完整节点,并请求区块链网络数据的完整副本,这使得数据的丢失或破坏变得困难。

  然而,区块链本身不能被认为是完全不可变的。The DAO事件的结果是以太坊数据回滚,即回滚到丢失以太币之前的数据,所以区块链项目并不存在绝对的数据永不丢失。另外,区块链网络还可能被攻击,在工作量证明共识系统中,攻击者只需获得足够的资源来超过区块链网络其余部分的区块创建速度(即持有超过50% 的资源用于生成新区块),即可发起攻击,只不过代价可能非常高昂。

  类似前述误解,尤其那些持有无政府主义观点的人们会存在夸大区块链能力的现象,认为由于具有去中心化特性,区块链不可能被封锁、关闭,甚至认为这是可拿来抗衡政府及执法部门的技术,其实这也是一种片面的理解。

  首先,对于处于小规模测试阶段的公链或联盟链,只要其运行的全部节点被关闭,这些区块链就消失了;其次,区块链是一种网络应用,如果某个地区的网络被完全切断,或者有人通过技术方法阻拦了某些网络通信,即使整个区块链网络没有被关闭,但对这个地区而言其实已经被关闭了。因此,假如慢慢的出现极端情况,即使是去中心化程度很高的公链也不能排除局部甚至整体被关闭的可能性。

  区块链的特点让每个参与者都可以保有完整的区块链数据,那么一个已经不能正常运行的区块链的少数备份节点数据是不是可以长久存在,并始终具有公开可验证的价值呢?如果整个区块链被关闭,即使有全网备份数据,这一些数据也失去了“可验证”的特性,因为没有办法验证这一些数据备份是否真实、没有被篡改,这一些数据因此也就失去了作为区块链上数据的价值。

  由于区块链采用了很多加密算法技术,很多人认为只要采用区块链技术和方案,系统就更安全,一些区块链系统集成公司出于商业目的也会宣传强调这点,但这并不正确,系统的安全程度未必会因为区块链本身而提高多少。

  事实上,这些年来,区块链网络系统被攻击、数字资产被盗等安全事故层出不穷。仅2019年,几乎每个月都有较大的安全事件爆发,价值超数百亿美元的链上资产被黑客或作恶者以不同的方式窃取,主要类型包括公链底层代码缺陷、智能合约代码缺陷、私钥被窃、携款跑路等。据新闻媒体报道,2019年仅智能合约漏洞事件就发生超百起,总损失超1000万美元。

  作为去中心化系统,区块链有许多天生的优势,但区块链系统始终是需要网络运行的系统,因此传统的网络安全策略和防攻击手段在区块链系统中同样必不可少。例如,在区块链系统中也许会出现“粉尘攻击”,即如果发送交易的费用很低或免费的话,攻击者可能在区块链网络中发送大量无意义的交易,造成网络拥堵。现在的区块链系统交易会收一定的手续费,其中一个缘由是防范此类攻击。

  加密算法是区块链的核心之一,它保证了用户与链的正常互动。不同的区块链可能会使用不相同的加密算法,但这些加密算法一般都是业已存在并被各行各业验证为安全可靠的,比如比特币和以太坊使用的椭圆曲线数字签名算法(ECDSA),并不是开发者自创的算法。但只要是人类设计的算法,就非常有可能存在漏洞。如果某天这些算法被证明不够安全,那所有使用这一些算法的技术都将面临同样的安全风险隐患。当然,区块链系统也可以升级换代,更换成更安全、可靠的加密算法。

  计算机系统的安全性其实取决于系统本身的安全性设计,和具体使用的某种技术并无必然联系。因此,当你听到“因为采用了区块链技术,所以我们的方案更安全”这样的说法时,需要格外警惕。

  “挖矿”的概念是从比特币使用的工作量证明共识机制演变而来的。因为在工作量证明中,节点需要做大量的简单运算才能得到一个答案。挖矿的抽象意义其实就是节点对区块链网络的贡献,若用户并没有为系统做出任何贡献,挖矿就只是制造虚假参与感的噱头。

  由于任何人都可以随意加入无许可链,无许可链的任何参与者都可能会是恶意用户,因此无许可链的维护十分艰难。这就是怎么回事比特币采用工作量证明,让大量节点参与计算。这样的话,如果有恶意节点想要篡改数据,需要控制总系统51%的计算资源才能发起攻击。但对于许可链来说,参与者本身是经过额外审核的,是可信任的,所以不需要通过增加矿工来保障系统的安全。许可链能够最终靠加强审核机制、完善防火墙网络等基础网络安全措施,加强系统的稳定性与安全性。

  事实上,区块链技术的使用并没有消除固有的网络安全风险,人们仍然需要深思熟虑、积极主动地进行风险管理。其中许多固有风险涉及人的因素,比如,若用户丢失私钥,则与该私钥相关联的任何数字资产都将丢失,因为重新生成相同的私钥在计算上是不可行的。如果私钥被盗,攻击者将可以完全访问由该私钥控制的所有数字资产。因此,强大的网络安全计划对于保护网络和参与组织免受网络威胁至关重要,特别是当黑客拥有更多关于区块链网络及其漏洞的知识的时候。

  现在的区块链系统建基于加密算法和签名算法,已经使用区块链的用户都知道私钥的重要性。由用户自己控制私钥的方式和传统互联网的用户账户密码方式有很大不同,由于近年来互联网账户被盗事件频发,有的人觉得由用户自己控制私钥的系统会更安全,实际上这也是一种误解。

  从整体系统角度来看,就安全性而言,由用户自己控制私钥的区块链系统和传统的用户账户密码设计的系统没有区别。然而,用户自己控制私钥的区块链系统其实就是把私钥保存的安全问题移交给了用户,系统不再对私钥丢失导致的问题承担相应的责任。传统的用户账户密码设计的系统相当于是由系统承担私钥保存的安全问题,账户密码仅仅是一道防线而已。

  从安全性角度而言,两种方式各有利弊。用户自己控制私钥方式的明显优点是系统从外部或内部被攻击的难度加大了,但问题是用户从此多了要自己管理私钥的烦恼,而且私钥一旦泄露是无法修改的,甚至用户明知已经泄露也没办法阻止攻击、挽回损失。另外,如果私钥丢失,系统运营者也无法为用户找回资产。

  相比之下,传统IT系统在这方面有更好的使用者真实的体验,用户保管私钥没这么大的心理上的压力,还有很多密码管理的实践,例如定期滚动管理用户密码(每过一段时间,系统会要求用户必须修改密码以防止泄露),用户担心密码有泄露可能可以主动更换密码、转移账户。这些安全实践目前在大部分区块链系统上都还没有很好的方法实现。

  很多人以为,只要采用区块链技术,互联网时代存在的隐私问题就能得到解决,实际上这是对区块链存在一种不切实际的期望。

  除了少数专注于隐私需求的区块链技术,包括比特币在内的大部分区块链并不实现真正的匿名。区块链上的数据基本完全公开,也就是与每笔交易相关的账户及其资金往来都很清晰,尽管不知道某个账户背后的主人是谁,但这个账户在区块链上的一举一动都是透明公开的,而且难以篡改。相比之下,传统互联网的业务数据往往不是全公开的,出现隐私问题常常是因为某些互联网公司出售或泄露了含有用户隐私的数据。

  区块链存在“隐私”的地方是,区块链的账户和它背后的真实用户身份在区块链上不存在对应关系。由于区块链的“自主账户”不需要向任何人或机构申请,因此没有一点信息能将这些账户与个人隐私信息关联起来。另外,很难从采用P2P 通信方式的区块链本身的记录里发现使用者的网络IP地址。从这个方面来看,区块链的匿名性的确比传统互联网应用更好,因为区块链上虽然交易信息全公开,但毕竟没有一点敏感的个人隐私信息,自然不存在泄露的问题。

  正因为区块链并非匿名,而是具有数据公开可验证的特点,所以目前日益普及的“数据上链”这一区块链技术应用方式并不是把个人和组织的隐私或敏感数据放上区块链,而是把数据真实性和一致性的证明信息(例如数据的哈希验证值)或者加密后的数据放在区块链上。目前业界正在探索开发的去中心化身份技术能够更好地解决隐私问题,但并不是所有区块链解决方案都默认采用去中心化身份技术。

  有部分区块链技术,例如ZCash、Mimblewimble 等,主打彻底的隐私匿名功能,虽在技术上能做到某些特定的程度的匿名,但其存在和应用在法律和监管领域面临严峻挑战,其应用前途还难以预料。

  因此,面对仍处于技术早期阶段的区块链,我们该以“区块链技术如何使我们受益”的思维方法来思考和运用,而不应一味纠结于“怎么样才可以使应用融入区块链技术范式”。我们该像对待其他任何新技术一样,准确深入地理解区块链技术的能力和局限,并在适当的情况下运用它。

  本文综编自冒志鸿、陈俊《区块链实战》,中信出版集团2020年6月出版。返回搜狐,查看更加多