了解最新技术文章
区块链技术是当今科技圈最热门的新话题之一。区块链解决方案可以提供透明度、安全性、容错性、可审计性,并且在某些情况下还可以降低运营成本。似乎每个人都想推出新的区块链产品。但尽管有诱人的好处,它对您的组织真的有意义吗?
区块链技术是组织设计、测试和部署应用程序和数据方式的巨大转变。也许比以往任何时候都更需要在新区块链应用程序的初始部署之前进行良好的设计和全面的测试。确保收益超过额外的前期工作的风险很高。
让我们看一下区块链的优点,以及如何确定它是否是您下一个项目的不错选择。
启动区块链项目时最重要的决定是确定它是否是您组织面临的问题的良好解决方案。当区块链非常适合时,它可以提供其他技术无法实现的好处。另一方面,如果它不合适,您很容易浪费宝贵的时间和金钱,并最终得到一个无法实现承诺的应用程序。仔细的前期分析和规划对于确保您的项目非常适合区块链技术以及您的组织准备好应对挑战非常重要。
区块链技术的一个主要好处是数据透明度。区块链设计依赖于多个节点维护分布在区块链网络上的完整数据副本的事实。分布式的数据可以被更多的用户访问并提供更多的价值。当分析师能够访问当前的相关数据时,高级分析是最有益的。这与许多在设计中构建数据隔离的现有技术解决方案不同。隔离数据并控制对数据的访问通常可以更轻松地确保数据完整性和机密性,但在此过程中会牺牲透明度。在传统系统中,数据通常可供有限数量的用户使用。区块链可以提供完整性和机密性,并保持数据透明度。
区块链使用商定的规则(称为共识协议)来提供数据完整性。公共区块链倾向于使用更密集的共识算法,例如比特币和以太坊的工作量证明(PoW)协议,以在不受信任的节点之间提供协议。区块链还可以使用加密来提供机密性。私有和混合区块链(例如 Hyperledger Fabric)具有中央治理,使加密密钥管理比公共区块链环境更容易。
区块链技术的另一个吸引人的好处是,一旦将区块添加到区块链中,它就无法更改。(实际上,块中的数据可以更改,但对现有块的任何更改都会破坏块之间的加密链接。损坏的链接使所有节点立即明显看出区块链的一份副本现在无效。因为进行未经授权的更改将立即生效检测到,没有充分的理由这样做。)相信每个块的原始状态都得到维护,使得审计和调查变得更容易、更可靠。如果信任历史数据很重要,那么区块链可能是一个不错的选择。
适用于 QA 和开发团队的现代测试用例管理软件
了解区块链技术适合的地方的最佳方法之一是检查成功的用例。看看组织如何成功实施区块链,看看您是否注意到重复出现的主题。如果您想尝试现有的企业区块链用例,请查看 IBM 和 Oracle。他们各自提供企业区块链解决方案,并提供当今区块链如何使用的视图。
您会发现许多不同类型的用例,但其中三种往往会反复出现。这三个用例之一可能是您的组织开始探索区块链的好地方。
区块链技术从一开始就是为了支持金融交易而设计的。它很好地支持加密货币,但它的作用远不止于此。任何类型的金融交易都可以从区块链中受益。该技术不仅可以管理数字资产的转移,还可以执行严格的规则以确保交易中的各方行为正常。
第一代区块链,比如比特币,基本上只记录交易。第二代,从以太坊开始,增加了智能合约。智能合约是自动执行的计算机代码,必须在每个区块链网络节点上运行以管理对区块链的访问。每个节点必须运行智能合约代码来完成交易,并且所有智能合约保证在所有节点上产生相同的结果。智能合约使得编写允许用户进行复杂的金融交易而无需任何第三方调解的程序成为可能。
第三代区块链,例如 Hyperledger Fabric 和 Ethereum Enterprise,增加了对企业基础设施的可扩展性和支持。最新的区块链浪潮允许开发人员创建应用程序来进行企业规模的商业活动。自动化交易和消除中间商的能力使企业能够向过去可能无法进入的个人开放市场。区块链开辟了一个充满机遇的全新世界。
区块链的另一个亮点在于它能够通过一系列所有者跟踪数字资产的转移。在我们进行最终购买之前,您和我购买的几乎所有产品都经过多手。区块链应用程序可以跟踪产品从生产者一直到消费者的过程。
将产品从生产者转移到消费者的过程称为供应链。区块链技术很好地支持了供应链应用程序。生产者可以将他们的货物提交给供应链,获得报酬,甚至可以全程跟踪他们的货物到达消费者手中。另一方面,消费者可以将他们的产品一直追溯到原始生产商。您想验证您的咖啡是否来自您支持的种植者吗?区块链可以做到这一点。
区块链上的数字身份是一种永久声明,与一些现实世界的实体以及一组证明配对。证明是证明所声称的身份有效且合法的一种证据。对于人类来说,这可能包括生物识别属性(如指纹或视网膜扫描)。但设备也可以有身份。智能合约可以执行多种类型的规则来管理交易,并且这些规则不一定都适用于人类。
假设您想购买冷冻混合蔬菜。您如何知道您的蔬菜从生产商到商店的整个过程中都处于冷冻状态?区块链应用程序可能要求用于运输蔬菜的冷冻车每 15 分钟报告一次拖车温度。如果温度升至冰点以上,智能合约可能会使发货无效并拒绝付款。卡车实际上成为供应链的参与者,需要一个身份。
现在您已经了解了一些区块链的优点以及其他人如何使用区块链,这对您有意义吗?这完全取决于你想做什么。
请记住,弄清楚区块链对您的项目是否有意义是一个过程,而不是一个简单的答案。第一步是真正了解您的项目及其独特的要求。如果您不了解项目的细节,那么决定是否使用区块链将会困难得多。
Karl Wüst 和 Arthur Gervais 发表的一篇论文是一个很好的起点,题为“你需要区块链吗?” 他们的论文很好地描述了应用程序的各个方面,以便您决定区块链是否适合您的项目。当您阅读本文时,您将回答六个问题,这将有助于确定您的项目是否适合区块链,或者是否应该使用更传统的解决方案。
每个问题都侧重于应用程序需要如何存储数据和支持用户的不同方面。简而言之,您会发现,如果您需要存储多个编写者提供的状态数据而不依赖于受信任的第三方,那么区块链可能是一个很好的解决方案。有关信任和公共可验证性的更多问题进一步帮助您确定公共、私有或混合区块链是否是更好的选择。
是否使用区块链技术对于任何开发工作来说都是一个重要的决定。该决定改变了您的组织设计和开发应用程序的方式,并对您的测试方式产生了巨大影响。由于一旦将其放入区块链上就无法更改任何内容(包括智能合约代码),因此测试对于成功至关重要。
花点时间真正确定您是否需要区块链。如果您发现区块链技术非常适合,并且您准备好卷起袖子开发您的第一个应用程序,那么您将打开通往可以提供惊人好处的新技术的大门。