首页 » PHP教程 » 区块链fabricphp技巧_若安在HyperLedger Fabric上实现链下存储

区块链fabricphp技巧_若安在HyperLedger Fabric上实现链下存储

访客 2024-11-11 0

扫一扫用手机浏览

文章目录 [+]

来源:巴比特

编译:夕雨

区块链fabricphp技巧_若安在HyperLedger Fabric上实现链下存储

本文作者Deeptiman Pattnaik是一名开拓工程师,从事各种软件开拓项目:Android,Go,Node.js,MongoDB,PHP,JavaScript Beacon,虚拟现实,增强现实。

区块链fabricphp技巧_若安在HyperLedger Fabric上实现链下存储
(图片来自网络侵删)

在本文中,我将考试测验阐明Hyperledger Fabric中链下(OffChain)存储的主要性以及offchaindata运用,该运用是构建用于演示利用Hyperledger Fabric的Go编程措辞进行链下存储的实现。

链上(OnChain)和链下(OffChain)交易

任何区块链平台中的交易流都在两个不同的层中实行。
涉及到区块链网络中的分布式分类帐的交易被视为链上交易,而在区块链外部实行并存储到任何凑集数据库(例如CouchDB,StateDB)中的交易被视为链下交易。

区块链不仅仅是存储办理方案

区块链技能的观点是存储大量数据,并能够为每个交易供应当前状态。
区块链网络将为分布式账本数据中实行的任何变动掩护交易历史记录日志。
这种技能将区块链与传统的数据库存储技能区分开来,传统的数据库存储技能仅设计为以有组织的办法存储数据。

链上交易问题

常日,链上交易须要更长的韶光才能实行完成。
由于网络中等待实行的大量交易行列步队,区块链性能开始低落,并且花费的交易韶光更长。
在区块链中的链上交易期间,业务和存储空间都涉及大量本钱。

链上存储打算

IBM已进行剖析以确定涉及存储空间的大量本钱。
(来源:https://www.ibm.com/downloads/cas/RXOVXAPM)

事实成分

比特币每个区块存储1400笔交易。
超级账本区块的大小为1 MB,每个区块有1000笔交易。
每个区块链交易的大小为5 KB,可产生205 TPS(每秒的交易数)每TPS的存储量打算

通过比较公司每天均匀事情8小时和每年240天的均匀韶光来进行交易打算。

(1 TPS / 1000 TB) 1024 KB 3500秒/小时 8小时/天 240天/年 = 每年每笔交易的数据为7,077,888 KB=6,912 MB = 6.75 GB = 0.00659 TB /交易/年

区块链的链上财务本钱

IBM还供应了超级账本(Hyperledger)和以太坊等非授权区块链的均匀企业级本钱。

IBM Hyperledger的每月用度为$ 1000,每个活动节点的额外用度为$ 1000,因此每月总用度为$ 6000。

每笔交易的本钱是:比特币为1.30美元,以太坊每笔交易为0.25美元。

在非容许式区块链中,每次交易本钱将根据加密货币确当前代价而变革。

Hyperledger等基于权限的区块链的本钱将随着节点数量的增加而变革。

因此,与交易成本相比,不应将所有非交易数据(例如图片,视频,PDF和其他文档)存储在区块链分类账中。

链下交易办理方案

链下交易不会在存储空间中为每个节点存储交易。
乐意存储特定交易的一方可以利用链下存储。
链下交易提高了打算效率,这种打算是在链下实行的,是确定性的而非共识的。

链下存储的设计实现

有许多链下数据库可与Hyperledger Fabric集成以存储交易明细。
我构建的offchaindata运用利用CouchDB作为链下存储。
将运行一个GRPC事宜侦听器,该侦听器作为GRPC客户端连接侦听对等方。

因此,事宜侦听器将每个区块的KVWriteSet值处理到链下存储区(CouchDB)中。
MapReduce技能用于从CouchDB存储中查询链下数据。

GitHub:https://github.com/Deeptiman/offchaindata

什么是MapReduce?

MapReduce是一种编程模型,旨在在大型集群上并行处理大量数据。

MapReduce有两个功能:

映射——它供应了某些文档凑集的密钥值对列表。
减少——它具有一组较小的密钥值对,可处理凑集中的多个节点。

CouchDB利用MapReduce技能来过滤所有网络文档。
不才面的示例中,我们将看到MapReduce如何用于一种User模型。

User模型

CouchDB中的文档网络

存储在CouchDB中的用户详细信息

因此,我们将创建一个MapReduce函数来查询凑集中的电子邮件。

为电子邮件配置MapReduce

输出:

利用参数

设计视图:emailviewdesign

MapReduce视图:

查询减少功能可打算电子邮件总数

输出

查询舆图功能列出所有电子邮件

输出

因此,MapReduce以这种办法事情。
我们还可以为其他节点创建MapReduce函数,以从CouchDB查询

结论

所有查询都在链下存储空间中实行,并且完备忽略了链上分类帐。
就查询大量数据而言,这提高了打算效率。
实行链下查询不涉及交易本钱,由于类似的链上查询具有较高的交易本钱。
在公有区块链的情形下,链下存储还可以用于存储敏感的私有数据,由于并非区块链网络中的所有参与者都知道用于存储数据的附加独立存储层。

因此,这是理解任何区块链网络中链下存储的主要用例的概述。
请检讨Github上的链下数据运用程序并分享您的反馈。

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读1 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0