区块链的基本架构有哪些?一文读懂区块链的基本架构

笔者记得当比特币开始受注目时,经常看到有评论和报导将比特币和区块链混为一谈。这一两年随着越来越多的区块链项目的实施,特别是各式各样区块链平台的出现,今天我们反而要掌握的一个课题是,怎样的架构才算是一个区块链?换句话说,一个区块链应该有哪些元素?

初接触区块链的朋友一般的学习方法都是先选择某一个区块链平台,深入研究那个平台的特性。笔者也是先由「比特币」开始,再扩展至其他平台例如「以太坊」(Ethereum) 和Hyperledger Fabric(尚未见到有适合的中文译名,以下会保留这个名称)。而本文却是笔者在接触过不同的区块链平台后作的分析和总结,希望为各位带来另一种学习方式:先从总体认识区块链架构,之后当各位在研习某一个区块链平台时,可以比对这篇文章的介绍,从而较为系统性的掌握区块链不同的部份。

以下我会介绍区块链的三个要素:网络、账本和智能合约。

所谓网络,就是由多于一部机器连接而成,即我们所称的节点(node),各个节点通常运行同一组软件,这些软件已备有相互沟通的功能,即我们经常说的P2P (Peer -to-Peer) 通讯模式,而非今天主流的客户— 服务器(Client-Server) 模型。今天大部份区块链平台均以互联网互相连结,按需要节点之间的通讯可作加密处理。

在不同的区块链上,节点可能带有不同的功能。例如Hyperledger Fabric 上的Peer 节点负责管有账本和执行智能合约(稍后有更详细介绍),但Orderer 节点则只负责将交易(Transactions) 排序和构建新的区块(Block);「以太坊」的节点可以只是单单管有账本和执行智能合约,同时有些节点也可选择加入挖矿(Mining) 角色来构建新的区块等等。

按不同的实施模式,节点的数量有所不同。在公开使用的区块链平台如「比特币」和「以太坊」,任何人在任何地方任何时间都可加入或离开网络,不需要一个中央组织去批准。这种区块链网络我们称为Permissionless Blockchain。因此节点的数目就经常浮动。在本文写作时(2019年3月),比特币有超过一万个节点,而「以太坊」则有八千六百多个,分布在全球各大洲上。

区块链的基本架构有哪些?一文读懂区块链的基本架构

取自网站https://bitnodes.earn.com/(2019年3月)

至于商用的区块链平台就不一样。商用区块链的节点通常只放在参与的机构和监管机构内,而非任何未被批准的机构或个人可以参与。因此,节点的数量会和参与机构数目有关。例如一个由七间银行组成的「区块链贸易融资平台」,即使每间银行有两个节点,总数不会超过二十个节点。

物理上这些节点构成一个可靠稳妥的架构。理论上节点数目越多,分布越广,网络越坚固,而受阻断服务攻击(DoS, Denial of Service) 的机会越少。这是因为每个节点拥有一份相同的数据结构,在区块链我们称之为「账本」Ledger(或称为账簿)。

这是区块链一个非常重要的元素。技术上「账本」是一个数据结构,之所以称为账本,主要是因为这个数据结构用作保存一笔又一笔的交易纪录,功能上就如一本账本。而事实上,我们所讨论的「区块链」更准确的说法是「分布式账本技术」(Distributed Ledger Technology),而「区块链」是「分布式账本技术」实现的一种方法。为免把事情复杂化,我们还是沿用「区块链」作讨论。

所谓的「共同拥有」,并非一个「共同使用的物理或逻辑结构」,就如我们说几台电脑共用一个储存装置(硬碟或档案系统)一样。「区块链」所说的「共同拥有」,是各节点各自管有这个数据架构。节点之间的数据架构互不从属,没有物理关系,但它们之间的内容保持相同。

何以各节点管有自己的数据架构而又内容可保持相同?这就是区块链其中一个令人着迷的地方。这个「数据同步」(容许我这样说)的过程称为达致「共识」Consensus。不同区块链会基于不同原因使用不同的共识方法。如「比特币」和「以太坊」这些公共区块链需要使用Proof of Work这个方法生成新的区块,而当中亦涉及经济诱因(incentive),结果是成千上万的节点向数据达致「同步」这个方向发展。又例如Hyperledger Fabric 是按已定下的政策由指定的Peer 节点处理交易,交给Orderer 节点排序,最后由每个Peer 节点确认才记在账本上,这也是一种使数据达一致的手段。

