hyperledger - 许可的私有(private)区 block 链与中心化系统有何不同?

标签 hyperledger blockchain

私有(private)区 block 链和中心化系统有什么区别。两者似乎是相同的,尤其是在经过许可的私有(private)区 block 链的情况下。如果节点不多,还需要什么去中心化系统。

在公共(public)区 block 链的情况下,不采用集中式架构似乎是个好主意,因为其中涉及许多身份。

最佳答案

在我看来,大多数人将“私有(private)区 block 链”与将在单一组织/机构内举行的事实混淆,但“私有(private)”并不一定意味着只涉及一个身份,所有的兴趣在于它可以在多个实体之间精确共享(但仍然是私有(private)的),使得成员无法在其他人看到它的情况下修改数据(透明度=信任)。您还可能在同一组织内的不同实体之间缺乏信任,而私有(private)区 block 链可以帮助解决这个问题。

您的私有(private)区 block 链的每个成员都将持有分类账,因此无需信任中央机构(即使在同一组织内):

Centralized database vs blockchain

即使“节点不多”,与 100% 的单个中心化节点相比,必须信任 51% 的多个分散节点仍然更好。

我们经常看到对分布式数据库的暗示,它更接近私有(private)区 block 链。但实际上最接近的技术应该是 分布式账本,比如 Corda、IOTA(使用“缠结”而不是区 block 链)等。所以区 block 链只是分布式账本的另一种形式,但到目前为止还没有设置起来更复杂。

与分布式数据库相比,我认为区 block 链为您带来了不变性透明(原生历史,无需实现)、更好的安全性 并大大简化了同步(不需要作业、物化 View 、触发器、脚本等)。尤其是移除了集中控制(任何集中解决方案的提供者都可以在技术上或多或少地轻松更改您的数据而不留下痕迹(删除日志、备份等),在区 block 链中这是非常困难的).我们还可以讨论更高的可用性,当然还有更低的实现/维护成本

私有(private)区 block 链也可以是“permissioned”或“permissionless”,遵循这种匿名/信任模式:

enter image description here

在许可区 block 链中,权限和角色管理很有趣,因为除了应用程序级别之外,它们还在每个事务的持久级别进行控制,因此它不局限于用于访问数据库的技术用户。因此,即使您的客户端应用程序存在安全漏洞,网络也会自动拒绝无效交易。

然后您还有许多其他有趣的东西,例如智能合约,它们可以让您保证一个不可变的过程。例如,您可以正式审核与网络中其他实体或客户的契约(Contract),并与他确认数据处理将以这种方式且仅以这种方式完成,甚至在特定日期触发操作,等等。在一些像 Hyperledger Fabric 这样的私有(private)区 block 链中,如果您仍然需要在同一个区 block 链中保持一定的 secret 性(交易隔离),那么您也有 channel 的概念,这又不容易在分布式甚至集中式数据库。

区 block 链目前是一个热门话题,每个人都在尝试参与任何事情(FOMO),但当然如果你不需要这些要点(信任、不变性等),你仍然可以选择一个传统的中央数据库,它不需要新技能并且可能性能更高(即使私有(private)区 block 链可以达到每秒数千笔交易)。此外,经过许可的区 block 链不适用于大量参与者(您必须识别他们),因此您可能会再次退回到数据库或私有(private)无许可区 block 链,如 Hyperledger Sawtooth。

关于hyperledger - 许可的私有(private)区 block 链与中心化系统有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53077649/

相关文章:

hyperledger-fabric - 不同 ORG 的 2 个节点能否实例化相同的 ChainCode 并提交交易?

ubuntu - 系统尚未使用 systemd 作为 init system (PID 1) 引导。不能操作。找不到替代的 telinit 实现来生成

blockchain - 是否可以在以太坊区 block 链上存储图像?

blockchain - 在 Hyperledger 中,链码部署和调用、查询到底发生了什么?

docker - 无法创建 HyperLedger 网络

在从 Hyperledger Composer v0.18.0 到 v0.19.0 的查询中使用 ORDER BY 的 CouchDB 索引错误

hyperledger-fabric - 运行 Hyperledger Fabric basic-network : error validating ReadSet 时出现问题

docker - 无法使用hurley Hyperledger Fabric安装Chaincode

blockchain - 是否可以在 ERC721 合约中调用 ERC20 函数?

haskell - 如何准确衡量减少 λ 项所需的工作量?