主页 > imtoken浏览器可以下载 > 区块链及区块链技术综述

区块链及区块链技术综述

imtoken浏览器可以下载 2023-04-17 06:00:50

#1。 技术人员查看区块链的正确姿势

区块链虽然是一个新兴的概念,但它所依赖的技术一点都不新鲜,比如非对称加密技术、P2P网络协议等,就像乐高积木一样,积木是有限的,但不同的组合可以产生非常有趣的东西。

我遇到过一些工程师。 刚接触区块链的时候,他们都一致表示:都是成熟的技术,不就是分布式存储吗? 站在工程师的角度,第一反应很自然的将这个新概念映射到自己的知识框架中。 但仔细研究后发现,这种片面的认识可能会导致对区块链的误解,即作为技术人员忽视了区块链的经济特性——权力去中心化、完全自治的系统。

区块链本质上是一种基于P2P的价值传输协议。 不能只看P2P,看不到价值传递。 同样,不能只看到价值传递,却看不到区块链的底层技术。

可以说,区块链更像是一门交叉学科,结合了P2P网络技术、非对称加密技术、宏观经济学、经济博弈等知识,构建了一个全新的领域——价值互联网的探索。

那么什么是价值互联网? 价值互联网可以是当前蓬勃发展的电子商务衍生出来的支付业务。 但真的只是支付领域吗? 显然这还不够,一级资本市场、实物资产的确权和转让、证券登记和交割、认证和反欺诈。 我们再想一想,我们各大电商平台上恶意刷单的专业差评还少吗?

在今天的金融领域,除了支付的便利性,在大多数其他业务中,我们就像是带着枷锁行走。 我们反复确认、反复审核、反复监督,我们反复建设一个又一个。 小型高可用集群保证在线服务的可靠性和连续性。 我们聘请了一个又一个的安全工程师来交付一个又一个的渗透测试项目。 为什么? 因为作弊的成本非常低,只需更改数据库中的一行记录即可提取数百万资金。

强大的互联网给了我们一个几乎零成本的高速信息传输通道,但是没有低成本可靠的高速价值传输通道,所以这就是区块链即将带来的。

区块链是一个公共分布式账本。 下面从技术角度简单介绍一下:

想象一个有 100 个节点的分布式数据库集群。 现在的情况是这100个节点的实际拥有者是一个组织,所有节点都在组织的内部网络中,所以这个组织要这100个数据库节点为所欲为,也就是说这100个节点在受信任的环境,由具有绝对仲裁分配权的实体控制。

另一种情况是这样的,想象一下,这100个节点属于不同的人,每个人的节点数据都是一样的,也就是完全冗余,所有节点都在广域网中,换句话说,这之间没有信任100个节点,不存在拥有绝对仲裁权的实体。

现在考虑第二种情况,什么样的算法(共识模型)可以提供可信环境,使得:

1、各节点数据交换过程不可篡改; 交易历史不可篡改;

2、各节点的数据会同步到最新的数据,认可共识后的最新数据;

3、本着少数服从多数的原则,全节点自身维护的数据客观反映交易历史。

区块链本质上是解决上述第二种情况的技术方案,更准确地说,应该称为分布式冗余链账本方案。 区块链的一些要素在我之前的文章中已经总结过:

1.包含分布式数据库

2、分布式数据库是区块链的物理载体,区块链是交易的逻辑载体。 所有核心节点都应包含区块链数据的完整副本

3、区块链按时间序列化区块,区块链是全网交易数据的唯一主体

sitebtcfans.com 区块链底层技术_区块链是比特币最底层的技术吗_比特币是区块链吗

4.区块链只对加法有效,对其他操作无效

5、基于非对称加密的公私钥验证

6.记账节点要求拜占庭将军问题是可解决/可避免的

7. 共识过程是进化稳定的,即面对一定数量的来自不同节点的相互矛盾的数据,它不会崩溃。

8. 共识过程可以解决双花问题

因此,作为技术人员,不仅要看到区块链所依赖的技术,还要关注区块链以外的点和方面。 总的来说,区块链会有趣得多。

#2。 区块链总体架构介绍

关于区块链本身的发展历史,网上资料很多,本文不再赘述。

关于区块链技术的介绍,在各个区块链平台的社区中都有详细的资料,但是对这些资料的总结和抽象出一个共同概念的介绍还很少见。 本文试图总结一下。

在介绍之前,先简单介绍一下公链和联盟链的概念。 这些概念是由以太坊创始人 Vitalik 提出的。 我在这些概念的基础上做了一些研究。

