· 你是否需要建立一个信任网络,与许多设备、技术、参与者建立信任网络,并且所有人都必须相互沟通?
·参与网络的参与者有冲突的动机,还是参与者之间没有信任?
·您是否使用可信任的第三方来促进构成您系统各方之间的交互?您是否试图删除中介?
· 你是否必须建立一个透明的网络,而这个网络需要不变性才能被审计?
· 您不想删除数据,而是将重点放在出处上。
· 业务流程的数据在流程的生命周期中被输入到许多不同的数据库中?重要的是,这些数据在所有实体中都是一致的,并且尽可能地减少人为错误?
· 所有参与者都需要访问相同的数据并写入相同的数据存储?
·所有参与者都需要确保数据是有效的,并且需要客观的、不可变的历史记录或事实日志?
· 当所有人都应该查看相同的数据时,你是否花费了大量的时间来交换电子邮件?
· 你经常核对数据吗?
· 您当前的系统如何响应错误?
· 分类账的可靠性:是否需要在每个节点上复制一个共享的公共分类账?删除集中式数据库消除了是否在每个节点中复制相同版本的分类帐的单点故障风险?
· 安全性:你是否需要在系统中使用密码学?密码学促进了数据保密性、数据完整性、身份验证和不可抵赖性(尽管也可以在没有
区块链的情况下使用密码学)。一些应用程序是否可以简单地使用加密方法,而不需要使用区块链的数据库复制机制呢?
· 隐私:网络参与者的决策是透明的,而不是保密的吗?
让我们继续检查清单。
相反,也有一些条件不太适合基于区块链的解决方案:
· 性能和可伸缩性: 考虑系统需要什么样的性能需求,以确保客户满意。您需要哪种事务频率?如果您需要高性能(千次事务),区块链不是正确的解决方案。
注意:Hyperledger Caliper project是一个区块链性能基准测试框架,它允许用户用预定义的用例测试不同的区块链解决方案,并得到一组性能测试结果。
· 数据库:区块链不像关系数据库SQL那样执行。应该只存储最少的数据。因此,如果您想存储大数据、静态数据或大量数据,区块链不是正确的选择。
· 交易规则经常变化。在区块链上发生的一切必须是完全确定的:给定相同的输入信息将始终产生相同的输出。区块链中的事务规则通常是预先设定的,智能合约一旦启动就不会改变执行路径。如果围绕业务流程如何进行的规则经常更改或以意外方式更改,则区块链可能不适合您的用例。此外,区块链是仅附加不可变数据库。如果您需要在交易规则发生变化时对数据进行任何更改,则关系数据库可能更合适。
· 隐私。这个过程涉及机密数据:开放区块链,如
比特币和Etherum,永久透明地记录匿名方之间的交易。它们不适合不想与参与者共享业务流程和敏感数据的企业。在这种情况下,私有或公共的区块链可以覆盖只与相关方共享数据的业务需求。尽管最佳实践是将PII(个人身份信息)存储在链外。
· 收集/储存数据的外部服务。区块链不从外部系统获取数据,将数据注入区块链的唯一方法是使用“oracles”,通过智能合约将数据推送到区块链。
· 受信任的第三方。最后,如果出于遵从性或责任的原因,您必须依赖可信的一方,区块链不是正确的解决方案,因为它消除了“中间人”。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。