目的
本文的目的是提出如何具体地进行区块链分析,以评估它是否适合您的业务。此外,还提供了一个框架,用于构建比较不同区块链解决方案的指标。
对象
高管们想知道区块链是否是正确的决定,是否需要一个框架来比较市场上不同的区块链提供商。
了解区块链是否符合您的业务
我认为,解决区块链的最初方法是,首先要达到至少一般的理解水平,其次,通过检查表开始分析。你能投入越多的时间去掌握这项技术就越好,但是如果你的时间有限,我认为这篇论文可以帮助你更快的理解和进行决策。一定要以正确的心态全面分析问题。研究区块链在技术上是如何工作的,它的设计目的是什么,以及了解哪些流程可以利用。就其本质而言,区块链意味着与同行合作,也意味着与竞争对手合作。如果你不符合这种心态,那就等着失败吧。您不需要以任何代价成为区块链技术的早期采用者,您可以在该技术的早期大部分阶段的稍后阶段进行跳转。
我的组织是否应该投资区块链,或者我应该等待?
技术有没有准备好,这取决于您的组织是否从战略上想要投资于研发。根据你的内部资源和预算,粗略估计分析需要付出的努力。聘请一位顾问,缩短研究时间。区块链技术已经存在,遗憾的是错失了了解如何利用其能力的机会。
让我们从一个清单开始。
区块链最适合以下一项或多项条件适用的业务应用程序:
· 你是否需要建立一个信任网络,与许多设备、技术、参与者建立信任网络,并且所有人都必须相互沟通?
·参与网络的参与者有冲突的动机,还是参与者之间没有信任?
·您是否使用可信任的第三方来促进构成您系统各方之间的交互?您是否试图删除中介?
· 你是否必须建立一个透明的网络,而这个网络需要不变性才能被审计?
· 您不想删除数据,而是将重点放在出处上。
· 业务流程的数据在流程的生命周期中被输入到许多不同的数据库中?重要的是,这些数据在所有实体中都是一致的,并且尽可能地减少人为错误?
· 所有参与者都需要访问相同的数据并写入相同的数据存储?
·所有参与者都需要确保数据是有效的,并且需要客观的、不可变的历史记录或事实日志?
· 当所有人都应该查看相同的数据时,你是否花费了大量的时间来交换电子邮件?
· 你经常核对数据吗?
· 您当前的系统如何响应错误?
· 分类账的可靠性:是否需要在每个节点上复制一个共享的公共分类账?删除集中式数据库消除了是否在每个节点中复制相同版本的分类帐的单点故障风险?
· 安全性:你是否需要在系统中使用密码学?密码学促进了数据保密性、数据完整性、身份验证和不可抵赖性(尽管也可以在没有区块链的情况下使用密码学)。一些应用程序是否可以简单地使用加密方法,而不需要使用区块链的数据库复制机制呢?
· 隐私:网络参与者的决策是透明的,而不是保密的吗?
让我们继续检查清单。
相反,也有一些条件不太适合基于区块链的解决方案:
· 性能和可伸缩性: 考虑系统需要什么样的性能需求,以确保客户满意。您需要哪种事务频率?如果您需要高性能(千次事务),区块链不是正确的解决方案。
注意:Hyperledger Caliper project是一个区块链性能基准测试框架,它允许用户用预定义的用例测试不同的区块链解决方案,并得到一组性能测试结果。
· 数据库:区块链不像关系数据库SQL那样执行。应该只存储最少的数据。因此,如果您想存储大数据、静态数据或大量数据,区块链不是正确的选择。
· 交易规则经常变化。在区块链上发生的一切必须是完全确定的:给定相同的输入信息将始终产生相同的输出。区块链中的事务规则通常是预先设定的,智能合约一旦启动就不会改变执行路径。如果围绕业务流程如何进行的规则经常更改或以意外方式更改,则区块链可能不适合您的用例。此外,区块链是仅附加不可变数据库。如果您需要在交易规则发生变化时对数据进行任何更改,则关系数据库可能更合适。
· 隐私。这个过程涉及机密数据:开放区块链,如比特币和Etherum,永久透明地记录匿名方之间的交易。它们不适合不想与参与者共享业务流程和敏感数据的企业。在这种情况下,私有或公共的区块链可以覆盖只与相关方共享数据的业务需求。尽管最佳实践是将PII(个人身份信息)存储在链外。
· 收集/储存数据的外部服务。区块链不从外部系统获取数据,将数据注入区块链的唯一方法是使用“oracles”,通过智能合约将数据推送到区块链。
· 受信任的第三方。最后,如果出于遵从性或责任的原因,您必须依赖可信的一方,区块链不是正确的解决方案,因为它消除了“中间人”。
分布式分类账不是分布式数据库
理解分布式分类账区块链和分布式数据库之间的区别非常重要。
此图是分布式数据库的样式化表示
”。..。.分布式数据库的节点彼此信任并相互协作,从而向世界其他地方提供一致的、安全的外观。相反,在分布式分类节点中,节点之间不能相互信任,因此必须独立地验证它们从彼此那里接收到的数据,只共享它们乐于被广泛共享的数据”。
区块链带来的机会
如果在查看完检查表之后您仍然不确定,请考虑到到目前为止常用的实际关系数据库SQL是否能够更好、更有效地工作。评估在原始和副本之间具有主/从关系的结构是否合适,以及集中式数据库和常规文件存储是否更适合您的特定系统。使用关系数据库并不可耻,在不久的将来,最好的场景是将它们与区块链适当地组合在一起。这就是为什么,也是在最后一种情况下,了解区块链可以利用的优势至少是有益的。
1. 简化和降低后台操作的成本:使用基于区块链的共享账簿,在这种账簿中,交易一旦经过一致确认并写入分类帐就不能更改,从而减少错误,带来近乎实时的交易和统一、一致的数据集。
2. 降低风险,因为可以消除集中式数据库的单个故障点,从而支持弹性系统,在弹性系统中,每个节点都复制分类帐的最后一个版本。
3. 数据审计和争议解决:不可变的只发生共享账簿提供了唯一的来源通过。与拥有几个可能具有不一致数据的平台不同,它使审计数据的过程更加有效,并依赖于加密技术来保证数据的完整性。
4. 数据对账:SWIFT是国际转账的标准,通常需要1/2天的时间来完成交易,一般情况下,费用是转账金额的1%/2%甚至更多。端到端的区块链支付更快,交易更便宜。也许区块链并不适合所有的支付用例,但它确实可以使其中一些更有效。
5. 出处:分类账提供了一个不可变的历史记录,每个人都可以访问它(取决于区块链的类型),并将不受信任的各方连接在一起。
区块链框架:选择区块链解决方案的标准
1. 区块链类型
如今区块链的种类繁多。有些技术更适合某些特定的用例,有些则不太适合。这主要是一个愿意接受与否放人问题。需要在可伸缩性和性能之间找到平衡。也许为了提高性能而降低可伸缩性期望是可以的,反之亦然。这是您在系统设计阶段必须解决的问题。另一个例子可能与机密数据有关。如果您不希望数据是公开的,则必须选择公共的区块链,该区块链适用于企业希望保持私有并只对特定方提供访问的业务。不要使用开放的区块链,任何人都可以像比特币和Ethereum一样自由访问,所有的交易和数据都是可见的。
2. 安全性和隐私
定义您愿意并能够实现的安全性和隐私级别。它们都是系统设计中具有挑战性的方面。重要的是要认识到,在这些问题上没有绝对的真理,即使在区块链之前,也总是有不同的思想流派。需要定义哪些是产品的强制性选择标准。你的产品目标是什么,你可以接受怎样的风险管理计划。你准备或愿意达到什么样的安全和隐私水平?例如:
●身份是如何创建的,是用户可以创建它,还是它取决于权威?
●如何验证身份
●算法用于加密密钥
●PII和私钥存储的地方
●关键复苏模型的类型
●可连接性水平之间创建ID
●泄漏元数据对特定属性或关系与身份提供商/依赖方。
3. GDPR合规性
隐私是一个极具争议的话题,GDPR原则的理论与实践之间存在着巨大的差异。下面重点介绍了一些最佳实践。考虑它们是否符合您的系统的复杂性:
1)链上和链外PII。
目前市场上有存储PII在链上和其他链外的解决方案。将PII存储在链上的解决方案使用密码或数据哈希值。这两种解决方案都有风险,因为今天是安全的并不意味着明天也可以是安全的。密码可以被破解,信息的哈希值可以被解析。您在区块链上存储的内容将永远保留在那里,个人数据可以被加密或者永久公开。还要考虑,如果数据存储在链外,那么遗忘权很容易实现,因为在其他任何地方都可以删除区块链用户数据。
2)个人资料必须以透明的方式处理,即要求资料当事人作出有效的同意,而该同意必须是:
●无偿
●通过一个肯定的行为数据的主题
●可撤销的
●可证明的
3)限制收集、处理和存储的个人数据
这意味着,为某一目的收集的个人资料不应被用于或重新用作新的、不相容的目的。比如,不要和第三方分享。
●确保持有的个人资料和过程保持准确和最新的。
●个人数据必须保存在一个表单允许识别数据主体不超过是必要的为了个人数据的处理和保存。
4)完整性和保密性原则从根本上关系到数据安全和处理的安全性。
该义务附属于所有处理,无论是由控制器或处理器都适用于外部(如黑客)和内部(如员工)的安全威胁。GDPR鼓励数据安全的一个关键技术或组织措施是假名化,其定义是“以一种方式处理个人数据,使个人数据不再归属于特定的数据主体”。
5)数据可移植性。选择/实现的解决方案必须允许客户取回数据,以便能够方便地将数据转移到其他运营商或供应商。
2. 共识机制
协商共识是一种对一组值或事务进行身份验证和验证的方法,不需要信任或依赖中央集权。它是对事务进行排序和验证的一种方式,对事务进行加密并存储到内联块中。这些节点中的一些或所有节点都可以验证,并在适当的情况下,根据商定的协商感到算法执行拟议的事务。在分布式账簿技术中,共识是至关重要的,因为它是分布式本质的核心。
共识的两个特性是活性和安全性。liveness意味着如果通信没有失败,每个非故障节点最终将接收每个提交的事务。安全性是指保证每个节点的输入序列相同,并且每个节点的输出结果相同。
基于以下需求建立共识的算法非常多样化:
·性能和可伸缩性——指的是这些参数:吞吐量、延迟和节点数量。
·隐私——确保只有目标收件人才能阅读邮件。
·治理——谁提出块,谁添加、创建和验证块,对等方如何相互通信,交换消息。
· 安全性——由架构的设计和基础驱动,不同供应商之间的安全性特性是不同的。评估共识算法的风险和漏洞是至关重要的,因为它们还没有经过测试。
·容错性:网络运行高效快速,即使有节点出现故障或运行缓慢。
PoW(工作证明)是比特币、ethereum、zchash和monero使用的共识机制,它根据矿工的计算能力选择矿工。选择的矿商验证块中的事务没有冲突。要攻击网络,需要51%以上的计算能力。第二个最广为人知的是PoS(权益证明),BFT - neo中使用的共识机制。。只要在网络中有足够的股份,任何帐户都可以成为验证事务的委托节点。到目前为止,PoW是唯一被证实的,尽管它被证实的规模仍然太小,不足以维持应用程序在其上的大规模扩散。什么协议最好?每个协议都是唯一的,并且需要适合您的用例和系统需求。
3.网络效应
网络效应是指产品或服务的用户以及消费者的价值随着用户基数的增长而增长的一种现象。如果每个人都使用相同的网络,而不是相互竞争的网络,那么交付给用户的整体价值将呈指数级增长。为了实现大规模采用,必须考虑到区块链背后的社区、投资者、合作伙伴、开发人员、支持的编程语言类型、开源软件、标准、访问网络的障碍。
· 开放标准和软件:组织正在共同努力定义行业标准。例如identity.foundation正在与W3C和IETF等标准组织合作,与18家账本中立的公司合作4个具体项目。其目的是建立跨链和开源软件,并实现每个人在任何地方都能拥有身份。不同财团的成员并开始与之密切合作,以构建知识、实现挑战,并了解是否可以从现有的解决方案开始或构建定制的解决方案。
· 强大的社区——开发人员友好。解决方案需要用简单来吸引开发者:
· api和sdk的可用性。易于与现有平台集成
·以你喜欢的程式语言编写程式码
·没有必要订立新的智能合约
·创建原型所需的时间
· 治理——避免壁垒进入网络。在深入研究区块链之前,先定义您的治理。如何添加用户和组织,以及如何确定是否应该删除用户或组织。定义一种机制来识别坏的参与者。请记住,随着其他用户使用或加入服务,服务的价值会随着每个用户的使用或加入而增加,并且该价值会在创建的网络上传播。区块链随着时间的推移而取得成功的能力取决于它的发展能力。这种演进将带来许多关于方向的决策,围绕这些决策的治理将最强烈地决定系统的结果。
4. 解决方案的成熟度
您是否正在寻找一个现成的解决方案,或者您是否有能力在内部开发一个混合的解决方案(只有在提供者是开源的情况下才有可能),评估解决方案的开发阶段:区块链路线图与您的产品路线图。考虑到其中许多还没有在主网中,因此解决方案的产品路线图必须与您的产品路线图产生共鸣。
5. 运营成本
由于早期采用者所处的技术阶段,运营成本尚不可得,这无疑无助于计算构建区块链基础设施所需的预算:资本支出和运营支出。如果您不想手工处理硬件和设置节点,那么像Microsoft和IBM这样的云供应商提供了BaaS(区块链即服务)方法,其中操作成本将驻留在这些解决方案提供的服务的成本中。
Amara定律
我们往往高估了一项技术在短期内的效果,而低估了其在长期内的效果。
评论
查看更多