区块链笔记3-区块链典型技术

区块链笔记3-区块链典型技术

本学习笔记为本人从正规合法信息来源获取的信息,且为个人学习笔记,未用于商业用途。并且是关于IT领域区块链知识的介绍,并非违法违规内容。主要信息来源于清华大学出版社 《区块链技术及应用》一书

继续之前专栏中的内容,完成区块链技术中关键技术种类的介绍,主要对象为数字签名、共识算法、智能合约、P2P网络。

①数字签名

使用数字签名来实现区块链网络中的权限控制,并识别交易发起者的合法身份,防止恶意节点冒充身份对整个网络的影响。
数字签名并不是电子版的签名图片,而使使用密码学领域的相关算法对签名内容进行处理后获取的内容。数字签名常常采用非对称加密算法,使用公开的公钥进行验证以获得节点的身份合法性,私钥为签名所用,产生附着在原消息中的额外消息。

数字签名与验证数字签名的基本流程
①发送方A对原始的数据通过哈希算法计算数字摘要,并使用私钥对数字摘要做加密,得到加密后的数字签名。
②数字签名与A的原始数据一起发送给验证签名的一方。

①签名的验证方需要持有发送方A的非对称密钥对的公钥。
②在接收到发送方A传递的数据之后,首先使用公钥对数字签名进行解密,得到初始的摘要值。
③对A的原始数据用同样的哈希算法计算摘要值,并进一步对比这个摘要值和解密得到的摘要值是否相同,若相同则验证通过。
数字签名在区块链中的使用
节点在进行交易时,将交易内容使用私钥进行签名,将签名附加在交易信息中,其他节点在收到广播消息之后,先对交易中附加的数字签名进行验证,校验通过之后该交易才能进入到后期处理中。

②共识算法

功能算法解决的是区块链网络中各个节点之间传递和纪录信息的正确性和安全性问题——考虑到庞大的网络中有数量众多的节点,需要使用一种算法保证各个节点纪录的交易内容和顺序一致,并排除可能存在的恶意节点对网络正常工作情况的干扰。
当前主流的共识算法分为四大类:
①工作量证明算法PoW
当前BTC网络和ETH网络中使用的共识算法,通过使用一道难题提供给全部节点,并赋予率先解题的节点记账权(挖出一个区块)的方式实现节点共识。使用PoW方式的记账便于控制链增长的速度,并根据全网节点数量动态调整难度,在第一个节点完成了求解之后,便于在全网所有节点之间传播并验证,降低恶意节点控制区块后续生成的可能性。
但是,PoW算法给每个节点产生了巨大的计算开销,随着全网节点数的增长,难度也产生了巨大的提高,这带来了巨大的能源浪费。
②凭证类共识算法Po*
使用节点的某些属性(币时=持币数*持币时长;可贡献的计算资源;声誉情况等)进行节点的信用证明,使用POS为例的共识算法取代PoW算法,可以极大地降低网络整体的出块开销,有选择性地分配出块资源。
但是,这种共识算法的中心化程度更高,与区块链去中心化的思想相违背,给网络中每个节点的激励不够明确,很难调动节点参与共识的动力。
③拜占庭容错类算法BFT
所有节点协同工作,使用协商的方式产生被所有节点认可的区块,优化BFT算法最早被用来解决拜占庭将军问题,但是此类算法的协商轮次很多 ,产生的沟通开销较大,此类算法不适用于节点数超过100的较大的系统。
④结合可信执行环境的共识算法
软硬件结合的算法,保证在可信的硬件资源上有更为可信的执行环境,消除恶意节点的恶意操作,大幅提升共识算法的性能。

③智能合约

使用程序代码进行控制的合约,在设置了固定的响应时间和响应条件的基础上,设置高效简单的裁决合约。避免了现实合约中可能由于恶意违约产生的耗费时间和金钱成本的司法解决程序,提高合约的履行度并降低合约成本。
基于区块链的智能合约需要包括事务处理机制、数据存储机制以及完备的状态机用于接受和处理各种条件。智能合约的事务出发、处理与保存都必须在链上进行。当满足了触发条件之后吧,智能合约会根据预设逻辑,读取响应数据并进行计算,最终将计算结果永久保存在链式结构中。
智能合约虽然拥有简单有效的特点,但同时也由于开发工作由软件从业者而不是专业律师完成,相对传统合约可能会更容易产生逻辑上的漏洞;此外,使用不同的程序语言进行编写的智能合约也可能产生逻辑漏洞或分歧,需要注意智能合约的合法性和逻辑的完备性。
为了避免这些问题,以太坊项目规定用户被限制使用制定的以太坊语言完成智能合约的编写以保证其上运行的智能合约在执行动作上的确定性。

④P2P网络

即对等计算机网络(Peer-To-Peer Network),消除了中心化的服务节点,将多有的网络参与者视为对等者(Peer),并在他们之间进行任务和工作负载的分配。P2P模式不同于传统的CS模式,去除了中心服务器,依靠用户群体共同维护,由于不再以来中心服务节点,因此P2P网络具有极强的可靠性,通常情况下,P2P网络中的节点数目越多,P2P网络提供的服务质量也越高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值