主页 > imtoken官方网址 > 【干货】区块链技术生态设计 | 《白话区块链》作者蒋勇分享回忆录

【干货】区块链技术生态设计 | 《白话区块链》作者蒋勇分享回忆录

imtoken官方网址 2023-06-28 07:08:04

以太坊区块链浏览器咋下载_sitechainb.com 以太坊区块链查询_区块链技术来源于以太坊对吗

1个

区块链技术栈

本节内容主要是介绍区块链本身的一个技术栈。 关于区块链的话题和应用场景很多。 今天想从一个比较基础、比较技术的角度来介绍一下区块链的组成原理。

区块链系统

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

上图列举了部分区块链系统,可以看出所有系统中主要有两种类型:

第一类称为基础服务链。 比特币也属于基础服务链,虽然它的功能是以货币的形式体现的。 以太坊是基础服务链,可以提供自定义脚本合约,而侧链和中继链是属于多链连接的基础服务。 基础服务链本身不具备任何应用定制功能。 主要提供操作系统等基础设施,拥有完善的区块链技术栈。

第二类是链上应用。 包括基于以太坊的预测服务; 基于以太坊的通讯系统,类似于微信; 以及其他各种分布式应用程序。

我们今天关注的是基础服务链包括哪些组件。

基础链技术栈

以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询

就这个基础区块链系统而言,无论是什么类型,比如比特币、莱特币、以太坊,或者其他比特股等,其核心技术主要由这六个模块组成:共识算法、密码算法、脚本系统、账户模型、区块链分类账和网络服务。 下面分别介绍各个模块的工作原理。

区块链账本

区块链技术来源于以太坊对吗_以太坊区块链浏览器咋下载_sitechainb.com 以太坊区块链查询

从这六个模块中,我们也可以发现,其实在分解到技术底层的时候,和我们传统的技术开发并没有什么区别。 它仍然是由这些最基本的技术组成的。 以区块链账本为例。 如果去掉各种区块链术语和一些神秘的描述,其实就是一个数据库系统,核心是账本数据库。 那么这个账本数据库中的账户是如何体现的呢? 它通过密码算法中的公钥算法体现出来。

举一些比特币或者以太坊的例子,比如我们知道比特币中有公钥和私钥的概念区块链技术来源于以太坊对吗,地址是由公钥转换而来的,所以在这个账本数据库中,其账户主要提供在这个公钥算法的形式,和我们平时系统直接注册生成,保存在用户表中有很大的不同。

密码算法在区块链系统中有很多应用。 除了账户地址,还有哈希。 所谓区块链,就是一个个区块链接起来。 这些块是由什么链接起来的? Hash,每个区块的哈希值。 一个区块还包括许多交易。 例如,一个比特币区块包含许多交易。 每笔交易都会被计算为一个哈希值,所有的哈希值都会被计算为一棵梅花树。 Kerr树(Merkle树是哈希值以树状结构聚合而成的哈希树),通过密码学算法运行在脚本系统中。

什么是脚本系统? 下面简单介绍一下比特币转账机制。

首先,以银行为例。 在银行里,如果我的账户要转100元到另一个账户,通常会先从我的账户中扣除100元,然后再向目标账户中添加100元。 但是几乎所有的区块链系统都不会这样做(当然也不是绝对绝对,有的系统会支持这种直接扣减同时增加转账数据的操作),以比特币为例,所谓我转100元钱,不是扣我100,而是找之前别人给我的转账,满足100的金额,然后创建一个新的交易。 也就是说,它不是一个普通的减法、加法等动作,而是一个下发赋值给目标地址的动作程序。

目标地址是什么? 这是我指向的另一个目标的比特币地址。 因为这个数据会在全网广播,所有的比特币节点都能收到。 那么如何保证目标地址的拥有者能够收到这笔金额呢? 如前所述,地址是由公钥转换而来的。 如果要用我转发的交易,对方只能用自己的公钥和自己的私钥匹配。 匹配成功后,说明他可以消费这笔金额。 也就是说,转账过程实际上是由比特币内部的一个程序来匹配的,这也是脚本系统的一个功能,类似于虎符的匹配。

对于分布式系统,共识算法是指在互联网异步网络环境下如何保证各节点数据一致的机制。 它是整个区块链系统的核心。 如果没有有效的共识机制,区块链作为一个分布式系统将无法作为一个统一的网络存在。

