μ译林——【NIST区块链技术综述】系列连载09

in cn •  6 years ago 

翻译:子轩 校对:Neo MA

2018年8月,美国国家标准与技术研究院(NIST)发布了"Blockchain Technology Overview"一文,较为全面、客观地梳理了区块链技术。文章颇具价值,μNEST将其译成中文,以飨读者,并用十期进行系列连载。本期为系列连载的第九期,从以下几个方面继续介绍关于区块链技术的局限和误解:网络安全、恶意用户、无信任、资源消耗、出块奖励不足、公钥基础设施(PKI)与身份标识(ID)。

7.5网络安全

区块链技术的使用并不能改变内在的网络安全风险,而很多这些风险与人为因素有关,这就需要深思熟虑以及主动的风险管理。一个好的网络安全程序最重要的是保护网络和参与者远离网络威胁,尤其是当黑客对区块链网络以及它们的缺陷有深入了解的时候。

现存的网络安全标准和指引仍在很大程度上适用于那些与区块链网络交互或依赖的系统。在现存标准和指引的基础上,根据区块链技术的特性进行针对性的调整,就可以为保护区块链免于网络攻击提供一个强大的基础。

除通用条例外,还有一些特殊网络安全标准也可以用在区块链技术上,这些标准已经存在并在很多产业中被广泛应用。比如,NIST网络安全框架明确表示并不存在“包治百病”的解决方案,每个组织都会面临不同的的威胁、不同的缺陷和不同的风险承受能力,基于框架如何具体实施行动会各有不同。也就是说,尽管框架不是专门为区块链技术设计的,但其标准也适用于区块链技术,并帮助机构组织制定方针和流程来识别和控制影响区块链技术的风险。

7.5.1网络及网络攻击

不可篡改的设计让区块链技术被吹捧为是极其安全的——交易一旦提交上链就无法更改,但这种说法只对记入链上区块内的交易成立。区块链网络中未被纳入链上区块的交易容易受到多种形式的攻击。交易时间戳、伪造时间或调整交易服务计时器的设置对交易的影响有好有坏,这使得时间和通讯时间成为一个攻击向量。抵御服务攻击可以在区块链平台或者智能合约平台上发起。

区块链网络及其应用对那些能扫描和发现网络弱点并发动0day攻击的恶意者并不免疫。匆忙部署区块链基础服务的结果是,新的应用程序可能包含新的和已知的漏洞以及部署缺陷,而这些可能遭受类似今天网站或应用受到攻击的方式被攻击。

7.6恶意用户

虽然区块链可以加强交易的规则和规格,但无法确保用户执行什么代码。这种问题通常发生在公链,因为公链用户是匿名的,他们身份信息与系统用户间不是一对一对应的。公链通常提供奖励(例如加密货币)来鼓励用户行为正当,但如果可以获得更多的收益,用户就有可能选择作恶。对恶意用户来说,要实施破坏的最大问题是需要获得足够的权力(算力,权益等等)。足够大的恶意串通一旦形成,恶意挖矿的行动可能包括:

无视特定用户、节点甚至整个国家的交易;

秘密创造一个可替换的分叉链,一旦分叉链的长度超过真实链就把它作为主链。诚实的节点会转到这个看似有更大工作量的链上,这对区块链防篡改的特性是一个挑战;

拒绝向其他节点传递区块,破坏信息的扩散(对那些不是完全去中心化的区块链而言则不是问题)。

当恶意用户的行为引致公愤并造成短暂伤害时,区块链网络可以用硬分叉来应对。造成的损失(丢钱)是否可以弥补取决于开发者和区块链的用户(的共识)。

恶意的网络用户之外,许可链网络的基础架构管理员也有可能作恶。比如,基础架构管理员可以(依赖特定配置)接管出块过程,剥夺一些用户执行交易的权利,改写区块历史、“双花”、删除资源、重置或堵塞网络连接。

7.7无信任

另一个误解是人们常听到区块链中没有“第三方信任主体”,并由此认为区块链网络是无信环境。尽管公链网络(许可链并不明显,因为系统管理员是被用户信任的)中没有第三方信任主体对交易进行验证,但区块链网络仍需要高度信任的支持:

