账本:
corda 从每个节点的视角看待账本都是不一样的。并不是所有节点有所有账本信息的。
valut视为SQL数据库,只保存 两两节点之间的数据库

状态:
状态是不变的对象,代表共享的事实,比如特定时间的协议、合约
要想改变状态,将旧值的事实标记为历史的,复制旧值并改变一些属性
共享事实或协议随时间的生命周期由状态序列来表示
vault(SQL数据库) 追踪每个状态序列的头部
从每个peer的视角看,分类账本包含在vault中追踪的所有状态序列头(或非历史的) 状态
若想得到当前分类账本状态(设计到不同 类型协议),只需拿出所有状态头或所有未消费的状态都拿出来,就可通过分类账获得与你交易的所有对手方的完整视图。

交易:
交易原子性 事务性
未提交的交易是更新账本的请求
交易由数字签名,所以强制它输出状态不可变
交易请求需要验证 这与 交易创建 相对独立的进行
任何人都可以发起交易请求, 然后 与该交易有关的人都验证(通过合约代码进行)并签字了之后, 还有公证服务签字 才能成功提交写库,输入状态标记为历史的,产生新的输出状态了。
合约:
合约代码是特定环境下纯粹的可执行的函数,基于 need-to-know(需要知道所需的) 验证交易,并且确定它们是否是分类账的有效更新

法律文书
法律文书被合约引用, 当合约代码不足时,可以依赖

命令
命令随交易出现,并表明意图,并通过列出的公钥指定所需的签名者

时间戳
时间戳权威机构由公证服务提供 提供可信的时间 验证
时间戳断定 交易发生在特定的时间窗口中,并不是一个点

流程 flow
阻塞方式编写的代码不能停止和重启,采用 checkpoint。
因为流程一步步的, 酷似 nodejs中的回调地狱反人类设计,corda中采用 checkpoint ,做了某些流程之后,将先前的操作持久化到磁盘上,此时 宕机的话 从 最近的checkpoint 重新开始发起即可。
使用一些已经签名的子流程,可以避免重复造轮子。
流程是轻量级的进程(纤程 (协程)而不是线程,用户模式运行的轻量级线程),用于协调复杂、多步骤, 多节点之间需要互动所需的节点才能就共享的事实达成共识

corda的更多相关文章

  1. Hyperledger Fabric、Corda和以太坊对比

     Hyperledger Fabric . Corda 和以太坊的对比 三种不同的框架 我们从 Hyperledger Fabric.R3 Corda和以太坊的白皮书中可以看到,三种框架在可能的应用领 ...

  2. 以太坊、Hyperledger Fabric和Corda,哪个更好?

    原创: Philipp Sandner 区块链前哨 昨天 编译|盖磊编辑|前哨小兵甲区块链前哨导语: 我们分析了 Hyperledger Fabric,R3 Corda 和以太坊这三种分布式账本技术间 ...

  3. Hyperledger中数据存取的实现

    简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...

  4. ThoughtWorks 2017技术雷达

    前言: ThoughtWorks人酷爱技术.我们对技术进行构建.研究. 测试.开源.记述,并始终致力于对其进行改进-以求造福 大众.我们的使命是支持卓越软件并掀起IT革命.我们创建 并分享Though ...

  5. Il laser che è chiaramente visibile

    Prima di quel tempo ho ottenuto questo potente puntatore laser 500mW, non so davvero come questo dis ...

  6. 微软刚发布的区块链去中心化身份识别系统DID

    https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653549389&idx=1&sn=158f9feb10d76a ...

  7. 在Ubuntu中部署并测试HyperLedger Fabric 0.6

    最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来 ...

  8. 联盟链初识以及Fabric环境搭建流程

    这篇文章首先简单介绍了联盟链是什么,再详细的介绍了Fabric环境搭建的整个流程. 区块链分类: 以参与方式分类,区块链可以分为:公有链.联盟链和私有链. 定义: 我们知道区块链就是一个分布式的,去中 ...

  9. HyperLedger Fabric 1.4 区块链开发平台(4.1)

    目前区块链开发平台分“公有链平台”和“联盟链系统”两类,“公有链平台”主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用:“联盟链系统”主要以超级账本为主的开源系统,该类开源 ...

随机推荐

  1. 开启vue源码的解析攻略---认识flow

    javascript 是动态类型的代码,有很多的写法很不容易报错,想引入静态类型检查的flow,之前做项目的时候用的typascript的,看的大概的写法和 typescript 类似,因为规范避免了 ...

  2. Java常用的九种排序方法及代码实现

    package com.algorithm.Demo; import java.util.ArrayList; import java.util.Arrays; import java.util.Li ...

  3. String、StringBuffer、StringBuilder的比较

    看String类的定义:public final class String...{private final char value[];} 看AbstractStringBuilder类的定义:abs ...

  4. 一个不错的Node.js进阶学习引导

    https://cnodejs.org/topic/58ad76db7872ea0864fedfcc

  5. 2017-9-11-Linux开机启动脚本

    参考文章:https://www.magentonotes.com/ubuntu-config-autostart-shell-script.html 还是先开门见山的说,Linux需要添加开机启动程 ...

  6. 2554 ACM 杭电 数学

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2554 中文题目,题意易懂.但是本题涉及到很强的数学思维. 思路:看了题意后:我的第一反应是除了 n=1,n ...

  7. Android的系统属性:build.propSystemProperties

    获取build.prop的键值信息: String sn = SystemProperties.get(SN_INFO); 其中key值为: public static final String SN ...

  8. python执行方式及变量

    .python执行方式 (1)交互式:调试方便,无法保存代码 (2)命令行方式:可以永久保存代码 (3)python执行阶段 先启动python解释器,解释器像文本编辑器一样将文件内容从硬盘读到内存, ...

  9. BZOJ3644 : 陶陶的旅行计划

    假设是序列问题,且$S<T$,可以贪心求解,通过维护下述信息进行区间合并. 对于区间$[l,r]$,维护的信息有: $v$:跳到了$\geq r$的位置后,可以花费$1$往右最多扩展多少. $f ...

  10. FFT是个啥?

    简单来说就是一个计算多项式乘法的东西呀.. 以下内容基本都是在大黑书<算法导论>上的.. 总述 对于项数为$n$的多项式$A(x)$和项数为$m$的多项式$B(x)$,可以如此表达: $$ ...