其实区分公链和联盟链非常简单。 你只需要查看区块链的访问权限。 如果访问区块链需要链上节点的许可,那么就是联盟链,否则就是公有链。

顾名思义,我们也可以“顾名思义”。 公众是指完全开放的网络,联盟是指半开放的网络,成员之间共享,非成员没有自由访问的权利,所以我们也称联盟链为权限链。

我们来看看几个主流的区块链平台(公链,全部开源):

1.比特币比特币

2.以太坊/以太坊经典

3.比特股比特股

我一般称之为“三巨头”。 从生态上看,比特币最为成熟稳定,以太坊更像是冲锋在前的勇士,而比特股则比前两个生态小很多,但从创新角度来看,不亚于前两者。

很多其他的项目都是从这三个区块链衍生出来的,所以基于这三个,就可以基本了解区块链了。

不得不提的是Linux基金会项目——HyperLedger项目(主联盟链,开源),也是旨在打造一个通用的区块链技术,但我认为还处于发展迭代的过程中,并没有具体的应用情况下,按静音。

sitebtcfans.com 区块链底层技术_区块链是比特币最底层的技术吗_比特币是区块链吗

还有一些比较有意思的联盟链项目——R3 CEV项目(联盟链,闭源),还有中国的R3项目——ChinaLedger(联盟链,闭源),当然这些都不开源,我拿不到有用的资料 对于分析,就不展开了。

从技术角度来看,针对不同的业务场景,对区块链有不同的要求,比如实时结算业务,需要区块链提供秒级交付,对应出块速度的要求,以及出块速度过快往往会导致区块链分叉,形成孤链。 如果孤链失效,交易将失效,影响区块链的最终一致性。

如果频繁的分叉导致相当比例的用户交易失败,那么这个系统就可以认为是不可靠的。

如果我们把这种对实时性要求很高的业务插入到联盟链中,我们就可以控制风险。 通过调整共识算法,使用快速共识模型(Consensus Model)来避免上述问题,虽然不如公链健壮,但对于一些特殊场景来说已经足够了。

因此,在架构层面,公链和联盟链的技术也应该区别对待。

但是客户端的整体设计还是有一些通用的概念,如下图所示:

sitebtcfans.com 区块链底层技术_区块链是比特币最底层的技术吗_比特币是区块链吗

(图1)

区块链至少分为三层,

底层是一些常用的基础模块,如基础加密算法、网络通信库、流处理、线程封装、消息封装解码、系统时间等;

中间层是区块链的核心模块,一般包含区块链的主要逻辑,如P2P网络协议、共识模块、交易处理模块、交易池模块、简单合约或智能合约模块、嵌入式数据库处理模块、钱包模块等;

顶层往往是基于 Json Standard RPC 的交互模块。 基于Json-RPC,我们还可以做一个更好的UI界面,也可以是web-service。

如果区块链支持智能合约,可能会有更多层,比如增加一个BaaS层。 区块链上的智能合约提供自治服务,例如下面的以太坊架构图(来自google,仅供参考):

sitebtcfans.com 区块链底层技术_比特币是区块链吗_区块链是比特币最底层的技术吗

(图二)

这种分层更注重区块链本身的分层,即业务的角度,不完全是技术的。

我们再回到比特币的设计上:

sitebtcfans.com 区块链底层技术_比特币是区块链吗_区块链是比特币最底层的技术吗

(图 3)

比特币是区块链吗_区块链是比特币最底层的技术吗_sitebtcfans.com 区块链底层技术

比特币的几个模块之间的耦合度其实是比较高的,有很多历史包袱。 比特币的发明者中本聪用VC++开发比特币,VC++标准库中的sstream流处理性能非常可观,只好放弃,自己实现了一个基于向量的流处理容器。 随着c++11的引入和标准库的更新迭代,性能已经不一样了。

从整体上看,比特币的模块比较少,比较简单。 chain-paramters描述了整个区块链的参数设置,wallet是地址/加密和存储相关,mem-pool是未确认交易池。 由于比特币核心开发者的不朽贡献,与中本聪时代的比特币代码相比,现在的比特币代码质量相当不错。

不管上面的设计如何,一般都是从P2P网络协议开始的。 作为一个P2P钱包,它必须同时提供Service和Client。 作为Service依赖于P2P网络协议,作为Client依赖于Json-RPC。

需要指出的是,“三巨头”目前使用的账户模型各不相同(所谓账户模型是指记账方式),比特币使用的是UXTO模型,以太坊和比特股使用的是账户余额模型。

UXTO模型(Unspent Transaction Outputs (UTXOs)):该模型表达了转账的概念,即任何新产生的货币只会在未来的生命周期中转账,不会消亡。 传输基本上由具有验证控制的加密算法签名:

比特币是区块链吗_区块链是比特币最底层的技术吗_sitebtcfans.com 区块链底层技术

(图4)

账户余额模型:账户余额模型摒弃了这种强验证账户模型,即账户余额回归数字加减法,提高了交易效率。

#3。 共识算法和分布式

终于到了重点了。 事实上,本文的每一节都可以展开成一篇独立的文章。 内容有限,简单说一下。

上文所说的区块链共识过程,是指如何客观、不可篡改地记录全网交易数据的过程。 目前,“三巨头”使用不同的共识算法(Consensus Algorithm),比特币使用PoW(工作量证明),以太坊即将转为股权证明(PoS),比特股使用DPoS(Delegated Proof of Stake)。

我将上述算法称为“经济学”算法。 所谓经济学算法,就是可以计算出作弊的成本,而作弊的成本往往远大于作弊的收益,即作弊无利可图。 通过这种思路构造节点间博弈的算法,并使其趋于稳定的平衡。

相应的,我们在计算机领域也有分布式共识算法,比如Paxos、Raft,我也称之为传统的分布式共识算法。

它们最大的区别在于:系统在拜占庭将军问题场景下的可靠性,即拜占庭容错(PBFT算法支持拜占庭容错)。 但是无论是Paxos还是Raft算法,理论上都有可能进入死循环无法投票通过(虽然这个概率其实非常非常低),但是都满足安全性,只是放宽了liveness的要求,并且PBFT 也是如此。

以下是传统分布式共识算法与区块链共识过程的一些异同点:

相同点:

 仅追加

 强调序列化

少数服从多数原则

sitebtcfans.com 区块链底层技术_比特币是区块链吗_区块链是比特币最底层的技术吗

分离覆盖问题:即长链覆盖短链区块,多个节点覆盖少量节点日志

区别:

传统分布式共识算法大多不考虑拜占庭容错(拜占庭Paxos除外),即假设所有节点仅存在宕机、网络故障等非人为问题,不考虑恶意攻击问题节点篡改数据;

传统的分布式共识算法是面向日志(数据库)的,这是一种比较普遍的情况,而区块链共识模型是面向交易的,所以严格来说,传统的分布式共识算法应该在区块链共识模型的一层以下。

考虑到以上差异,结合公链和联盟链的特点,我们有:

Alliance Chain:一个半封闭的生态交易网络,具有点对点的不信任节点,例如房地产行业的A、B、C、D公司。

公有链:一个开放的生态交易网络,该层主要为产业链和私有链提供全球交易网络。

由于联盟产业链半封闭半开放的特性,使用XXX的委托证明是可行的,也可以考虑在传统共识算法的基础上加入拜占庭容错/安全保护机制改进。

对于公链来说,PoW/Pos/DPos 等“经济”算法可能是最优算法。

从技术上来说,针对以上不同的共识算法,我们很多新开发的区块链都支持一个相应的特性:共识模块是可插拔的,以满足不同场景的需求。

下图是未来区块链生态的示意图:

区块链是比特币最底层的技术吗_sitebtcfans.com 区块链底层技术_比特币是区块链吗

(图5)

公链提供了一个可信可靠的价值传输网络,你可以在其上继续构建去中心化应用(DAPP)或部署联盟链,甚至是传统数据库,并在上层构建C端应用。

ref:浅谈区块链共识机制和分布式共识算法 blockchaindev.org

#4。 数字资产与价值流通网络

这是一张照片:

比特币是区块链吗_区块链是比特币最底层的技术吗_sitebtcfans.com 区块链底层技术

参考:新现实区块链项目

区块链是比特币最底层的技术吗_sitebtcfans.com 区块链底层技术_比特币是区块链吗

“三巨头”中,比特币属于“数字货币”,比特股属于“去中心化交易所”,以太坊属于“去中心化组织”。 事实上,区块链与现实的接触点还在图中所示的位置。

因此区块链是比特币最底层的技术吗,区块链还是一个正在成长的小男孩。 结合图5,我们希望构建一个基础设施完备的价值传输网络,在上层应用丰富的区块链生态,这还是需要付出很大的努力。

下一个目标是资产数字化(模拟资产证券化)。 例如,我们可以将稀有物品(艺术品/古董)、知识产权、票据资金等收益权数字化,这将大大提高市场运作效率。 配备智能合约,甚至人工智能,可编程社会不再是梦想。

------------------------------

Q:还是觉得太抽象了。 到现在为止,我对区块链还是不能具体的理解,也没有找到具体的解释。 很难理解? ? ?

