一般而言,安全性的三要素包括:
- 保密性(Confidentiality):又称机密性,是指数据不泄露给非授权访问的用户或实体。
- 完整性(Integrity):指在传输、存储过程中,确保数据未经授权不能被改变,或在篡改后能够被迅速发现。
- 可用性(Availability):是指授权主体在需要信息时能及时得到服务的能力。各种对网络或节点的破坏、身份否认、拒绝服务(DoS)攻击、延迟使用,这些都会对可用性造成破坏。
除此之外,还有身份认证(Authentication)与上述三要素密切相关,只有在身份认证的基础上,才能进行有效的授权(Authorization)管理。
而要满足上述安全要素,不是任何单一技术能够完成的,而是需要依托多种安全技术的组合实现。换句话说,安全是跨越多个层次的技术体系。要了解区块链的安全,首先需要了解区块链系统的层次模型【4-1】。一个区块链技术的参考层次模型,如图4-1所示。
图4-1.区块链参考层次模型在这个模型中,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层 组成。
- 数据层:封装了底层区块数据,综合使用一系列密码学相关技术,一方面确保数据的安全可信,另一方面实现数据的隐私保护。
- 网络层:则包括安全传输机制、访问控制机制、P2P网络等;
- 共识层:主要封装网络节点的各类共识算法,实现分布式场景下的一致性;
- 激励层:将经济因素集成到区块链技术体系中来, 主要包括经济激励的发行机制和分配机制等;
- 合约层:涉及可编程脚本的运行环境、脚本语言、合约脚本, 是区块链可编程特性的基础;
- 应用层:封装了各种场景的具体区块链应用,其中,数字钱包是其中很重要的一环。
而区块链安全技术,则涉及上述六层 的方方面面。
如前所述的,区块链按照许可性的不同,可分为:
- 公有链(Public Blockchains),又称非许可型区块链(Permissionless-Bockchain),指全世界任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链。
- 私有链(Fully Private Blockchain),又称许可型区块链(Permission-Blockchain),指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。
- 联盟链(Consortium Blockchain),又称共享许可型区块链(Shared-Permission-Blockchain),指由几个中心化机构联合发起的、介于公有链和私有链之间、兼具部分去中心化功能、同时分布式网络节点又受到控制的区块链。
需要注意的是, 不同类型区块链对安全性技术的要求也不一样。
参考索引
【4-1】袁勇, 王飞跃. 区块链技术发展现状与展望[A]. 自动化学报,2016,42(4):481−494. 【链接1:百度文库,链接2:巴比特文库】
网友评论