对密码学技术的信任,如密码学算法或实现可能存在缺陷;

对智能合约的修订和漏洞修复操作的信任;

对开发者能开发出尽可能无漏洞的软件的信任;

对绝大多数区块链用户不会串通一气的信任。如果个人或团体可以对出块拥有超过50%以上的控制权,就有可能颠覆公链网络。但通常情况下,获得必要的算力代价过高;

用户不运行全节点时,节点公平地接受和处理交易时需要信任。

7.8资源消耗

区块链技术需要对世界范围内的每笔交易进行验证,且大量节点同步保存。对使用PoW共识模型的区块链网络而言,众多的出块节点消耗了大量的处理时间和电力。PoW模型对“难解答易验证”问题是非常有效的方案,但同时也花费了大量的资源。不同的应用和信任模型使很多许可链不需要使用资源密集型的证明方法也同样可以实现共识。

PoW共识模型是为了系统中的用户间不互信而设计的。出块节点并不总能通过解决难题的方式与系统博弈来控制区块链并添加交易上链。当然,PoW共识模型中解决难题时产生的能量消耗还是备受诟病的。

能源消耗的问题并非无足轻重。据估计,目前比特币网络消耗的电量大致与爱尔兰整个国家的用电量相当;到2020年比特币网络消耗的电量将与丹麦整个国家持平。软硬件技术的发展会推动解答难题方式的优化(减少用电量),但与此同时区块链网络的发展会导致解题难度的提升。

新的全节点被创建时会额外消耗资源,节点必须(通常是下载的方式)获取大部分或全部的区块链数据(本文写作时,比特币网络已经有175G的区块数据了),整个过程会消耗大量的网络带宽。

7.9出块奖励不足

一个潜在的局限是对矿工的奖励不足。由于激烈的竞争、出块节点池对计算资源消耗的增加、加密货币市场价格的高度不稳定等诸多因素,可能导致运行出块节点软件所消耗的成本要高于某一加密货币的预期回报,此时其他加密货币更高的预期收益就更有吸引力。

在无法对出块节点进行持续且足够奖励的加密货币中,存在出块和交易进程延迟的风险,相应地会导致对加密货币丧失信心、市场价值缩水,那么出块节点对该加密货币产生贡献的动力也会逐渐减少。更严重的时候,拥有大量资源的节点可以恶意修改区块链或拒绝为用户的交易提交进行服务。

7.10公钥基础设施(PKI)与身份标识(ID)

当听说区块链技术包含公钥基础设施时,一些人想当然地认为区块链会支持身份识别,然而事实并非如此。私钥和用户间、地址和公钥间都不一定是一一对应的关系。一个用户可以有多个私钥,一个公钥也可以生成多个地址。

数字签名是网络安全世界里的身份标识,但这是否可以用于区块链的身份管理尚有疑问。对区块链交易签名的验证过程与交易主体的私钥有关,但无法与主体的真实身份关联。有些情况下可以借助外部进程将私钥与真实身份进行关联,这单凭区块链无法实现。比如,执法机构可以要求交易所提供特定交易的关联人。另一个例子是,用户在其个人网站或社交媒体上发布加密货币地址以获得捐款,地址和现实世界中的身份标识就产生了联系。

当有可能在分布式账本支持的身份管理框架中使用区块链技术时,需要明白典型区块链项目的设计初衷并不是成为独立的身份管理系统,拥有安全的数字化身份远远不止实现一个区块链项目那么简单。

上期内容回顾:

https://mp.weixin.qq.com/s/JvySbtR_EQb2QpD8UN9Vkg

联系我们

homepage.png
Homepage:iotee.io

facebook.png
Facebook:NESTchain

twitter.png
Twitter:@miuNEST

telegram.png
Telegram:@miuNEST

reddit.png
Reddit:r/miuNEST

medium.png
Medium:μNEST

steemit.png
Steemit:μNEST

公众号二维码.png
微信公众号二维码

扫码添加小助手.gif

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!