主页 > 苹果版imtoken > 从概念到底层技术,一文读懂重塑世界的区块链

从概念到底层技术,一文读懂重塑世界的区块链

苹果版imtoken 2023-03-29 06:47:25

“区块链是目前比较流行的一个新概念,它包含了技术和金融两个概念。从技术角度来说,这是一种牺牲一致性效率,保证最终一致性的分布式数据库。当然,这是比较片面的. 从经济学的角度来看,这种容错性强的点对点网络恰好满足了共享经济的一个必然需求——低成本的可信环境。

区块链技术重塑世界

区块链技术是比特币稳定运行约8年的基石,但在比特币的光芒下却黯然失色。 但在过去的一年里,各行各业(尤其是金融行业)对区块链技术爆发了巨大的热情。

我(区块链小学生)将从区块链的定义、区块链技术的三要素、区块链应用的四大前景、开源项目和中国现状五个方面给大家讲解区块链。

区块链定义

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

比特币采用的加密技术是什么_比特币等加密货币矿机销售_比特币加密原理

区块链技术到底是什么? 很少有人能解释清楚。 现在市面上有很多关于区块链的书籍,内容基本都是,区块链能做什么,区块链的未来前景等等。总的来说,区块链是一套协议,一套规范,而不是具体的代码和项目。

了解了这个协议之后,就可以在现有技术的基础上用不同的语言来实现了。 我们也不能用一句话来概括什么是区块链,不同的角度得出的结论是不一样的。

金融界人士会说,区块链是分布式账本,分布式银行记账系统。

密码学家会说区块链是一个使用密码学构建的无需信任的网络。

而我(一个码农)可能会说区块链是一个保证最终一致性的分布式数据库。 (ps:基于对IBM的Hyperledger project fabric的理解。)

吃瓜群众可以从网上得到定义:区块链(Blockchain)是一种分布式数据库,起源于比特币。 区块链是一系列使用密码学方法相互关联的数据块。 每个数据块都包含比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个块。 这个概念是在中本聪的白皮书中提出的,他创建了第一个区块,即“创世区块”(来自维基百科)。

但是无论怎么定义,只要了解了它的技术要点,每个人都会有自己的理解。

区块链技术的三要素

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

p2p网络通信

比特币采用的加密技术是什么_比特币等加密货币矿机销售_比特币加密原理

首先,我们回顾软件系统架构。

集中

在互联网技术飞速发展的前半程,客户端和服务器的角色基本划分明确。 一台服务器提供服务,n个客户端调用服务。 这就是所谓的中心化,系统的可靠性取决于服务器的可靠性。

分散式

随着业务复杂度的增加和业务量的激增,传统的中心化已经不能满足需求。 这时候,服务拆分和横向纵向扩展就变得顺理成章了。 这就是我们现在所处的分布式系统架构。 系统的可靠性取决于分布式系统的容灾能力。

分散的

分布式架构给我们带来的便利,让我们很容易认为这是一个“完美”的架构,但服务提供者仍然只是依赖于某个组织。 如果组织作恶、宕机、篡改数据,后果我想大家都知道。 (不清楚的请脑补机构==支付宝)。

比特币等加密货币矿机销售_比特币采用的加密技术是什么_比特币加密原理

区块链所采用的p2p网络通信技术,或许给了我们另一种选择:人人生而平等,没有人天生就是服务器,也没有人天生就是客户端。 每个节点都是平等的,既是生产者又是消费者。

注意:今天说的去中心化是一种理想化的状态,就像共产主义的理想一样。 现阶段,区块链去中心化本质上是相对去中心化。

有人会问,p2p网络能保证不作恶、不宕机、不篡改数据吗? 不用担心,p2p 网络只是为所有节点提供了一种交换信息的方式。 做事情的还是共识算法和加密算法。

共识算法

说到区块链,懂的人都会说共识算法,拜占庭将军问题,然后扯出一大堆高端的英文缩写:POW,POS,DPOS,PBFT等等。 听众目瞪口呆,如果你让他详细解释,一般人可能都解释不清楚,就像爱因斯坦的相对论一样。