我们知道,如果一个系统运行在公司内部机房,或者联盟,比如银行之间,保持数据的一致性并不是很难,因为网络环境好,节点数量和Node状态,包括各种权限等都经过认证。 但在开放的互联网上,这一切都是未知的。 因此,无论是以太坊还是比特币等公链系统,其所能达到的节点一致性称为最终一致性,即没有数学证明它是一致的。 如果有人做过一些日常的转账操作,通常会看到需要确认多个区块。 比如比特币会提示等待六个区块的确认,以确保转账没有问题。 以太坊会建议至少等待15个区块进行确认等。也就是说,它不能保证最终完全一致,只能从概率的角度解决这个问题。

如果我转账的交易已经被很多区块确认过,那就说明它被放弃的概率很低。 这些是公链区块链技术的一些特点。

帐户模型

我们可以简单地将区块链系统中的账户看成一个状态机。 不同的区块链系统以不同的方式实现账户对象,比如比特币,它是一个纯地址、私钥和公钥; 而以太坊,它不仅有这样的私钥和公钥地址的形式,其中还包含类似银行的账户对象。 每个区块链系统都有自己的特点,但无论是哪种系统,我们都可以统一将账户对象看成是一个状态机。

以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询

如图所示,这个账户对象会经过一个初始状态,然后经过各种转账(当然不一定是转账,区块链系统不只是用来转账的,这只是一个例子) ,简而言之,经过一些Operation,状态发生了各种变化,而每次状态变化后区块链技术来源于以太坊对吗,写一个状态回执,再回写一个状态回执,形成一个闭环的验证过程。 这就是区块链系统中的账户模型。

帐户模型的性质

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

我在这里给出的是比特币的例子。 在比特币中,我们可以看到它在不断地输入和输出。 也可以说,就像库存一样,有入库和出库之分,每次出库都要对应上一次入库。 就是这样一种联系关系。

加密算法

区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载

密码算法的应用,在目前已经出现的区块链系统中,整个密码算法的应用都包含在图中所示的范围内。

共识算法

区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载

共识的本质是对并发差异强制序列化。 因为它没有中心服务器,所以没有实际参考,哪个数据为主,而在互联网公链的异步网络模型下,根据FLP理论,异步网络中没有一个那是完全可以确定的。 保持一致的算法。 共识算法的目的就是在这种场景下将各个节点之间数据的并发差异序列化。

例如,在确定性网络中,我们在公司内部有一个可追溯系统。 由于此时网络是确定性的,因此通常使用基于投票的机制。

在异步网络中,比如比特币和以太坊,目前最实用的方法是基于一定难度的竞争机制,比如比特币挖矿。 因为在异步网络中,如果通过投票达成共识,效率太低,不现实。 当然,这不是绝对的。 一些公链共识算法会综合设计不同的算法思路。

区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载

如图所示,我大致罗列了几种主流的共识算法。

简而言之,共识算法就是通过一定的方法选出这样一个具有代表性和权力包的节点。

脚本系统

区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载

脚本系统首先进行数据资产所有权的匹配执行。 完整脚本系统的代表是以太坊,可以开发合约。 所谓智能合约,其实就是一个脚本系统。 比特币中的脚本系统比较薄弱,因为它的设计只是为了实现币这种东西,而以太坊扩展了脚本系统,可以让我们使用图灵完备的语言来开发自己的一些业务逻辑。 在这个上面我们可以开发一个游戏,比如之前流行的加密数字猫,或者开发一个众筹合约,或者开发自己的合约token,或者放某种商业应用,比如融资租赁或者某种溯源管理等等。 . .

以太坊的整个脚本系统其实包含了数据和业务逻辑,验证通过后就可以执行了。 请注意,此执行可以在所有节点上执行,而不是特定或特殊节点。

互联网服务

区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载

网络服务也是很核心的,图中列出了几个重要的点:

2个

区块链的应用价值

以上是从技术层面对区块链技术栈的简单介绍,那么区块链技术有哪些特点,能够解决哪些实际问题呢? 它的价值在哪里? 本节将重点介绍区块链技术的价值。

代币设计

以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询

它的价值主要体现在传球方面。 通常我们在设计区块链系统的时候,我个人是建议经济模型的设计是绕不开的。 如果我们把它纯粹当作一个数据库系统,我们还有更好的选择。 传统的集群设计数据库系统可以完全解决溯源、事务等各种问题。 比如京东的电商就是一个交易系统。 没有必要制作区块链。

区块链技术价值的体现在于经济模型的设计。 比如比特币,为什么大家一直在跑这个东西,先不说它的炒作,从它的机制来看,它首先通过一种挖矿的方式实现了发币,让社区的矿工等包装商可以获得好处。 通过这样的经济模型,整个网络可以在没有实际权威公司提供服务的情况下很好地运行。

