深入区块链技术(一):技术基础
# 🕵️♂️ 探长三生的区块链探险 🚀
Ahoy, 区块链探险家们!我是你们的指南,探长三生。在这次的探险中,我们将一起探讨那些隐藏在区块链丛林中的秘密。🌲🗝️
# 🚤 浅说区块链基础
在这个部分,我们将轻轻松松地探讨区块链的入门知识和应用领域。不要担心,这只是个开始,我们的探险才刚刚启航!
# 🚀 深入区块链技术
在这个深入的部分,我们将一起探索区块链的技术概要。所有提到的技术内容,我们会在后续的探险中进行详细的探讨。准备好你的探险装备,我们要深入探险了!
# 🧱 区块链的技术定义
区块链,简而言之,就是一个分布式数据库的超级英雄,它能够抵抗拜占庭的攻击,并保证最终的一致性。它是基于时间序列的链式数据块结构,所有的节点都是它的冗余备份,而且它还有一个基于密码学的公私钥管理体系来管理账户。
听起来有点复杂?让我们用一个简单的例子来理解它!
想象一下,有 100 台计算机分布在世界各地,这些机器的拥有者彼此不信任。我们如何通过算法(共识机制)为它们提供一个可信任的环境,并确保:
- 节点之间的数据交换过程不可篡改
- 已生成的历史记录不可被篡改
- 每个节点的数据会同步到最新数据,并验证最新数据的有效性
- 基于“少数服从多数”的原则,整体节点维护的数据本身可以客观反映交换历史
这些要求在分布式系统领域并不陌生。例如,第 2 条要求阐述了分布式系统的基本要求:一致性要求。基于“少数服从多数”的原则是为了容忍网络分区。区块链就是解决上述问题的技术方案。
让我们结合以往的内容和将要讲的内容,先提炼一下区块链在技术上的 7 个特征。你先记住,我们后续会慢慢道来:
- 区块链的存储基于分布式数据库;
- 数据库是区块链的数据载体,区块链是交易的业务逻辑载体;
- 区块链按时间序列化区块数据,整个网络有一个最终确定状态;
- 区块链只对添加有效,对其他操作无效;
- 交易基于非对称加密的公私钥验证;
- 区块链网络要求拜占庭将军容错;
- 共识算法能够“解决”双花问题。
# 🚁 区块链的类型
当我们谈论区块链时,我们通常指的是公有区块链。但除此之外,还有联盟链。联盟链,或称许可链,是一个需要准入许可的区块链,不像公链,任何人都可以随时进入。准入许可意味着候选节点进入区块链时需要得到网络中已存在节点的许可。
私有区块链?嗯,我个人认为它更像是一个捏造的概念。如果是完全私有的分布式数据库,技术人员通常会有更好的选择。在云计算日趋成熟的今天,大规模的分布式存储已经不是难题,我们不必在区块链这种低并发、低吞吐量的系统中折磨自己。
# 🧪 区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
# 1. P2P 网络协议
P2P 网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。...
# 2. 分布式一致性算法
在经典分布式计算领域,我们有 Raft 和 Paxos 算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的 PBFT 共识算法。...
# 3. 加密签名算法
在区块链领域,哈希算法是应用得最多的算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。...
# 4. 账户与交易模型
从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库。...
# 🎉 总结
今天我们一起探讨了区块链的技术概念、分类以及核心技术组成。希望你对区块链技