A:就像区块链这个词,是被创造出来的,之前没有任何概念可以映射到它,所以很容易理解。 我们先不谈这个概念,想想我们的互联网还需要什么。 比特币白皮书中提到,点对点现金系统的前提条件非常低,无需注册,无需手机号,点对点网络,只要你用一个设备访问它,那么你可以使用它。 区块链的概念也是一样,目的是构建点对点的生态,解构权力带来的不对称。 它本身只是一个共享账本,不同于网络中的多节点自己记账,然后对账,瓦解了中心权力。

Q:区块链技术如何应用​​于互联网身份认证?

答:这是个好问题。 我现在做的区块链项目就涵盖了这个概念,也就是大家说的互联网身份认证。 我们认为这是将区块链变成真正商业的必要组成部分。

在我们的视野里,首先什么是身份? 身份不只是一个身份证号或密码,而是用户拥有的一个操作记录集,这个记录集的编码就是身份。 就像账号丢了再申诉一样,申诉的内容真的是针对你的。 区块链也是一样,需要相同的ID,也需要自动验证你历史记录的合法性。 目前,互联网上的身份认证依赖于公安系统。 最简单的解决方案是将公安系统中的身份系统映射到区块链上。 另一种解决方案也是用户定义的记录集,它根据交易历史检查身份。 当然,在更远的未来,结合人工智能,区块链可能会有更好的表现。

Q:如果实时投放的数据放在联盟链上,联盟链的数据最后是不是要同步到公链上? 据分享,联盟链的数据对于公链来说是不可信的。 联盟链和公链中的数据是什么关系? 不懂这里,谢谢老师分享!

A:我觉得不可能所有机构都愿意把自己的资产放到公链上,肯定会出现并存的现象。 理想情况下,当然是完全使用公链来构建去中心化的应用。 联盟链和公有链之间的直接数据是一种简单的引用关系。 我认为,开放的关键数据集,比如用户身份,应该存放在公链上,让用户自己管理。 对于私钥数据,组织应该使用访问权限来存储 和公链是隔离的,所以我觉得联盟链的数据和公链的数据是互补的。 也就是说,联盟链的数据是否同步到公有链,取决于组织自身的需求。 另外区块链是比特币最底层的技术吗,公链的外部数据引用,我们称之为data-feed,这个东西会引入人为因素,比如律师,律师,政府机构等,作为仲裁者来帮助引用数据,好坏都可以让市场评价信用,就像评价一个机构一样。 如果是这样的话,那将是非常透明和公开的。

Q:有一些有意思的实体项目,比如智能门锁、无人租车等。 这些都是线下项目。 它们如何相互关联?

A:首先,区块链项目是跨平台的,也就是说嵌入式设备可以依靠区块链信用成本低的优势自动记账。 可以是联盟链,也可以直接基于一个公链的DAPP,这些账本是共享的,当引用关系发生时,这些数据可以进入公链通道,打通两者之间的关系.

其次,任何一个具体的区块链项目都需要依赖一条公链,就像很多落地项目都是基于“三巨头”,但实际上目前还没有一个让大家特别满意的标准。 说服力,让我们拭目以待。

Q:谢谢分享,能否谈谈上一张图中区块链发展的各个阶段对传统金融业,尤其是银行业可能产生的影响?

A:我认为现阶段对银行业的影响并不大,尤其是在国内。 这取决于区块链发展的程度。 据我所知,央行已经开始研究自己的数字货币。 对于银行来说,这最多只是又一次IT架构升级而已。 它可以帮助银行业降低 IT 成本并促进监管。 但是如果在更远的未来,银行可能不会特别封闭,它会成为一些区块链的代理节点,由大家来监管,而不是几个专门的机构。

Q:如果公链可以记录所有的历史,有没有什么技术可以破坏或者封锁,有没有生命终结的一天?

A: 有一点技术风险。 当通用量子计算商业化时,目前很多加密技术都会失效,而基于密码学的区块链受影响最大(当然,目前的中心化架构也会受到影响)。 这取决于理论研究的结果。 如果有新的密码学理论可以抵抗量子计算就好了。 从P2P网络的角度来看,任何组织和个人都无法阻止。 只要有两个节点仍然可以进行交易和记账,区块链就是活的。

从经济学的角度来看,区块链的生死主要不在于加密技术是否被破解,而主要在于链上聚集了多少财富和利益,链上的数据有多少价值. 如果没有价值,链条自然会消亡。 反之,如果被攻破,只是分叉,或者等待新的加密算法出来后进行数据迁移,这与集中式数据库恢复备份没有太大区别。