不过不用担心,最简单的解释,共识算法就是保证少数服从多数! 大多数人认为一件事就是事实,这意味着如果你想改变一个既定的事实,那么你必须与大多数人合作来欺骗你。

这在电影和电视节目中很常见,弱者屈服于强者的伪证。 但在基于p2p通信的数千个节点中,如果要与其他节点一起作恶,除非“大多数节点”被一个统一的组织(人)所控制,有共同的利益,利大于弊,否则无法实现。

这里“大多数节点”是用引号引起来的,因为有些算法在大多数临界点为51%时无法达成共识。 例如,PBFT 需要超过 66% 的确认节点才能达成共识。 比如比特币网络有人提出这样的担忧,因为大约75%的算力都被中国矿池控制。

加密演算法

说到加密算法,大多数码农都会想到对称加密、非对称加密、hash、md5、des、rsa等。加密的本质其实很简单,让信息以真实、隐秘的方式传递和存储. 真实性由数据签名保证,隐私由数据加密实现。 广泛应用于区块链平台的算法包括椭圆曲线签名算法(ECDSA)、SHA256和ripemd160。 三者的结合使用保证了区块链在密码学层面实现了高度的隐私性。

结合

回到刚才的问题:p2p网络能保证不作恶、不宕机、不篡改数据吗? 我们结合区块链技术的三个要素来探讨这个问题。

邪恶:需要在成千上万的平等节点中找到邪恶的帮凶。 通常作恶的收获不如作恶的付出,从根本上杜绝了大量不良节点的出现。 比如比特币的POW共识算法,即使结合比特币网络51%以上的算力实现双花和硬分叉,得到的收益也不一定够付电费。

停机时间:这个很容易理解。 所有节点都是平等的,一次宕机不会影响整个网络的持续运行。

数据篡改:这其实是作恶的一个子集,但是更重要,所以说一下。 区块链的一个重要特征是计时。 前期产生的交易会影响后续的所有交易(交易签名)。 如果要在中间篡改某个交易的数据,就必须在交易所在的区块开始拆分。 分叉,生成一条新链,改变所有后续交易,比其他链的区块生成速度更快,否则没有意义,因为区块链网络只承认最长的链(基于比特币区块链)。

区块链应用的四大前景

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

区块链金融

比尔·盖茨曾说过:“如果传统银行不改变主意,它们将成为21世纪灭绝的恐龙。” 以前,我们只是把它当作一个笑话。 就像马云父亲说的,他人生最大的错误就是创办了阿里巴巴。

在区块链技术被挖掘之后,这句话被反复引用。 不管炒作与否,必须看到区块链在处理金融业务方面有着得天独厚的优势。 必然。 因此,花旗银行、汇丰银行、摩根士丹利等42家巨头银行加入由一家区块链初创公司创建的R3区块链联盟也就不难理解了。

未来世界是数字世界,数字资产将成为每个人资产的主要凭证。 金融的本质是信用。 如何在银行全面数字化的过程中运用去信任的区块链技术,必将是未来5-10年金融创业的黄金命题。

价值互联网

过去20年,我们见证了互联网技术如何改变我们的生活,信息化的巨大变革彻底(便捷地)改变了我们的衣食住行。 实现信息传播和共享的解放,就是信息的去中心化。 但互联网并没有解决财富和价值在互联网上的交换和转移。

如果说现有的互联网已经解决了信息传播和共享的瓶颈,那么区块链需要解决的就是资金、合约和数字资产在互联网上的交换、交易和转移。 未来20年将是信息互联网升级为价值互联网的创业浪潮。

比特币加密原理_比特币采用的加密技术是什么_比特币等加密货币矿机销售

共享经济

近两年,滴滴与优步的互联网租车竞争,将“共享经济”推上了风口浪尖。 这种人与人之间直接共享闲置资产的方式将通过区块链变得更加流行。 因为区块链网络作为一个去信任化、去中心化的网络,让人们摆脱了个体之间的信任危机和中心化的非市场化运作。 例如法国的去中心化网约车平台Arade City,司机可以直接与乘客进行交易。

