作者:Dan Newton

翻译:申利彬

校对:丁楠雅

本文约2600字,建议阅读10分钟。

本文为你介绍借鉴了区块链的部分特性的分布式记账技术,并分析其背后的原因。

什么是Corda?

最近我开始了一个需要使用到Corda的项目,那Corda究竟是什么呢?如果你是在Google上搜到的这篇文章,那你应该已经对它有一些自己的认识,但如果是以其它形式看到这篇文章,那你很可能对它就不是很熟悉了。不管怎样,我解释一下它是什么。

Corda是一种分布式记账技术(Distributed Ledger Technology),简称为DLT。一些人可能会说这是区块链,但我坚信它与以太坊(Ethereum)、比特币(Bitcoin)这些区块链是有区别的。不过它更像超级账本(Hyperledger Fabric)和Quorum(以太坊的一个分支)这些分布式账本技术。这些区别很重要,因为这样才可以让Corda在它的用例中表现的更好。我将在这篇文章中简要介绍影响Corda设计的因素。

总而言之,Corda是一种应用在商业中的分布式记账技术。例如在金融机构,通过保持一个共享交易账本,消除了参与者相互交易后不断检查账本一致性的需要。这是Corda正在解决的一个主要问题。

基于这些,它的设计就是为了让相互交易的各方确信他们账本的一致性。Corda消除了网络上所有参与者需要了解每一笔交易的需求,因为只有那些参与其中的人才会对它们感兴趣。为了更好的展开阐述,我们需要对Corda正在解决的问题进行适当的研究,这样才可以理解为什么选择Corda做这些基本的决策。

为什么使用分布式记账技术?

为什么分布式账本作为一种可能的解决方案,可以让每一方的账簿保持一致,而不需要双方进行经常性的检查?

这个问题的答案可以写很多。数据一致性是分布式账本的核心功能之一,也对Corda正在解决的问题起到关键的作用。我们来更进一步看看Corda为什么可以消除商业人员在保持各方数据一致性上花费的额外时间和工作。

一个商业或者金融结构,以银行为例,从一个客户的账户转一笔钱到另一家银行的接收者账户中,两家银行都需要检查这次交易是有效的,也就是客户的资金已经被转走,并且最后被正确接收。

确保一个账户的资金已经减少而另一个账户的资金增加,需要双方进行多次的检查。因为他们需要百分百确定钱不会神奇地消失或者凭空创造出来。此外,一些检查是手工完成的,需要花费更多的时间和精力来确保一致性。

分布式账本可以完全消除这种需求,无论是由交易双方进行还是由第三方完成。这是由分布式账本的本质决定的,账本上所有节点(参与者)的状态必须一致。

具体到Corda,只有当所有相关方都接受了所提交的交易的输入和输出是正确时,才会提交交易。如果有任何人不同意,那这笔交易就不会发生,否则,交易将被提交,并且这些资金(或任何输入和输出)按照约定在双方之间移动。

请注意,我还没有提到任何需要手动检查交易的需求。其实仍然可以在提交交易的过程中进行手动交互,比如,在流程完成之前需要进行签名。

来源于r3's的训练材料

进入下一个问题:

为什么Corda只允许交易中的参与方进行交易?

首先我们需要理解类似以太坊(Ethereum)和比特币(Bitcoin)的区块链,为什么它们的交易都是公开的。区块链的主要吸引力之一就是信任机制,也就是不需要信任你(或者任何人)也可以相信在链上的交易都是有效的。这是可以实现的,因为所有的交易都是公开的,一旦它们被包含在一个区块中,那么这种状态将永久保持。一位不怀好意的参与者想要修改一个区块中的交易几乎是不可能的,因为它需要在下一个区块加入链之前,将网络中所有节点的区块副本进行修改。

这样做的缺点是,使用区块链的每个参与方都必须保留该链的本地副本,这样当一个新区块被添加到链中时,所有参与方都会收到更新并保持在相同的状态。

降低一个系统的信任机制会对系统性能和可扩展性产生很大的影响。例如,以太坊(Ethereum)目前需要每个节点处理所有交易并存储所有账户的状态与合约代码。这会降低网络上所有节点到一个节点可能的吞吐量。如果该模型保持不变,那么随着用户数量的增加,用户等待其交易被挖掘的平均时间只能增加。

由于上述问题的存在,很多人正在研究提高网络性能的可能方法。以太坊的雷电网络(Ethereum Raiden Network)与比特币的闪电网络(Bitcoin Lightning Network)都在致力于提高各自系统的性能和可扩展性。

以太坊网络例子:单个交易中涉及的节点

Corda很可靠,但是这并不意味着它走向了系统性能的另一个极端,但是一些信任是很明确的,因为必须知道一方的身份才能加入现有的Corda网络。此外,网络上的参与者必须信任账本上的资产发行人,资产自己在交易中移动。这就是需要信任结束的地方,参与者自己不需要互相信任。账本保持所有人一致,事实上网络对每个人的身份进行认证授权,身份可以提供一个备份保证以防任何非法操作。

另外,不可靠的区块链或者分类账都不能在信任级别的最底层找到,因为它们隐含在一致性协议中并且依赖于一个(或一组)参与者不能控制整个网络一半的挖掘能力。

通过消除网络中各方共识需求,仅仅保持交易的参与者的一致性可以加快交易完成速度。由网络认证授权提供的初始信任为这一决策奠定了基础。如果分布式记账技术将取代已经存在的金融基础设施,这将在其中起到重要作用。

Corda网络例子-参与者包含在单独的交易中

根据这两个问题的答案我们可以确定,到目前为止,Corda并不是像以太坊(Ethereum)或者比特币(Bitcoin)区块链那样分散,但是它也确实允许企业在不需要中心节点的情况下进行交易。这和其它分布式记账技术保持一致,例如超级账本(Hyperledger Fabric)。

