corda理解(一)

corda——基础知识


前言

关于corda的一些个人理解,如果有问题欢迎指出。


一、corda简介?

corda是属于联盟链的范畴,主要应用于金融,corda在中国的的流行度不高,不及hyperledger fabric,但是corda也有自己的特色:点对点传播,用户的交易隐私保护性更好;由于是联盟链,基于半信任的关系,交易更加方便快捷;corda不具备公有链真正意义的区块链,Corda的是在用户节点保存交易链来保证交易数据的安全性。

二、基础知识理解

1. Network(网络)

在corda中网络的传输是点对点的,一笔交易的发生只能参与方之间进行,任何非交易方得不到交易的信息,这也是corda的特点,更好的保护了用户交易的信息。
Ex:alice和bob进行了交易1和7,只有交易方能够看到交易信息,而其余人得不到交易信息。
在这里插入图片描述

问题:由于是点对点传播,因为无法建立记账节点,也不可能为每笔交易单独建立一个记账节点(资源浪费、拖慢交易速度),交易的数据是记录在节点数据库里,如果用户篡改了节点数据库,容易发生交易纠纷。如果节点并不存储在本地,用户只能连接到节点进行操作,并不具备篡改节点数据库的条件,而且节点数据库transaction链条的(类似于比特币区块的链),并且每一笔交易都会有签名,所有想要伪造一条交易链的可能性不大。

2. State

在corda中,一个事实(收到的债券、借钱的证明)是以state的形式存在。
在这里插入图片描述

包含内容:
Content:事实的内容(IOU state properties)。
Participants: 交易的参与者。
Contract: 指向了一个智能合约(智能合约的作用下边解释)。

在这里插入图片描述
在这里插入图片描述

2.1 State序列

State在corda中是不可改变的,作为一个不可更改的事实永久存储。如果state要发生改变(比如一笔贷款已经还清了,借款state要被取消),要通过transaction(交易,下边介绍)把要发生改变的state状态由unconsumed(每一个state都会有一个状态记录,是消费过的还是未消费的)改为consumed,然后transaction会重新生成一个新的state作为现在的事实状态。
在这里插入图片描述

3. Transaction

Transaction是更新state的过程。
组成:
Input state 表示交易的输入,需要改变的state
Output state 表示交易的输出,新生成的交易事实
Command 表示交易的性质,表示交易的性质,是转账交易还是还款交易
Time-window 表示交易的时间限制
Notary 表示交易指定的认证节点
Attachments 表示交易可能用到的外部数据(比如汇率等实时信息)
例子:一个欠钱的借条以一个state的形式存在数据库中,欠款还完后,通过一个transaction把之前的借条state变成historic,然后重新生成还款完成后的事实。

在这里插入图片描述

4. 交易的验证:

一笔交易过程中涉及的验证过程。
Input→output之间的过程是通过contracts(智能合约)保证的。
Input的输入是通过双花共识(notary节点认证)保证的。
在这里插入图片描述

5. Contracts(智能合约)

智能合约做的是对交易的输入输出进行验证,根据事实需求变成限制条件,利用这些条件对input、output之间的关系验证。
在这里插入图片描述

6. consensus(共识)

类型:

有效性共识。
唯一性共识。

有效性共识:

在交易提交给共识节点是时,会进行有效性验证。有限性验证首先会验证交易本身,交易的input state和output state是被智能合约确认通过的,而且交易已经被所有需要的参与方签名了。
除了交易本身的检验,交易输入的input的合法性我们也需要检验,比如一个转账交易,我们需要验证进行交易的钱是由中央银行签发,中间的交易过程都是合法的,因此有效性共识也会验证交易链,确保交易验证的合法性。

在这里插入图片描述

唯一性共识:

如果一个用户账户拥有1万元,一万元这个事实为一个state,用户将这个state提交两笔transaction,分别转给Alice和Bob,那么这个用户就把一分钱当作两份来花(双花),corda框架会提供唯一性共识,notary节点会查看提交交易的input state是否已经被消费过,如果消费过就会拒绝交易。
在这里插入图片描述

7. Flow

将账本更新的过程自动化。

从网络服务中找到共识节点。
在这里插入图片描述

此时开始构造交易,添加认证节点notary,如果有输入输出,添加输入输出的状态,添加command表示交易的目的,time-window表示交易的时间限制。
在这里插入图片描述

对交易进行收集签名的过程。
在这里插入图片描述

最后一步进行notary节点共识验证,如果检验没有问题,那么notary会把input state的hash值记录下来,并表示已经消费了,然后广播给所有的参与节点,notary节点共识过程没有问题,各个节点收到后,就会把交易信息记录到节点数据库里,表示交易完成。

在这里插入图片描述

8. value 节点数据库

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
Corda: 分布式账本 由恒生研究院旗下区 块链技术社51chain真诚翻译 原著 :麦克 . 赫恩 2016年 11月 29日 一种 具有 节点间 最小 信任机制的 信任机制的 无中心数据库技术 中心数据库技术 中心数据库技术 ,允 许创建一个 全球 的分布式账本。 这样的 账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易账本在金融、 贸易供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 供应链跟踪和更多领域都有许用场合。我们提交的 Corda,是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 是一种去中心的全球数据库技术,它详细描述了如何 实现一个去中心的应用开发平台目标。 在《 Corda:介绍》 一文中,我们 一文中,我们 阐述 了它的高层描阐述 了它的高层描阐述 了它的高层描阐述 了它的高层描,并提供详细的技术讨论。 并提供详细的技术讨论。 并提供详细的技术讨论。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值