而我们公司现在正在做一个共享用户闲置磁盘空间的区块链应用平台。 我们相信只有数据和空间才能做到这一点。 基于区块链技术,闲置空间可用于存储可信的加密数据。 数据可以是用户自己的照片和视频,也可以是某个组织的业务数据。

对于大数据分析,现有的大数据应用和数据都存储在一个中心化的厂商手中。 谁能保证数据拥有者不会为了自己的利益修改数据内容? 只有用区块链技术存储的数据,才能保证数据由大家共同管理,不可篡改。

智能合约

智能合约也是当下的一个热门概念。 简单来说,智能合约类似于计算机语言中的 if 语句。 当触发预编程合约的条件时,合约相应的合约条款在区块链网络中自动执行,无需人工干预。

根据这一设想,未来律师的职责可能会发生翻天覆地的变化。 律师的职责不是裁决个别合同,而是制作智能合同模板。 可定制的程度和使用的难易程度将决定合同的价格或律师的价值。 这就是为什么有一个笑话:不会写脚本的律师不是好的编码员。

开源项目

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

过去,重新发明轮子是衡量一个企业技术能力的重要指标。 但随着开源精神的普及和github平台的广泛使用,为开源项目做贡献已经成为互联网公司的常态。 这里介绍两个知名的区块链平台开源项目。

超级账本

Hyperledger 是 Linux 基金会于 2015 年发起的一个开源项目,旨在推广区块链数字技术和交易验证。 加入的成员包括:ABN AMRO、Accenture、IBM 等十几个不同的兴趣 目标是让成员共同努力构建一个开放平台,以满足来自许多不同行业的各种用户案例并简化业务流程。

Hyperledger项目非常适合联盟链和私有链的建设。 现在Hyperledger的开源代码实现Fabric由IBM托管比特币采用的加密技术是什么,使用go语言开发。 当前版本是0.6。 坑还是很多的,需要时间去补。我们的项目也是基于Fabric的。 因此,现在开始学习Fabric应该是更好的选择。

以太坊

以太坊(Ethereum)是一个运行智能合约的去中心化平台(Platform for Smart Contract)。 平台上的应用程序根据程序设置运行,不存在停机、审查、欺诈或第三方人为干预的可能性。 以太坊平台使用 Golang、C++、Python 等编程语言实现。

前段时间的DAO事件让以太坊平台损失惨重。 以太坊也分裂为ETC和ETH,平台发展前景不明。

国内状况

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

比特币加密原理_比特币等加密货币矿机销售_比特币采用的加密技术是什么

诱杀装置

Bubi区块链已广泛应用于数字资产、股权债券、贸易融资、供应链溯源、商户积分、联合征信、公示公证、数据安全等领域,并正在与交易所、银行等主流金融机构应用尝试和测试。 以多中心信任为核心,致力于打造新一代价值流通网络,让数字资产自由流动。

蚂蚁

蚂蚁是一种基于区块链技术的去中心化网络协议,将现实世界中的资产和权利数字化,通过点对点网络进行登记发行、转账交易、清算交割等金融服务。

唯链

比特币加密原理_比特币采用的加密技术是什么_比特币等加密货币矿机销售

唯链以区块链技术为核心,提供一整套全球真伪验证和透明供应链管理解决方案,应对全球泛滥的假冒商品,同时让消费者客户更加关注所购买的产品,包括产地、材质质感、设计理念、品牌故事等。

ASCH

Asch 是一个去中心化的应用平台。 提供一系列sdk和api,帮助开发者构建基于Javascript和侧链技术的去中心化应用。 Asch致力于通过提供定制侧链、智能合约、应用托管等一体化行业解决方案,打造易用、功能齐全、即插即用的系统。

云现象

云象区块链服务于企业级B端客户,提供身份验证、电子证据保全、供应链管理、产品溯源等商业智能合约应用。 同时提供不可篡改、安全、可部署的低成本区块链数据库产品。

太一个

太易云科技拥有全球顶尖的区块链研发团队,在区块链征信、区块链资产登记与流转、区块链安全、智能合约、区块链大数据、区块链物联网等领域拥有数十项核心专利技术。作为区块链云计算中心。