目前区块链中「共识」这个题目还在发展中,不少人还在投入大量的研究,希望从各方面去改善达致共识的办法。我们悉目以待。

此外,这个「数据架构」是否就是我们沿用很久的「数据库」(Database)?虽然两者都是储存数据的手段,但区块链的数据架构和一般的数据库有着明显的分别。区块链的数据架构通常包含两个部分:交易记录和整体状态(World State)。前者比较易明,就是记录每一笔的交易纪录,而后者则是交易处理过后的状态。

举一个简单例子,如果现在的状态是「我有一百元,而你有二百元」,当一笔交易「我给你五十元」处理后,状态就变为「我有五十元,而你有二百五十元」。但常用的「数据库」就有较广泛的用途而不单只是记录交易和状态。此外,区块链的交易记录只能叠加在现有的记录之上,不能(或不易)删除或更新一些已存在的交易记录。「数据库」则弹性更大,一般可以增加、阅读、更新和删除(CRUD)。

这里我们终于触及到「区块链」这个名词了。上述的交易记录是以「区块链」的模式存在。简单地说,这些交易会放在一个区块内,而区块与区块之间利用密码学(Cryptography) 的技术连结起来成为一个链状结构。新来的交易会加入在新的区块,而新的区块就接在现存的链上,如此这条「区块链」就随时间增长。

区块链的基本架构有哪些?一文读懂区块链的基本架构

区块链的一个重要特性,就是数据写上后不易被修改或删除,而且修改的记录很容易被其他节点发现而拒绝接受。这是因为区块链的构造透过密码学和其链状架构,以及达致共识的机制得出的果效。以刚才的例子,不论是要删去「我给你五十元」这笔交易记录,又或者将整体状态中的「我有五十元」改为「我有五千元」,几乎成为不可能的事。

至于谁来建立区块和维持这条区块链?不同的平台有不同的做法。「比特币」和「以太坊」的区块链是由「采矿节点」(Mining Node or Miner) 透过竞争生成区块,而管有区块链的节点就按既定协议来维护节点上的区块链。Hyperledger Fabric是由Orderer 节点生成区块,而每个Peer 节点收到区块后,再确认当中交易才放入Peer 节点上的区块链。

最后,虽然称为「账本」,所有记录并不限于和金钱或货品交易。理论上任何资料也可以记在这个数据架构,而记在区块链的资料都有着刚才所讲的特性。如果有留意新闻,去年就有人将两韩的「板门店宣言」写在以太坊上。理论上只要以太坊一天还存在,这笔记录都会永远留存。

智能合约(Smart Contract) 并不是区块链发明,然而,在区块链架构中智能合约扮演一个重要的角色。

智能合约是一些编码(code) 或程式(program),透过编码反映出各参与方的计划和意愿。它之所称为「合约」,是因为在区块链的应用场景中,「智能合约」可视为交易双方或多方共同接受的事项,有如商业上的「合约」;它之所以是「智能」 ,是因为这个编码落实在区块链时,节点会照编码所定的步骤和逻辑(logic) 自动执行,最重要的还是执行结果同步于整个区块链网络(即每一节点)。

沿用上述的例子,「我给你五十元」可以是一个单一而明确的交易,但也可反映现实一个有条件性的合约,例如:「如果你明天把这份文件送到我的公司,我给你五十元」。这个「我给你五十元」交易会否出现,要视乎这个条件有没有发生。当然,现实商业世界的合约条款要更复杂,但只要可以以编码模式写成智能合约,还是可以在区块链的平台执行的。

区块链的基本架构有哪些?一文读懂区块链的基本架构

智能合约的例子(取材自Hyperledger Composer)

技术上来说,智能合约可以更新账本。这个更新涉及产生新的交易记录,和修改整体状态。因为这涉及更新区块链中最重要的数据架构,智能合约必须要反映真实参与各方的意愿(大家都接受这些合约内容和相关编码),按照指定的检定机制(例如合约的执行要由哪些机构确认)等,甚至引入第三方的监察或审计等。

