火热的区块链技术了解一下
火热的区块链技术了解一下
一、 分布式存储
分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
分布式账本是一种在网络成员之间共享、复制和同步的数据库。分布式账本记录网络参与者之间的交易,比如资产或数据的交换。
[if !supportLists]1. [endif]网络中的参与者根据共识原则来制约和协商对账本中的记录的更新。没有中间的第三方仲裁机构(比如金融机构或票据交换所)的参与。
[if !supportLists]2. [endif]分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有交易的可审计历史记录。分布式账本技术的一种实现是开源HyperledgerFabric区块链。
共享账本
[if !supportLists]l [endif]区块链是一种共享账本技术允许业务网络中的各个参与方都可以看到账本内容
[if !supportLists]l [endif]账本提供了一种对所有成功状态变化的可验证的历史。账本有SHARED,REPLICATED和PERMISSIONED。多个账本对应多个加入的业务网络。
[if !supportLists]l [endif]Transactions –一种资产转移在账本上或是下了账本,例如小王给小张一辆车
[if !supportLists]l [endif]合约–Transactions发生的的条件,例如,如果小张给小王钱,然后这个车就应该从小王那给小张。如果车不能用,钱不会到小王账上。
二、 共识算法
多人共同记账,以谁记的为准?
共识算法名称中心化延时/吞吐量一致性适用区块链场景备注
实用拜占庭容错(PBFT)部分去中心化,预设了决策角色(无Leader)低/较高低/较高N/A后面所有协议本质上都是拜占庭容错的改进。几位将军如何在有一定数量个叛徒的条件下达成一致决策,即分布式系统如何在部分信任环境下如果取得状态一致
Paxos/RaftPaxos允许有多个Leader,Raft有单一Leader低/高最终收敛私有链、信任度高的联盟链简化了拜占庭将军问题,排除拜占庭节点的存在,仅考虑节点之间由于网络中断、系统崩溃等原因导致无法正常沟通时的状态一致性问题
工作量证明
Proof-of-Work(PoW)
完全去中心化高/低依概率收敛公有链首个在完全不信任的网络环境中可以达成状态一致的共识算法;需要消耗大量的计算资源,安全性依赖网络中诚实节点的计算资源总和
股权持有证明
Proof-of-Stake(PoS)
持有更多股份者有较大权利,可能有中心化倾向中/依赖实现依赖实现公有链、联盟链克服了PoW浪费大量算力的缺点。PoS的基本原理是将区块链系统内用户的一部分资源作为其信用的凭证,让其在一致性决策时拥有较大的话语权。例如和PoW结合可以依据资产降低挖矿难度;或者由资产最多的用户选择100位其它用户作为代表决策投票;或每若干块由持股人投票持久化分支;设计时考虑需短程攻击、长程攻击、无成本作恶等问题
典型改进协议
(Ripple、Stellar、Tendermint等)
依赖实现低/高最终收敛联盟链Ripple是拜占庭容错的一个实现,每个节点可以按照规则信任其它节点,每个共识周期中对尚未确认的Tx进行多轮投票来决定是否将其永久记录;Tendermint可以看作是PoS和PBFT的结合;Stellar恒星协议是提供了更灵活信任容忍度的经典PBFT改进方案
Intel PoET(Elapse Time)去中心化低/高最终收敛联盟链使用Intel的可信执行环境(TEE),根据芯片产生的等待时间随机产生Leader,生成新的Block;所有节点必须使用Intel的芯片
三、智能合约
智能合约是由事件驱动的、具有状态的、存储和运行在区块链上的程序。
四、安全和隐私技术
1. 如何防止分布式账本的伪造?
[if !supportLists]– [endif]利用数字签名,伪造一个他人的单个交易非常困难,除非能够获得他人数字证书的私钥
[if !supportLists]– [endif]另外分布式账本可以防止如下类型的篡改:
[if !supportLists]• [endif]删除历史交易
[if !supportLists]• [endif]伪造自己的历史交易
2.如何保障私密?
[if !supportLists]• [endif]确保交易仅仅向有限的全体可见,不对非授权的全体公开
[if !supportLists]• [endif]简单来看,分别使用授权用户的“公钥”加密“数据”,只有授权用户能够用自己的“私钥”解密数据
[if !supportLists]• [endif]实际实现,则通过“对称加密和公钥加密”相结合的方式
[if !supportLists]3. [endif]如何既保障交易私密,又可以实现监管
[if !supportLists]• [endif]“监管”是指无需交易方授权,监管者可以解密交易
[if !supportLists]• [endif]但监管不能侵犯“不可抵赖性”,即监管者不可以伪造别人的交易
[if !supportLists]• [endif]采用PKI体系的“双密钥对---签名密钥对和加密密钥对”模式来实现:
[if !supportLists]– [endif]证书持有者有一对签名用途的密钥对
[if !supportLists]– [endif]证书持有者有一对加密用途的密钥对
[if !supportLists]– [endif]CA签发证书时,对加密用途的密钥对进行备案,交由密钥管理中心存放
特定的情况下,提取某用户的解密私钥,解密相关的交易数据
[if !supportLists]– [endif]签名用途的密钥对仍然在用户端产生,不做备案
无私钥的情况下,无法伪造签名,因此无法伪造别人的交易
从证书申请,到证书生成,常规意义的CA/RA体系都可以保障签名密钥的用户私密性
[if !supportLists]4. [endif]如何保障隐私?
[if !supportLists]• [endif]确保从交易中无法追溯交易创建者的信息
[if !supportLists]– [endif]问题
由于交易中存在签名信息,而签名信息携带可以关联交易创建者证书的信息
证书中包含交易创建者的识别信息
如果不做实现特定的机制,交易中将可以追溯交易创建这的信息
[if !supportLists]• [endif]交易方持有多种类型的证书,交易不同环节将使用如下这些类型的证书:
E-Cert(Enrollment Cert)
长期持有,携带或可以追溯使用者信息
用于身份认证
T-Cert(Transaction Cert)
每个交易时生成,用于交易的签名
TLS-Cert,长期持有,主要用于SSL/TLS通讯
更多想知道的?速来点击:https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP008+Self-paced/about
来华为云学院(edu.huaweicloud.com),体系化培训课程,在线随时随地学习,带你轻松上云。