立足中国市场,积极开展区块链技术的产业应用,将区块链基因植入金融、商业、个人和企业信用等社会活动中,改变人们对传统信用机制的认知,重塑价值传递互联网框架为打造一个全新的、更合理、更公平的全球新经济和新金融生态环境提供了通用的基础设施和解决方案。

如何从技术角度理解区块链?

技术人看待区块链的正确态度

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

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

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

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

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

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

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

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

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

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

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

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

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

区块链总体架构介绍

比特币加密原理_比特币采用的加密技术是什么_比特币等加密货币矿机销售

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

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

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

其实区分公链和联盟链非常简单。 你只需要查看区块链的访问权限。 如果访问区块链需要链上节点的许可,那么就是联盟链,否则就是公有链。 顾名思义,我们也可以“顾名思义”。 公众是指完全开放的网络,联盟是指半开放的网络,成员之间共享,非成员没有自由访问的权利,所以我们也称联盟链为权限链。

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

我一般称之为“三巨头”。 从生态上看,比特币最为成熟稳定,以太坊更像是冲锋在前的勇士,而比特股则比前两个生态小很多,但从创新角度来看,不亚于前两者。 很多其他的项目都是从这三个区块链衍生出来的,所以基于这三个,就可以基本了解区块链了。

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

另外还有一些银行寡头之间的联盟链项目——R3 CEV项目(联盟链,闭源),还有中国的R3项目——ChinaLedger(联盟链,闭源),当然这些都不是开源的,我不能get useful 数据都分析过了,所以就不展开了。

从技术角度来看,针对不同的业务场景,对区块链有不同的要求,比如实时结算业务,需要区块链提供秒级交付,对应出块速度的要求,以及出块速度过快往往会导致区块链分叉,形成孤链。 如果孤链失效,交易将失效,影响区块链的最终一致性。 如果频繁的分叉导致相当比例的用户交易失败,那么这个系统就可以认为是不可靠的。

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

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

比特币采用的加密技术是什么_比特币等加密货币矿机销售_比特币加密原理

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

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

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

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

比特币采用的加密技术是什么_比特币加密原理_比特币等加密货币矿机销售

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

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

比特币加密原理_比特币等加密货币矿机销售_比特币采用的加密技术是什么

比特币的几个模块之间的耦合度其实是比较高的,有很多历史包袱。 比特币的发明者中本聪用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)):该模型表达了转账的概念,即任何新产生的货币只会在未来的生命周期中转账,不会消亡。 传输基本上由具有验证控制的加密算法签名:

比特币采用的加密技术是什么_比特币加密原理_比特币等加密货币矿机销售

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

共识算法和分布式

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

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

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

我将上述算法称为“经济学”算法。 所谓经济学算法,就是可以计算出作弊的成本,而作弊的成本往往远大于作弊的收益,即作弊无利可图。 通过这种思路构造节点间博弈的算法,并使其趋于稳定的平衡。 相应的,我们在计算机领域也有分布式共识算法,比如Paxos、Raft,我也称之为传统的分布式共识算法。

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

以下是传统分布式共识算法与区块链共识过程的一些异同点。 我们先来看相同点:

这是区别:

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

对于公链来说,PoW/Pos/DPos 等“经济”算法可能是最优算法。 从技术上来说,针对以上不同的共识算法,我们很多新开发的区块链都支持一个相应的特性:共识模块是可插拔的,以满足不同场景的需求。

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

比特币等加密货币矿机销售_比特币加密原理_比特币采用的加密技术是什么

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

数字资产与价值流通网络

下面是未来区块链发展的示意图:

比特币加密原理_比特币等加密货币矿机销售_比特币采用的加密技术是什么

ref: 元界白皮书-CN(摘要)

“三巨头”中,比特币属于“数字货币”,比特股属于“去中心化交易所”,以太坊属于“去中心化组织”。 事实上,区块链与现实的接触点还在图中所示的位置。 所以,区块链还是一个成长中的东西。 结合图5,我们希望构建一个基础设施完备的价值传输网络,并在上层应用丰富的区块链生态,这还是需要很大的努力。

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

延伸阅读(点击标题):

喜欢我们的人会喜欢,爱我们的人会分享!

比特币加密原理_比特币等加密货币矿机销售_比特币采用的加密技术是什么