深入浅出区块链
陈浩
元界 CTO
40685 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
深入浅出区块链
15
15
1.0x
00:00/00:00
登录|注册

第9讲 | 深入区块链技术(一):技术基础

共识算法能够解决双花问题
要求拜占庭将军容错
交易基于非对称加密的公私钥验证
只对添加有效
按时间序列化区块数据
数据库是区块链的数据载体
存储基于分布式数据库
提供基于密码学的公私钥管理体系
节点互为冗余备份
基于时间序列的链式数据块结构
提供拜占庭容错、保证最终一致性的分布式数据库
账户与交易模型
加密签名算法
分布式一致性算法
P2P网络协议
侧链
联盟链
公有区块链
区块链的特征
区块链的技术定义
核心技术组成
区块链的类型
技术基础
区块链技术概述

该思维导图由 AI 生成,仅供参考

在“浅说区块链基础”的部分中,我概括介绍了区块链的入门知识以及区块链的应用领域,在“深入区块链技术”部分的第一篇中,我将带你一起总览下区块链的技术概要,本篇提到的所有技术内容,我们都会在后续文章中进行详细的讲解。

区块链的技术定义

简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,我来举个例子,你就好理解了。
你可以想象有 100 台计算机分布在世界各地,这 100 台机器之间的网络是广域网,并且,这 100 台机器的拥有者相不信任,那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据本身可以客观反映交换历史。
通常我们在分布式系统领域也见到过上述的要求,比如第 2 条就阐述了分布式系统基本要求:一致性要求;基于少数服从多数原则是为了容忍网络分区;区块链就是解决上述问题的技术方案。
我们结合以往讲过的内容,和将要讲的内容,先提炼一下区块链在技术上的 7 个特征,你先记住,我们后续会慢慢道来:
区块链的存储基于分布式数据库;
数据库是区块链的数据载体,区块链是交易的业务逻辑载体;
区块链按时间序列化区块数据,整个网络有一个最终确定状态;
区块链只对添加有效,对其他操作无效;
交易基于非对称加密的公私钥验证;
区块链网络要求拜占庭将军容错;
共识算法能够“解决”双花问题。

区块链的类型

我们在讨论区块链时,通常指的是公有区块链。除此之外,还存在另外一种区块链:联盟链。
我们在前面的文章介绍过它。所谓联盟链,就是这个区块链具有准入许可,不像公链,任何人都可以随时进入。准入许可也就意味着候选节点进入区块链时需要得到已经在网络中的节点许可,所以联盟链也叫做许可链。
早期文章里可能还会涉及私有区块链的定义,其实我认为私有区块链更像是一个捏造的概念,如果是完全私有的分布式数据库,技术人员往往会有更好的选择。
如今云计算日趋成熟,大规模的分布式存储已经不是难题,不必在区块链这种低并发、低吞吐量的系统中折磨自己。
所以我们所说的区块链通常指的是公链。除了公链和联盟链的概念,还有一种区块链概念,叫作侧链。
侧链是一种双向挂钩技术,将主链中的代币锁定到侧链中使用。所以可以将主链看作主干道,侧链看作与主链相对独立的一条分支道,作为主链功能的低耦合拓展。

区块链的核心技术组成

无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