智能合约作为编码,必然在某个地方执行。在区块链的平台上,节点负责执行智能合约,而且是由多个节点各自进行。例如以太坊是每个节点都会执行智能合约,由于是同一份合约编码,如果大家都有着相同的账本,执行后的结果理论上应该是相同,从而更新账本。而Hyperledger Fabric 则按大家协定和需要指定一些节点Peer 负责执行,得出的结果经过Orderer 排序后以区块模式发送给所有Peer 更新他们的账本。(当然,因为各节点各自独立执行合约编码,现实是有可能出现不一致的情况。各平台在设计时已包括机制处理这些情况。)

智能合约的编写会用上编码语言。不同平台有不同的语言,例如以太坊用的是Solidity,一种新的合约语言,而Hyperledger Fabric 使用多种,由最初的Go,发展到后来的Node 和Java。

结语

这篇文章主要以区块链的一些共同特性而加以讨论。日后当大家深入研究某一区块链平台时可以找出这三个重要元素:网络、账本和智能合约的功能。

以上就是区块链的基本架构有哪些?一文读懂区块链的基本架构的详细内容,更多关于区块链基本架构的资料请关注句子百科其它相关文章!

本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。
Tag:区块链   架构   智能合约   账本  

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/biquan/314373.html

(0)
句子百科句子百科
上一篇 2023年 4月 2日
下一篇 2023年 4月 2日

相关推荐

  • 简单阐述数字藏品清退流程是什么?

    就在前几天,腾讯音乐旗下的QQ音乐叫停了自己的TME数字藏品的业务,该业务早其在2021年8月初就已经开始预热,将音乐唱片以NFT的形式来展示,是第一个将NFT定义为数字藏品的平台。该平台的叫停似乎也预示着数字藏品平台清退大热潮的到来。现在国内予藏、天穹、唯U数藏等20多家平台都已经宣布停业,这些平台已经正式停售数字藏品并对用户进行退款。想必有很多投资者都想…

    2023年 4月 5日
  • COCOS币怎么样?优点和缺点分别是什么?

    COCOS是致力于为区块链游戏开发者搭建基础环境,目标是提升区块链游戏的体验。 创始人陈昊之是游戏引擎Cocos的开发者、拥护者,COCOS在全球有300万的用户基础。 COCOS团队实力不错,获得Okex、NEO、币安等的投资,首发币安,不过上线之后就跌破私募价。 token总量1000亿。 优点: 1.团队实力不错; 2.大公司、机构站台; 3.社群比较…

    币圈资讯 2022年 12月 26日
  • 原子币显卡算力比较(原子币是怎么被骗的)

    大家好,句子百科Sws100.com小编下面围绕“原子币显卡算力比较”主题给大家详细介绍一下。 1、就是根据挖矿软件,测试出来的数值,数值越大说明能在这软件中“速度”越快。2、一般挖矿软件不同,其不同算法,出现排名也会有差别的。算力显卡也叫计算卡,其实就是占着显卡位置的计算器,是用来做数据计算的,并不。 关于显卡挖矿算力表排行,目前最强的挖矿算力是3080、…

    币圈资讯 2023年 2月 13日
  • AMB币在中国合法吗?

    Ambrosus是一个主打产品防伪朔源的项目,旨在借助区块链公开透明的属性,实现产品流转过程的全程可查。不过项目上线以来支持的商家不多,落地应用也很少,整体的生态发展比较缓慢,币价也是持续的走低,长期持有风险还是比较大的,远离为好。 Ambrosus网络是为供应链设计的基于区块链的生态系统,追踪并确保网络中物品的起源、品质、规范性和恰当的处理。Ambrosu…

    币圈资讯 2023年 1月 2日
  • 破帽遮颜对WAN币的点评

    Wanchain是一个国产链里面,算是比较稳定的一个链,对标的是智能合约,从团队白皮书来看,智能合约的技术指标非常强劲,立志打造全球信任公链,但目前就社区的活跃力度还远远不够,可能是因为熊市原因吧,主打资产转移合约,前景不错,可以给到2分,综合3分,但目前熊市不建议投资! WAN是一个跨链项目,集隐私保护,跨链和智能合约三大特征于一身,拥有去中心化交易所及数…

    币圈资讯 2022年 12月 20日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信