人才稀缺的区块链,程序员转型入门必看这四项技能-阿里云开发者社区

开发者社区> 安全> 正文

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

简介:

U8pYYUVvjB8rpO2wgorrLDCCiussMIKK6ywwr84q

作者 | 卿苏德

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

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

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

基本概念

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

P2P网络

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