当前位置:主页 > 区块链 > 区块链技术 > 区块链基本架构

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

2023-02-10 09:30:17 | 来源: | 作者:佚名
这篇文章主要介绍了区块链的基本架构有哪些?一文读懂区块链的基本架构的相关资料,需要的朋友可以参考下本文详细内容介绍

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

初接触区块链的朋友一般的学习方法都是先选择某一个区块链平台,深入研究那个平台的特性。笔者也是先由「比特币」开始,再扩展至其他平台例如「以太坊」(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:区块链   架构   智能合约   账本  

你可能感兴趣的文章

更多

热门币种

  • 币名
    最新价格
    24H涨幅
  • bitcoin BTC 比特币

    BTC

    比特币

    $ 75872.69¥ 517239.3
    +2.68%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 2314.42¥ 15777.86
    +2.14%
  • tether USDT 泰达币

    USDT

    泰达币

    $ 1.0001¥ 6.8178
    -0.01%
  • ripple XRP 瑞波币

    XRP

    瑞波币

    $ 1.4244¥ 9.7104
    +2.2%
  • binance-coin BNB 币安币

    BNB

    币安币

    $ 629.18¥ 4289.24
    +2.14%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 0.9994¥ 6.8131
    -0.02%
  • solana SOL Solana

    SOL

    Solana

    $ 85.2798¥ 581.36
    +2.08%
  • tron TRX 波场

    TRX

    波场

    $ 0.329¥ 2.2428
    -0.03%
  • dogecoin DOGE 狗狗币

    DOGE

    狗狗币

    $ 0.095108¥ 0.6483
    +2.21%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 40.7604¥ 277.87
    +0.52%

币圈快讯

  • 某新建钱包从CEX提取199999枚HYPE后售出获得815万枚USDC

    2026-04-21 09:21
    据OnchainLens监测,某新建钱包从CEX提取199,999枚HYPE后售出获得815万枚USDC,随后从Hyperliquid提出这笔资金存入币安。
  • Strategy单周斥资$25.4亿增购34164枚BTCBitmine上周购入101627枚ETH创年内最大单周纪录

    2026-04-21 09:21
    据BBX数据,昨日两大加密资产储备公司同步披露持仓更新,比特币与以太坊国库储备扩张速度均创阶段性新高,核心动态如下:Strategy,Inc.(NASDAQ:$MSTR)于4月20日提交SECForm8-K,披露公司在4月13日至19日期间增购34,164枚BTC,总耗资约$25.4亿,均价约$74,395,为公司历史上第三大单次购入规模;本轮购币资金约85%来源于STRC优先股ATM融资(净入账$21.76亿),余款来自MSTR普通股(净入账$3.66亿)。截至4月19日,公司总持仓达815,061枚BTC,总成本约$615.6亿(均价$75,527),2026年初至今BTCYield为9.5%。BitmineImmersionTechnologies,Inc.(NYSE:$BMNR)于4月20日通过PRNewswire发布官方公告,截至4月19日4:00pmET,公司持有4,976,485枚ETH(约占ETH流通总量4.12%),上周单周购入101,627枚ETH(约合$2.3亿),为2026年最大单周增持量;公司合并加密资产、现金及战略投资总额约$129亿(含$11.2亿现金)。当前已质押3,334,637枚ETH(占总持仓约67%),年化质押收益约$2.21亿(7日质押年化收益率2.88%)。
  • StrategyCEO:STRC年内购入比特币规模已达ETF总和的10倍

    2026-04-21 09:15
    比特币财库公司Strategy首席执行官PhongLe在X平台转发数据显示,旗下永续优先股STRC在2026年迄今购入的比特币数量已达到所有比特币ETF同期总购入量的约10倍,显示出企业端持续加码配置的强劲趋势。
  • 摩根士丹利ETF增持215枚比特币贝莱德ETF增持3372枚

    2026-04-21 09:01
    4月21日,据OnchainLens监测,摩根士丹利ETF4小时前购买215枚BTC,价值1643万美元。现在他们持有价值1.381亿美元的1820.6枚BTC。贝莱德ETF在过去8小时内从Coinbase提取了3,372枚BTC(价值2.5586亿美元)。
  • 美国SOL现货ETF单日总净流入328.38万美元

    2026-04-21 08:59
    根据SoSoValue数据,SOL现货ETF单日总净流入328.38万美元。 净流入最多的SOL现货ETF为FidelitySolanaFundETF(FSOL),单日净流入254.25万美元,目前历史总净流入达1.58亿美元。其次为VanEckSolanaETF(VSOL),单日净流入56.86万美元,目前历史总净流入达1910.98万美元。 截至发稿前,SOL现货ETF总资产净值为8.72亿美元,SOL净资产比率1.76%,历史累计净流入已达10.13亿美元。
  • 查看更多