人才稀缺的区块链,程序员转型入门必看这四项技能

本文介绍了区块链的基本概念、运行机制,包括P2P网络、加密算法、数字签名、哈希加密和梅克尔树等关键技术,并探讨了工作量证明机制和开源项目,如Bitcoin、Ethereum和Hyperledger Fabric等,旨在帮助程序员理解区块链并顺利转型。
摘要由CSDN通过智能技术生成

本文着重从区块链的基本概念、运行机制、相关技术和开源项目及工具四个方面进行介绍。



作者 | 卿苏德



区块链(BlockChain),是区块(Block)和链(Chain)的直译,其数据结构如图1所示,即每个区块保存规定时间段内的数据记录,并通过密码学的方式,构建一条安全可信的链条,形成一个不可篡改、全员共有的分布式账本。


比特币的区块分为区块头和区块体两部分。区块头的大小为80字节,包括4字节的版本号、32字节(256位)的上一区块哈希值、32字节的Merkle根节点、4字节的时间戳、4字节的难度值和4字节的随机数。区块体包含10分钟内选定的交易记录,第一笔交易(coinbase交易)是用于奖励矿工比特币的特殊交易,由矿工自己添加进区块。




图1  区块链的数据结构示意图


基本概念


区块链是很多现有技术交叉融合在一起的集成创新。因此,要了解区块链,首先要了解区块链到底集成了哪些技术。


P2P网络


如图2所示,P2P(Peer-to-Peer)网络是一种端到端的网络。P2P网络分为结构化(例如基于Chord的P2P网络)和非结构化的P2P网络(例如Gnutella)。比特币的区块链采用的是非结构化P2P网络,整个网络没有中心化的硬件或管理机构,任一节点既是服务端,也是客户端。任何节点只要安装相应的客户端软件,就能接入P2P网络(例如BT软件),参与区块链的记录和验证,不超过1/3节点的损坏、退出甚至被植入恶意代码,都不会影响整个系统的运作。




图2  传统中心化系统和P2P网络的拓扑对比图


加密算法和数字签名


加密技术分为对称、非对称和哈希(Hash)加密。对称加密是指用同样的密钥来进行加密和解密,非对称加密是指用一个密钥对来进行加密和解密,哈希加密主要是通过对数据进行哈希运算,用固定的哈希结果值验证信息是否被篡改。


非对称加密


在非对称加密技术中,对外公开、分发出去的密钥叫做公钥,不能公开、自己留存的密钥叫做私钥。公钥加密的,对应的私钥才能解密。反之亦然。如图3所示。




图3  非对称加密RSA算法的简化示例图


非对称加密算法有RSA、DSA和ECC等种类,区块链使用的是基于椭圆曲线加密技术的数字签名(ECDSA),具体实现是secp256k1。ECDSA相当于是DSA和非对称加密ECC的结合。相比RSA算法,ECDSA具有计算量小、存储空间小、带宽要求低等特点。


数字签名


基于数字签名的通信机制工作原理,如图4所示,发送报文时,发送方用一个哈希函数从报文文本中生成文件摘要,然后用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方。接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公钥来对报文附加的数字签名进行解密,如果得到的明文相同,那么接收方就能确认传输的文件并未受到篡改,是安全可信的。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值