[区块链技术] 基础介绍
发布于 3 年前 作者 liuzhen 768 次浏览 来自 7*24快讯

定义 简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库; 1. 从数据结构上看,它是基于时间序列的链式数据块结构; 2. 从节点拓扑上看,它所有的节点互为冗余备份; 3. 从操作上看,它提供了基于密码学的公私钥管理体系来管理账户 再举个简单例子说明: 你可以想象有 100 台计算机分布在世界各地,这 100 台机器之间的网络是广域网,并且,这 100 台机器的拥有者相不信任,那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得: * 节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改; * 每个节点的数据会同步到最新数据,并且会验证最新数据的有效性; * 基于少数服从多数的原则,整体节点维护的数据本身可以客观反映交换历史。 通常我们在分布式系统领域也见到过上述的要求,比如第 2 条就阐述了分布式系统基本要求:一致性要求;基于少数服从多数原则是为了容忍网络分区;区块链

就是解决上述问题的技术方案。先提炼一下区块链在技术上的 7 个特征: * 区块链的存储基于分布式数据库; * 数据库是区块链的数据载体,区块链是交易的业务逻辑载体; * 区块链按时间序列化区块数据,整个网络有一个最终确定状态; * 区块链只对添加有效,对其他操作无效; * 交易基于非对称加密的公私钥验证;区块链网络要求拜占庭将军容错; * 共识算法能够“解决”双花问题。

区块链的核心技术组成 无论是什么类型的链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型

**P2P 网络协议**

P2P 网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。 通常我们所用的都是比特币 P2P 网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求 Peer 节点的地址数据以及区块数据。

这套 P2P 交互协议也具有自己的指令集合,指令体现在在消息头(Message Header) 的命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能。

**分布式一致性算法**

区块链网络主要是解决拜占庭容错算法,通常由这三种 采用PoW 工作量证明算法、PoS 权益证明算法,以及 DPoS 代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是融入了经济学博弈的概念。后面章节会详细介绍

**加密签名算法**

在区块链领域,哈希算法是应用得最多的算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。 其中,难题友好性正是众多 PoW 币种赖以存在的基础,在比特币中,SHA256 算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。

而在莱特币身上,我们也会看到 Scrypt 算法,该算法与 SHA256 不同的是,需要大内存支持。

而在其他一些币种身上,我们也能看到基于 SHA3 算法的挖矿算法。以太坊使用了 Dagger-Hashimoto 算法的改良版本,并命名为 Ethash,这是一个 IO 难解性的算法。

当然,除了挖矿算法,我们还会使用到 RIPEMD160 算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。

除了地址,我们还会使用到最核心的,也是区块链 Token 系统的基石:公私钥密码算法。

在比特币大类的代码中,基本上使用的都是 ECDSA。ECDSA 是 ECC 与 DSA 的结合,整个签名过程与 DSA 类似,所不一样的是签名中采取的算法为 ECC(椭圆曲线函数)。

在加密算法这部分,很多人担心等量子计算机针对性的可以去破解现在的密码之后,会不会导致区块链再无安全可言。其实就个人理解而言,当量子计算机真的可以破解现有密码之后,加密算法和加密技术同样也会更新换代,是的当前量子计算机无法快速破解。

**账户与交易模型**

区块链的账本特性,通常分为 UTXO 结构以及基于 Account-Balance 结构的账本结构,我们也称为账本模型。UTXO 是“unspent transaction input/output”的缩写,翻译过来就是指“未花费的交易输入输出”。

这个区块链中 Token 转移的一种记账模式,每次转移均以输入输出的形式出现。而在 Balance 结构中,是没有这个模式的。

(本内容主要来源于极客时间 陈浩 老师的 深入浅出区块链。 做了部分精简,并指示抽取区块链技术一章节,如果感兴趣的可以通过链接订阅完整内容 https://time.geekbang.org/column/intro/76

欢迎使用OKX交易所
回到顶部