区块链解决方案该如何选择
扫描二维码
随时随地手机看文章
如今区块链的种类繁多。有些技术更适合某些特定的用例,有些则不太适合。这主要是一个愿意接受与否放人问题。需要在可伸缩性和性能之间找到平衡。也许为了提高性能而降低可伸缩性期望是可以的,反之亦然。这是您在系统设计阶段必须解决的问题。另一个例子可能与机密数据有关。如果您不希望数据是公开的,则必须选择公共的区块链,该区块链适用于企业希望保持私有并只对特定方提供访问的业务。不要使用开放的区块链,任何人都可以像比特币和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(区块链即服务)方法,其中操作成本将驻留在这些解决方案提供的服务的成本中。