这也适用于其他领域。 我们在设计一个区块链系统的时候,一定要检查它是否有一个经济模型。 如果它没有经济模型,那么一般来说,它是可替换的或者不必使用块。 链技术。 经济模型的意义在于它是一个公共操作系统和公链系统。

延伸技术

区块链技术来源于以太坊对吗_以太坊区块链浏览器咋下载_sitechainb.com 以太坊区块链查询

可扩展技术是非区块链的核心技术栈,是非常重要的补充。

侧链和闪电网络

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

如图所示,就是侧链/闪电网络与主链的关系。 它与主链配合,可以看作是集群的备份和负载均衡。

甲骨文

以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询

预言机是外部信息如何进入链,链上数据如何到外部。 Reality Keys和Oraclize是目前比较典型的两种开源方案。 我们可以在 GitHub 上看到他们的代码。 这两种方案都没有经过严格完整的实战验证。

零知识证明

sitechainb.com 以太坊区块链查询_区块链技术来源于以太坊对吗_以太坊区块链浏览器咋下载

零知识证明主要是利用加密算法,即隐藏发送方和接收方之间的交易信息,但是隐藏之后,别人如何验证你的数据是否正确合法呢? 在这种情况下,进行该技术应用。

Zk-SNARKS算法是目前主流的零知识证明算法框架。 一般在开发零知识证明代码时,主要使用这套方法。 它是从 zcash 派生出来的。 零知识证明算法还有其他应用,包括同态隐藏、多项式盲求值、知识系数检验和假设等。

在商业应用环境中,零知识证明有着比较重要的地位,因为它是对加密状态下数据的检测,一般不适合在公链上直接商业使用,因为商业应用对健壮性要求比较高数据加密。

跨链协议

sitechainb.com 以太坊区块链查询_区块链技术来源于以太坊对吗_以太坊区块链浏览器咋下载

跨链协议通过中继链提供多个链系统的数据交换。 其目的是一方面缓解单链的性能压力,另一方面提供链与链之间的层次结构。 之前在以太坊,我们发现在它的网络极度拥塞的时候(比如数字加密猫的出现导致整个网络极度拥塞,几乎不可用),以太坊官方曾经提出过一种分片的方法,但是这个方法实际上是以降低安全性为代价。 它的一个基本概念是,过去需要在全网广播这些数据的最终一致性,但现在考虑如果全网有10000个节点,已经同步了4000个节点。 这种方法实际上降低了资产链的安全性。

更好的做法其实是提供分层链,即每条链仍然是完整的,两条链或多条链之间的同步存在多点共识。 目前,以太坊官方也在全球招募技术开发者,共同探讨和实践这方面的内容。

3个

目前主流系统

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

公共链:比特币、以太坊、比特股、瑞波网络。

联盟链:Fabric是Hyperledger下的子项目,不是链,而是联盟链的开放框架,是开源的,可以直接使用。

EEA被称为企业级以太坊。 以太坊本身是一条公链,但是在应用于企业场景时,提出了EEA企业级以太坊的概念。 企业级以太坊目前有一个源码实现Quorum,就是Morgan提供的EEA实现。 它的源码也在GitHub上,大家可以去看看。

公链和联盟链在功能上的主要区别是联盟链支持更多的鉴权、综合验证等。一般来说,联盟链本身并不是一条链,更多的是一个技术开发框架。 用户可以自己部署网络。

4个

区块链生态

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

着眼于整个区块链的生态,上图是我个人观点的一个划分。

开发工具链

区块链技术来源于以太坊对吗_sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载

开发工具链是未来这方面的发展。 事实上,今年已经出现了一些相关工具,包括:

测试沙箱

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

测试沙箱主要用于智能合约的代码安全测试; 节点模拟沙箱测试、模拟大规模节点、模拟节点时效性、模拟恶意节点等; 攻击测试; 区块链是一件大事,因为它通常意味着其原有的共识网络将被打断,这可能会带来一系列的安全问题。 公司内部也是如此。 当节点数量较多时,无法同步升级时,会导致分叉。

5个

目前的问题

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗

总体而言,目前存在的问题主要表现在:智能合约的安全性、系统可用性,多链互联协议缺乏标准和产品验证,缺乏互联网审计监管技术解决方案,缺乏专业化的开发和测试工具。 更多的问题主要在公有链,而联盟链在公司或机构之间,问题会少很多。

以太坊区块链浏览器咋下载_sitechainb.com 以太坊区块链查询_区块链技术来源于以太坊对吗

以太坊区块链浏览器咋下载_sitechainb.com 以太坊区块链查询_区块链技术来源于以太坊对吗

加入知识星球

与姜勇老师交流

sitechainb.com 以太坊区块链查询_以太坊区块链浏览器咋下载_区块链技术来源于以太坊对吗