这是否是一个好的或者糟糕的想法取决于你对离散重要性的看法。虽然,合约代码的分布与区块链中的硬分叉(hard fork)工作类似——在所有升级之前,所有各方都必须同意新代码;然后放弃旧版本的代码,而不是让两个不同的版本独立运行,但是,这种升级过程使它在分散的规模上减小了一点。

我相信,如果DLTs要向前发展,并且得到更广泛的应用,这些就是需要做出的设计决策。

综上,我相信这些因素对Corda的设计产生了很大的影响。他们选择分布式记账技术,该技术使用已知的身份向系统注入信任,并且保持交易各方交易私有。这样的目的在于减少维护数据一致性所需要做的工作,同时仍然允许数据良好地伸缩并处理更大量的交易。如果分布式记账技术充当商业之间交互的角色或者可能取代当前金融基础设施,那么我相信这些决策就是必须的。

如果这篇文章激起了你的兴趣,你想亲自看看Corda,那么去看看他们的文档,里面提供了关于Corda构建的概念以及如何使用这个平台的教程,这样你就可以自己拿来试验了:

Corda文档地址:

https://docs.corda.net/

原文标题:

What Is Corda?

原文链接:

https://dzone.com/articles/what-is-corda-3

译者简介

申利彬,研究生在读,主要研究方向大数据机器学习。目前在学习深度学习在NLP上的应用,希望在THU数据派平台与爱好大数据的朋友一起学习进步。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

点击“阅读原文”拥抱组织

独家 | 一文读懂Corda分布式记账技术相关推荐

  1. 独家 | 一文读懂语音识别(附学习资源)

    原标题:独家 | 一文读懂语音识别(附学习资源) 一.前言 6月27日,美国权威科技杂志<MIT科技评论>公布2017全球最聪明50家公司榜单.科大讯飞名列中国第一.全球第六.全世界排在科 ...

  2. 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面

    1.引言 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂? ...

  3. 一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level

    一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level 转载请附上出处,本文链接:https://www.cnblogs.com/pans0 ...

  4. 一文读懂:Kafka(分布式消息队列)的基础概念,教程

    [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 代码案例地址: ?https://github.com/Mydreamandrea ...

  5. 一文读懂5G基站节能技术

    文章版权所有,未经授权请勿转载或使用 近年来,全球运营商营收整体不断下滑,OPEX支出却不断增加,其中基站电费在网络运营支出中占比超30%.5G基站由于更大的带宽.更多的通道数.器件集成度低等因素影响 ...

  6. 独家 | 一文读懂LinkedIn个性化推荐模型及建模原理

    原文标题:HowLinkedIn Makes Personalized Recommendations via Photon-ML Machine Learning tool 作者:Yiming Ma ...

  7. 独家 | 一文读懂自然语言处理NLP(附学习资料)

    前言 自然语言处理是文本挖掘的研究领域之一,是人工智能和语言学领域的分支学科.在此领域中探讨如何处理及运用自然语言. 对于自然语言处理的发展历程,可以从哲学中的经验主义和理性主义说起.基于统计的自然语 ...

  8. 独家 | 一文读懂概率论学习:贝叶斯理论(附链接)

    作者:Jaime Zornoza 翻译:李 洁 校对:郑 滋 本文长度约为3400字,建议阅读10分钟 本文为大家详细介绍了概念学习中常见的贝叶斯理论. 通过一个简单示例,了解概率的基本定理之一. 本 ...

  9. 独家 | 一文读懂神经网络(附解读案例)

    作者:Matthew Stewart 翻译:车前子 校对:陈丹 本文约5500字,建议阅读12分钟. 本文的知识将提供一个强有力的基础,带你入门神经网络的性能,应用于深度学习应用. "你的大 ...

最新文章

  1. 深度摄影风格转换--Deep Photo Style Transfer
  2. Android中ActivityLifecycleCallbacks的使用
  3. Java基础-绘图技术
  4. 计算机网络恶搞图片,网络恶搞图片遭-搜狐新闻
  5. LeetCode 79 Word Search(单词查找)
  6. Objects.requireNonNull 方法说明
  7. 收藏 | Python数据分析必备速查表
  8. 在淘宝买水果短斤缺两是不是成了潜规则?
  9. mysqlpxc集群
  10. U-Boot工作过程
  11. pyplot gtk2 conflicts with gtk3
  12. ctfmon是什么启动项_启动项里找不到ctfmon
  13. 如何编写用户故事的验收标准
  14. 从仿射变化到STN网络
  15. leetcode第643题C++
  16. 关于Qt 5-MSVC 2015 64位在 win7 64位系统debug程序崩溃的问题
  17. 【web-攻击用户】(9.4)跨域捕获数据——通过注入HTML捕获数据、注入CSS捕获数据、JavaScript劫持
  18. 安装debugserver到iPhone上
  19. 如何设计账户余额的数据准确性?
  20. QIIME 2 使用总结

热门文章

  1. CentOs7安装tomcat
  2. 使用pyjnius和mpxj来读取mpp文件
  3. Hashtable 中的键值修改问题
  4. c++ 提取傅里叶描述子_Matlab | 提取图像ROI任意形状
  5. java jni demo_Android JNI:让你一眼知之的JNI DEMO
  6. keras技巧——如何获取某一个网络层的输出
  7. WARNING:tensorflow:Layer gru will not use cuDNN kernels since it doesn‘t meet the criteria. It will
  8. 饭后半小时养胃黄金期
  9. SpringCloud断路器hystrix
  10. pandas loc iloc(self index location 即按照行索引来获取数据)