区块链技术的核心概念和技术要点 区块链技术作为一个提供了拜占庭容错和保证最终一致性的分布式数据库,具有重要意义。本文深入探讨了区块链的基础知识和核心概念。首先介绍了区块链的技术定义,强调了其作为分布式数据库的重要性。其次,详细讨论了区块链的核心技术组成,包括P2P网络协议、分布式一致性算法、加密签名算法和账户与存储模型。在分布式一致性算法方面,介绍了PoW、PoS和DPoS三种主流的共识算法,并对它们的特点进行了简要说明。此外,还涉及了加密签名算法和账户与交易模型的相关内容。文章还提到了区块链的类型,包括公有区块链和联盟链,并对私有区块链和侧链进行了简要介绍。总体而言,本文通过深入的技术讨论,为读者提供了对区块链技术的全面了解和认识。 区块链技术依赖的技术虽然不新,如非对称加密技术、P2P网络协议等,但区块链作为一个新兴的概念,具有革新性。类似乐高积木,有限的积木块可以组合出不同的革新事物,区块链也成为一个新的领域,现有的很多概念都能被“区块链化”。读者可以思考在自己的领域,哪些概念可以被“区块链化”,并进行讨论。 总的来说,本文为读者提供了对区块链技术的初步了解,使其能够快速把握区块链技术的核心概念和技术要点。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出区块链》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(26)

  • 最新
  • 精选
  • 泡泡
    陈老师好,有个问题请教下。就是在记账的过程中,分布式节点会更新全网的同一个账本,这个账本随着整个网络交易量的增大会量级倍增,这样的话,对于每个节点而言,需要的存储空间会变大。目前区块链对这块是怎么处理的?有没有其他方法?谢谢!

    作者回复: 以太坊上有状态分片,比特币可以做区块截断。对于普通用户来说,使用spv就可以了,只需要存储区块头信息

    2018-04-14
    2
    12
  • 神盾局局长
    区块链实现主流是什么编程语言?

    作者回复: c++和go两种语言为主

    2018-05-16
    2
    9
  • Ricky
    这篇讲的真的非常好,区块链虽然是新概念,但是所依赖的技术一点也不新:P2P网络协议➕数字加密算法➕数据库存储➕共识机制。

    作者回复: 谢谢呢

    2018-08-18
    6
  • 艾草
    陈老师,你好。关于公链,私链,联盟链对应的共识算法有什么不同,既然区块链是一个提供拜占庭容错的分布式数据库,公链的共识算法包括pbft算法吗?

    作者回复: 有的项目使用了变种,这个没有严格定义的。我倾向于不能包括,至少核心算法不能是pbft,pbft的消息传播复杂度是O(n^2),一个新区块20个节点要传播400次,网络带宽吃不消的。

    2019-02-27
    3
  • 开发者
    公钥到地址为啥要hash一次呢?不能直接用公钥当地址吗

    作者回复: 为了提高安全性,直接暴露公钥始终存在风险。

    2018-04-14
    3
  • 大猫
    陈老师,请问下用Java实现区块链技术,有哪些弊端,目前团队对Java比较熟。

    作者回复: 没有弊端,NXT就是Java的。生态可能没有cxx和go丰富而已。

    2018-06-17
    2
  • Abu
    「初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求 Peer 节点的地址数据以及区块数据。」 请问新加入的节点是如何找到已经存在的节点的呢?是否这里面还是有一个中心化的节点(比如一个大家都知道的域名、网站等等)保存着整个网络中当前有哪些peer节点呢?

    作者回复: 你好,这个在不同区块链上的策略不一样,但是大约都会hard code一些节点信息(通常是一组,域名加端口),所以即使初次启动,也可以通过DNS解析获得一些常在线的Peer以供初次启动。例如比特币的核心开发者会公布一些他们的常在线节点,其他公链的项目方也会官方维护一些种子节点,这个在我们元界的主网也有做,官方维护百多个节点确保全球流畅同步。 一旦链上p2p网络,那么就可以从其他peer获得更多的peer地址了。也就是文中的开始请求peer节点的地址数据

    2019-06-15
    2
    1
  • 逆水鱼
    请问,现在有四个局域网,而局域网间尽可进行文件级的数据传输,那么可以利用区块链技术解决传输过程中数据防篡改、安全一致吗?如果能,网络是不通的问题怎么解决区块链共识?如果不能,能说明下原因吗?谢谢

    作者回复: 能,可以参考IPFS协议哦。

    2018-09-05
    1
  • 梓航(﹏)
    老师,既然记账是生成区块,那么当比特币发行完以后,就不会有新区块生成了呀,这时候要怎么记账啊?

    作者回复: 一百年以后的事情。。。现在还没想到,也许到时候的价格,交易费都足以支撑旷工挖矿了

    2018-05-25
    1
  • teletime
    DPOS采用21个节点,还是去中心化么?中心化的信任安全性劣势是不是又存在了?

    作者回复: BM特色的去中心化,仁者见仁啦。 DPOS的核心是投票,属于事后处理,而不是预防

    2018-04-15
    1
收起评论
大纲
固定大纲
区块链的技术定义
区块链的类型
区块链的核心技术组成
显示
设置
留言
26
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部