周政军:区块链中侧链和分片解决不了的扩容问题,交给DAG吧!

佚名 ☉ 文 来源:区块链大本营
2018-04-25 @ 哈希力量文库

文库划重点:那个时候我开始在区块链行业做比特币和莱特币双挖的矿机软件,2014、2015年又转到区块链软件。目前的TrustNote项目是从2017年二月份开始组建筹备的,软件设计比这个更早开始了。接下来,我就给大家讲一下DAG分布式账本的技术。


TrustNote创始人周政军开篇就用梅特卡夫定律、马太效应分析互联网生态的价值,类比区块链生态,并以互联网生态的价值公式V=K*P*(N2/R2)评估区块链生态价值。KaH哈希力量 | 消除一切智能鸿沟

在周政军看来,从互联网的出现、发展到BAT的出现,互联网的价值除了和节点的平方成正比以外,还 和节点相互之间相互建立的连接成反比。在方程中,N代表网络里的用户数,这个网络是个概括性的网络,可能是物联网,也可能是社交网络;R代表两个用户之间建立的连接成本; P代表市场份额;K代表每个节点的变现能力。对于区块链应用,要在今天的网络里输出价值,给社会带来真正的贡献,必须回顾这个公式。KaH哈希力量 | 消除一切智能鸿沟

除此,周政军还高屋建瓴地谈到了为什么要用扩容,为什么要选择DAG,钱包的建设应该注意哪些问题,智能合约在设计中又应考虑到哪些问题。洋洋洒洒近万字的分享,却逻辑清楚,层次分明,对于技术人员来说,是一篇不可多得的学习样本。KaH哈希力量 | 消除一切智能鸿沟

周政军(Jeff Zhou)简介:KaH哈希力量 | 消除一切智能鸿沟

周政军(Jeff Zhou),TrustNote基金会创始人,区块链软件和芯片研发专家。20年以上研发经验,在数字货币、大数据平台、物联网平台和操作系统核心等领域均有世界领先的技术成果和丰富的产品技术实战经验,并拥有近10项相关领域发明专利。Jeff Zhou曾领导开发了世界首款比特币莱特币双挖矿机;打造出基于Hyperledger Fabric的IoT区块链平台;其研发的手机浏览器,后被奇虎360收购并成为奇虎360手机浏览器的核心。KaH哈希力量 | 消除一切智能鸿沟

以下为周政军分享实录:KaH哈希力量 | 消除一切智能鸿沟

很荣幸能和朋友们以及开发们一起分享DAG的分布式帐本技术。KaH哈希力量 | 消除一切智能鸿沟

先简单介绍一下我自己,我是软件研发背景出身,2000年开始参与创办过一家芯片创业公司叫做中兴微电子,后来这个公司在2005年到美国纳斯达克上市了,是咱们大陆第一家能够上市的芯片设计公司,我在这个公司创始期间一直是它的软件和算法的负责人。KaH哈希力量 | 消除一切智能鸿沟

之后,短暂在国外生活了四年多,回国之后参与一个创业项目——手机浏览器项目,这个项目后来被奇虎360收购了,是当前奇虎手机浏览器的前身。KaH哈希力量 | 消除一切智能鸿沟

2013年我开始进入区块链行业,2013年8月份,第一次看了中本聪的白皮书,作为一个当时已经从事过十几年软件研发人员,我马上感觉到这将会是一场改变世界的革命。KaH哈希力量 | 消除一切智能鸿沟

中本聪给我们提出来了一个新的方向——用软件这个工具来实现信任,通过这个工具还可以构建完全由软件技术搭建起来的信任社会。KaH哈希力量 | 消除一切智能鸿沟

那个时候我开始在区块链行业做比特币和莱特币双挖的矿机软件,2014、2015年又转到区块链软件。目前的TrustNote项目是从2017年二月份开始组建筹备的,软件设计比这个更早开始了。接下来,我就给大家讲一下DAG分布式账本的技术。KaH哈希力量 | 消除一切智能鸿沟

价值公式KaH哈希力量 | 消除一切智能鸿沟

回顾一下,在互联网领域一个网络想让它真正阐释对社会的价值,是有一个公式的,这个公式是3COM的创始人最早提出来的价值公式,一个网络的价值是和网络节点数的平方成正比。之后随着这个互联网行业的发展和BAT级别公司出现之后,腾讯创始人又补充了一下这个公式,互联网网络的价值除了和节点的平方成正比之外,还和节点相互之间建立连接的成本的平方呈反比,我们这个方程里面有一个N方,有一个R方,N方代表着这个网络里面的节点数,这个网络我们是一个比较概括性的网络,有可能是一个物联网,也有可能是一个社交网络,如果在社交网络这个N就是用户数,就是使用社交网络工具的用户数量。R是两个用户之间建立交流和连接的成本。另外两个参数,P代表着市场的份额。K是代表着在每一个节点或者每一个用户能够带来的价值,用商业的话来说叫做客单价。KaH哈希力量 | 消除一切智能鸿沟

如果我们想在区块链上构建一个可以信任的网络,如果想把这个网络和价值做到最大,我们需要这个公式,需要把N做大,R做小,这样网络才能够真正放大,才能够真正构建一个有用的信任网络系统。KaH哈希力量 | 消除一切智能鸿沟

基于这个考虑,在当下区块链的项目里,我们要看的是区块链钱包用户数和使用客户端进行交易的数量,如果用户数和交易数上不来,即使我们能够实现非常有吸引力的应用场景,甚至颠覆性的功能,但是因为使用的人数和使用成本非常高,使得网络价值也不会长大。KaH哈希力量 | 消除一切智能鸿沟

现在我们又把价值公式提出来,并以此作为TrustNote项目最初的设计原则。想要打造一个成功的区块链网络的话,需要关注解决的问题是,要把N的平方做大,这个叫做行业可拓展性问题。要把R做小,即在区块链里面每一笔交易的交易费低,交易确认速度快,还有一个降低R的设计考虑,即在当下的区块链项目、软件的客户端还是不太容易安装到更多的手机或者更小的设备里,TrustNote的钱包轻便易安装,软件尽量能够实现占有资源更少一些,能够被安装到更多类型设备上。在P这个点上,虽然现在有很多很新奇的应用方向,如果这个应用方向使用的人数不大,就很难建立一个规模很大的区块链网络,所以我们尽量选在 当下的技术成熟度所能够支撑的应用方向。 如果想要让应用产生更大的价值,我们尽量找对当下与大家生活更紧密或者大家更想做的应用方向,这是我们现在根据梅特卡夫定律方程式做的一些分析。TrustNote这个项目最开始做公有链的方向,就是按照这个梅特卡夫定律来分析和确定我们这个市场以及研发的方向。KaH哈希力量 | 消除一切智能鸿沟

如何扩容?KaH哈希力量 | 消除一切智能鸿沟

回到DAG,为什么选择DAG?最主要的问题是可拓展性问题。最近研究发现不仅仅有可拓展性的问题,DAG还有一些其他的作用和功能,能够更好地和区块链或者说叫做分布式共享账本融合。KaH哈希力量 | 消除一切智能鸿沟

有一个关键的环节叫做挖矿环节,挖矿环节目前基本上是堵塞式的,矿工做了这个网络里非常多的重要事情。为什么说它做了一个非常多的事情,因为它做了三个关键性的动作,要做交易的检查,通过挖矿的环节选一个可信的记账源;拿到可信记账源权利之后检查基本可靠性同时还要检查这个帐户UTXO模型关系。KaH哈希力量 | 消除一切智能鸿沟

总结一下,在挖矿节点里面,矿工同时做三个关键动作后,导致的效果就是整个网络在间隔区间发生的交易都是同步阻塞式的,所有交易都等在那里。KaH哈希力量 | 消除一切智能鸿沟

区块链虽然有很多分布式的节点,但它是同步写入的数据库。由于它这样的特征,所以分布式的账本,它的可拓展性通过区块时间和区块尺寸是可以算出来的。KaH哈希力量 | 消除一切智能鸿沟

当下很多知名的项目,比如说比特币出块时间是十分钟,比方说以太坊,比方说EOS。EOS说我现在要想办法优化共识算法,尽量缩短出块时间,这是他想做的事情。但是我们会发现在这样一个架构里面因为还是同步写入的架构,这个架构没有发生变化,即使缩短了出块时间,也只能降到某一个数值便不能再降了。在你说定的出块时间内,所能容纳的交易数量也是可以算出来的。所以不管项目的白皮书里面怎么样描述架构,如果还是这样的基本架构不变,它的扩展性也是有限的。KaH哈希力量 | 消除一切智能鸿沟

扩容这件事有多重要?区块链行业现在发生一些非常知名的新闻,非常有争议的话题已经表现的非常之强烈和明显了。比特币目前能做的事情很有限,只能增大区块的尺寸,这就涉及到修改共识算法,所以大家没有敢动这个事情。KaH哈希力量 | 消除一切智能鸿沟

以太坊撸猫会导致这个拥堵。所以拥堵是以太坊网络面临的很重要的问题。因为堵,使矿工具备了有很大的议价权,想让你的交易更快需要支付更多交易费用,导致比特币以及以太坊的交易费用比较高。有一些人觉得不是特别高,但是如果和互联网行业里面的每一个交易成本,我们叫做维护一个活跃用户的成本比较来算的话,还是蛮高的。转帐一次意味着一美元,那天只有一笔交易也要有一个一美元的支出,这基本上是不可想象的费用。所以就限制了以太以及其他区块链项目将来被大规模使用。KaH哈希力量 | 消除一切智能鸿沟

可拓展性问题是当下区块链产品技术上面临最主要的问题,而且也是整个行业面临的最主要问题,如果这个问题解决掉了,才能够解决区块链被广泛应用的问题。如果不解决,区块链还只能是大家在学术或者是研究室里面探讨。KaH哈希力量 | 消除一切智能鸿沟

可是,目前,已经不具备可拓展性了,为什么?有几个指标是永远不会长大的。KaH哈希力量 | 消除一切智能鸿沟

为了解决这个问题,目前能够看到的行业方案一个是做 侧链 ,侧链就是说会根据交易的双方或者多方之间的预设信任关系简化他们之间的共识模型,可以让他们直接建立一个支付通道,这就是侧链的整个思路。KaH哈希力量 | 消除一切智能鸿沟

分片也是大家可以想到的扩容方向,既然全球公用一个完整的区块链网络,限于区块尺寸和区块时间,能否把网络也分散开,尤其是当全球都参与节点数够多的时候,跨洲际的英特尔网可能会有很多的交易延迟,所我们是否可以在各个节点的本地建一些小的区块链网络,把这个账本存下来,再通过分布式的算法把小的计算网络互相寻找到,融合成一个逻辑上的完整区块链,这是分片的思路。这样的好处是分片和分片之间有一种并行的能力,在每一个分片内部是独立的,就是现在分片方案。KaH哈希力量 | 消除一切智能鸿沟

我们目前看一下这个侧链的进展。一个是比特币的,还有一个是以太的,目前这两个项目方案进展都不是很理想,尤其是前期启动了一次,效果不好。KaH哈希力量 | 消除一切智能鸿沟

还有为了提高并发量,建立一个单独的通道,既起到了一个简化共识的作用,同时还可以保护一定的隐私,目前的情况是我们之前研发人员用过的HyperLedger等等,以及其他人员也有这些方面的训练。侧链需要编程很多前期预配置,预设定,看起来可以按照你的需求构建一个侧链,但事实上侧链的过程中需要很多有依赖关系的设定,这样从架构上也是不可拓展的,这也是为什么导致现在侧链方案一般进展不是很顺利的原因。KaH哈希力量 | 消除一切智能鸿沟

分片也是这样的类型特征,虽然要分成几个子区块链,子链的网络再并行进来,如何分解整个网络的子链也是预设定的,就是设定一个规则做分片。KaH哈希力量 | 消除一切智能鸿沟

为什么要用DAG?KaH哈希力量 | 消除一切智能鸿沟

另外一个说法DAG是具备自适应能力和动态的编程能力的侧链/分片技术。DAG每一个树的分支构建,由每一个钱包自主并发做父亲节点的选择,钱包和钱包之间具备一定自适应能力,可以自主的构建某些侧链或者分片。回头说一下DAG,Directed Acyclic Graph。它有几个关键点,DAG是无区块的,使用交易为单位记账,记账颗粒度更细。另外,每一个交易在初期发起的时候有自主权,按照一个规则来选择它的上一个交易作为父亲交易,或者叫做爸爸算法以及最优爸爸算法。这样有一个父亲和儿子的关系的构建,刚好儿子有一个要求就是说必须也用爸爸的哈希值,放到他的单元里面,有点像儿子必须带着父亲的基因往下传递,这样的话这个关系拓展下来就会形成一个有向无环图。每一个钱包发自己的交易都是并行的。KaH哈希力量 | 消除一切智能鸿沟

TrustNote设计里有一个概念,这张图不属于某一个节点,而是每一个节点要保存一份本地数据结构的图,如果它发生了一笔交易马上会修改自己保存的图。所有节点并行的修改。KaH哈希力量 | 消除一切智能鸿沟

同时我改了手里面的图之后,马上把图的修改部分发给伙伴节点,广播出去。这样节点自行选择父亲,选父亲的时候就要验父亲的有效性。KaH哈希力量 | 消除一切智能鸿沟

如果它所引用的父亲之前没有任何一个儿子,那这个父亲实际上是没有被验证过的交易。如果有一个交易已经被验证过了的话,这个交易就会确定一个可验证的状态,这样的话交易由钱包之间并行做验证,这个和比特币有非常大的区别。KaH哈希力量 | 消除一切智能鸿沟

在比特币里,没有被旷工放到区块里面的交易都是是无效的,但是DAG里面不一样,每一个钱包是自发按照引用关系来验证之前的交易。KaH哈希力量 | 消除一切智能鸿沟

这个里面概括的是,每个钱包实际上是自行确定引用关系,自行验证父亲,这样的话会自然构成一个图形的结构,叫做DAG。这个DAG刚好也是钱包跟钱包的验证所建立的信任网络,其他节点验父亲的时候,等于是给它做了一定的信任背书。KaH哈希力量 | 消除一切智能鸿沟

为了防止有人做假帐或者双花,在DAG数据结构之上TrustNote还要做一个排序。根据前面的父子引用关系,实际上已经可以排出半序;我们还要想办法给每一个交易都标定出全序。在排全序的过程中,我们选用算法和共识机制确定DAG图的主干,有了这个主干,没有在这个主干的节点会依据主干的索引规则生成一个完整的排序,当你把这个DAG排出全序来的时候,相当于你手里面拿到的一个逻辑上完整的数据结构,这是DAG最关键数据结构的想法。KaH哈希力量 | 消除一切智能鸿沟

当你能够排出一个完整、有顺序的数据结构的时候,可以防止双花了。这张图我们展示的,第八号交易和第十号的交易,当这个第十号交易发生和第八号交易发生的时候,目前这两个交易还没有完全最终确认,但是已经被初始确认了,这个钱包和它的交互钱包都已经能够看到了有交易发生,主链随着这个交易生长也会生长,当生长到这些位置的时候,这个交易会被这个节点做校验,就成为被确认了。因为它先确认了它,后面假如说它们是出自同一个UTXO的交易,则后一个交易被标定为是无效的,这是基本逻辑。KaH哈希力量 | 消除一切智能鸿沟

DAG的好处和坏处KaH哈希力量 | 消除一切智能鸿沟

DAG的好处和坏处,好处是什么呢?因为记账单位不按区块来记,按交易来记,有交易以后马上可以记,不需要等一个完整区块,这个和比特币有区别,比特币你发生交易也不行,需要等,你要和这十分钟所有交易都要攒在一起完成一个区块写入账本。KaH哈希力量 | 消除一切智能鸿沟

最初第一次记帐和校验的时候由各个钱包以P2P的方式验它的相关交易,所以是并行的做验证,刚好符合了P2P网络的潜力,P2P网络就是说尽量马上做决定谁可以加入到这个网络里,而且每个网络一加进来之后,因为网络的节点加入可以增加他的验证交易能力,这叫做可拓展性。随着钱包数量增多,交易数量增多提高了这个并发能力,刚好满足了可拓展性。KaH哈希力量 | 消除一切智能鸿沟

交易是由你邻近,互相之间可以看得到的节点去做验证。就是说你选父亲,你一定是选你账本里面已经记录的别人的交易数据,然后你自己去选择,这样的话根据这个网络的远近做非常自然的验证。KaH哈希力量 | 消除一切智能鸿沟

假设美国有一群人按照某一个树的分支验证,中国有一群人按照我们的分支做验证,两个人想要达到共识可能比较晚,因为有一个洲际的互联网。很有意思,如果当时间够长,他们两个分支相互当中有某一个节点,可以帮助已经分开了的DAG做互相验证又合并过来了,非常自由有机组成sharding的模式,这个还有分片的思路,也是它的好处。KaH哈希力量 | 消除一切智能鸿沟

坏处,这也是为什么当下的DAG,目前其他还有几个项目都用DAG,但是大家对他的安全性有担忧。DAG里面,因为把验证权利交给钱包自己做,当这个世界上没有发生新的交易的时候,倒数第一个交易应该是持续等待被其他节点验证的状态,这需要有一个 共识算法的选择问题 ,但是又不可能指定某些人一定是可信的,这是目前DAG分析到的问题。KaH哈希力量 | 消除一切智能鸿沟

通过工作量证明的算法去竞争选择公证节点。挖矿有一个好处,在竞争选择上对未来发生的事情是相对比较公平的,我们再稍微解释一下,POS是什么?就是说我要依据现在钱包里有多少钱来做竞标。工作量证明不是,工作量证明是要依据某一个时间段里面你做到了什么样,所以他有一个时间要素的问题。如果你用工作量证明虽然导致可能挖矿中心化,但是始终有可能或者有机会会影响到接下来的共识结果。KaH哈希力量 | 消除一切智能鸿沟

拜占廷则更多像选举性的,就是说谁掌握这个网络节点最多,就会影响大,但是这件事情中本聪本身有一些文章分析,听起来像是一个大多数选择更公平,但是实际上在区块链网络发展过程中,因为每一个节点的成本可能不会太高,这样的话会有一些现实世界当中的有实力的人会很容易控制更多的节点,反过来讲,如果用工作量来证明,他比较难控制更多的工作量,这是他的一个差异。因为工作量是成本绑定的,节点数实际上并不一定是成本绑定,因为你掌握一个投票权的话,实际上每一个节点你是可以用低的成本收买过来,但是很难用低成本收买工作量,这是我们用工作量证明可信节点的确认,或者我们叫做 公证节点。KaH哈希力量 | 消除一切智能鸿沟

即便被确定为公证节点,也不见得一定是可信的,我们还要通过给公证节点的奖励激励机制,才能够鼓励他做可信的事情,但是实际上不一定可信。同时,因为我们做的工作量证明的过程当中,他只是用来确定这个网络哪些节点可以发出公证交易,并不是确定他具备记账权,所以我们可以把这个共识分为两层,可以单独用一个前置的时间段去选公证节点,上一个轮次的公证节点可以完成这个主链的确定,形成了双层共识机式,一层是确定谁是公证节点,另外公证节点选择完了之后公证节点要和所有的钱包一起协同,用一个共识机制去完成整个网络的共识。KaH哈希力量 | 消除一切智能鸿沟

我们选择了公证节点以后,公证节点有权利发出公证交易。他发的这个交易能够验证那些还没有被确认的交易,这样会更加有效率。我们发的这个公证交易最好是工作量奖励交易,他说我现在为了获得奖励就要按照某一个权利约定的时间节点就要发一个公证交易,刚好这个公证交易可以验证上一笔交易,它的公证轮次以及公证交易的时间间隔,就可以确定最坏的情况下某一笔交易最晚被确认的时间,推动这个网络继续往前生长。按照一个约定时间的间隔,周期性的发这个交易,推动DAG的生长。KaH哈希力量 | 消除一切智能鸿沟

这是刚刚讲为什么我们选择用DAG,另外DAG才是未来很有可能会解决分布式记帐系统里面扩容问题的,我们也讲了扩容问题非常之迫切,基本上是现在行业里面面临最大的问题。KaH哈希力量 | 消除一切智能鸿沟

钱包的建设KaH哈希力量 | 消除一切智能鸿沟

为了降低用户使用成本,还要建钱包的多种类型的安全协议。现在的情况是这样,网络前期供应链里面,因为随着它的发展,早期还对移动钱包和微节点没有考虑太多,我们最近发现的问题是这样,因为现在大量用户还在用移动端来做币的转帐,如果大量用户用移动端的话,移动端非常重要。KaH哈希力量 | 消除一切智能鸿沟

如果将来有IOT, IOT都带有一个钱包的话,那个小的也有一个客户端的软件,这两个资源非常有限的设备里面,最后可以让他支持区块链,这样的话需要为这两类设备专门做一些考量,设计一个协议,这个协议使得手机里面不需要存完整的帐本,手机面临最大的问题,还不是计算问题,最主要是手机很难存一个完整账本,因为现在完整账本都很大。KaH哈希力量 | 消除一切智能鸿沟

要保证有一种协议是没有完整账本,但是同时又能够有安全性的保证,去验证他所发生的交易。比特币这些方面做的蛮好的,比特币提出了一个协议,比特币很遗憾的是块链式的数据结构,即便用手机也无法体验很好,要等很长时间。KaH哈希力量 | 消除一切智能鸿沟

我们希望在TrustNote移动端中交易可以很快的完成,尤其是我们菜市场买菜或者做一些需要交互性的转帐。大家都用Imtoken手机客户端转帐,在Imtoken转帐实际并没有直接到以太坊的里面,而是转到节点上然后再去做,这是大家为什么有时候感觉出来,如果Imtoken发一个公告说我的云服务暂停一下,可能在这段时间没有办法做这个转帐了,所以这个也是不理想的。虽然不会偷走你的钱,但是他会阻挡你交易的进行。KaH哈希力量 | 消除一切智能鸿沟

以太里面需要轻钱包的协议,和比特币的这个类似。比特币的这个已经可以达到我不存全账本,但是还可以验自己的交易,同时不需要特别依赖某一个中心化的服务,以太目前还不是特别好。KaH哈希力量 | 消除一切智能鸿沟

以太是近期刚刚发的一个LES的协议,但是目前用的人不太多。这是当下区块链在手机端面临的形势。EOS,因为它的主链没有完全正式发布。KaH哈希力量 | 消除一切智能鸿沟

我们现在需要提早为这个事情思考,TrustNote早期,就有可以支持全帐本的节点,也有支持移动端的可以相对比较安全的轻节点。如果你想要设计一个架构是能够支持某一个节点不保存全帐本的话,最好可以再进一步?是不是可以再让一些更小的节点参与进来,既不需要存账本,甚至一些计算也不需要做,这样可以集成在单片机里,也可以参与到分布式账本的动作和协议上。实际上在解决这个问题时,资源不够的情况下只能找代理,所谓多节点就是想办法让代理协议可以防范中间人攻击,能够保证他是数据可校验的,是安全的。所以我们专门设计这个微钱包的协议,微钱包协议实际上是把物联网的消息和动作,和区块链里面智能合约和记账的动作通过一个安全协议做加密和保证。可以委托超级节点来做物联世界的校验还有物联网数据的读写。KaH哈希力量 | 消除一切智能鸿沟

如果把微节点和钱包轻节点加上以后,因为我们刚刚讲我们有一个双层共识,有一个叫做超级节点,还有一个全帐本节点叫做全节点,这样的话我们 TrustNote网络将变成四种节点类型的P2P的网络。 各自要完成自己角色的动作,看看有没有什么差异。这是当下最适合的,并不会因为没有完全对等,使得网络的分布式或者去中心化特性下降。为什么呢?因为我只要约定超级节点不是被设定或者不是相对不公平的方式选举出来的,这样超级节点相互之间构成的网络也是一个分布式的网络,有他自己的安全和校验。KaH哈希力量 | 消除一切智能鸿沟

这个和EOS中大家抢超级节点是有差别的。未来TrustNote挖矿版本上线的话,如果你想做超级节点很简单, 你只需要锁定一定的押金就可以参与挖矿,无所谓什么选举和投票。 同时有大量PC端可以做全帐本的存储,称为全节点。全节点不参与公证但是有全账本,使得附近的手机节点可以共享存储的账本,相互之间会用SPV类似的协议做数据的传输和校验。同时这个微节点在需要通信的时候可以和超级节点做交互。不只是存储,有一部分计算是由超级节点来帮他代理完成。这样给人感受就是说,超级节点的角色是除了做工作量证明,还要做一个公证节点,同时还要存全帐本。后续超级节点会增加更多的功能。如果让所有节点可以支持一个及时通讯的消息协议,我们可以让超级节点或者全节点增加消息转发能力,还是一个私有交易的转发。KaH哈希力量 | 消除一切智能鸿沟

还有可能,假如说我们想要的交易,本来我们现在交易已经达到了秒级,如果还要更快共识过程当中的已经初步确认的状态,这个时间想要更短我们可以让超级节点做更多的功能,超级节点可以做没有确认之间的信用背书,只要第一个确认就认为这个钱可以入帐。超级节点帮他做担保,同时超级节点通过担保和后期的校验没有付款的剔除掉或者弥补掉。我们相当于构成了多种角色同时又具备很好的拓展性的分布式的P2P的网络。KaH哈希力量 | 消除一切智能鸿沟

智能合约的设计KaH哈希力量 | 消除一切智能鸿沟

智能合约设计里面的考虑,先回顾一下,现在区块链项目里面智能合约是怎么样设计和思考的。KaH哈希力量 | 消除一切智能鸿沟

前面这个是一个联盟链,虽然是联盟链,但是我放在一起考虑至少在合约部分还是相似的,所以都可以做一个比较。FABRIC,预先约定了节点的权限和角色,可以单独孤立出来某一些节点做合约的背书。他提出了一个架构,是有一个docker容器,可以在这这个Docker某一个运行时的环境还加上某一个语言的SDK,可以限定将来的逻辑机的动作和执行,于是就提出了这样的一个架构。它的特征是什么? 可以用多种语言来实现这个合约。 同时它也不限定你用什么机器,无非限定了你必须用Docker,实际上你用另外一个虚拟环境替代docker也是可以。KaH哈希力量 | 消除一切智能鸿沟

Ethereum的特点是什么,把逻辑机执行动作定位为中间层的语言,根据这个中间层语言又定义了一个solidity语言。如果是全节点都具备这个能力,以太通过虚拟机实现的约定,加上语言的约定确定合约系统的。当在以太这个环境里大家写合约的时候发生了很多安全问题,有一些人做思考,是不是以太的机器定义或者语言定义还不够好,使得大家没有办法在合约签订早期就确定这个合约执行是安全,因为这个solidity是没有变量类型的语言。开发一种语言,可以通过语言限定以及工具帮助合约的开发者,有更加安全的合约实现,签协议的时候可以保证它是安全的,Rchain是这样的。KaH哈希力量 | 消除一切智能鸿沟

比特币严格算起来,也是有一定的合约能力,只不过是一个脚本,而且是功能有限的。有人根据比特币开发了一个语言,它的目的就是说我还可以以比特币的账本结构为基础,修改它的UTXO的模型变量,实现一个系统。好处就是说,我比比特币更灵活可拓展,同时又没有以太坊的安全问题。这是我们现在简单做了一个回顾。我们TrustNote的将来合约系统会有自己的一些考虑。KaH哈希力量 | 消除一切智能鸿沟

首先我们提出了 不要过分强调虚拟机。KaH哈希力量 | 消除一切智能鸿沟

虚拟机是什么,有一个计算上的考虑,虚拟机更像是提供一个计算能力和计算环境。但是合约机不是,合约机的这个规范定义我们只是约定他能够执行的动作和运算的能力,这样的话合约机规范里面将来都只发布合约指令和宏指令。KaH哈希力量 | 消除一切智能鸿沟

另外,合约机里面目前考虑的是,我约定它只能支持声明式的合约指令,如果我只有这个指令我就知道它将来做什么运算,要达到这样的目的。KaH哈希力量 | 消除一切智能鸿沟

所以有一个术语叫做 形式化可验证的合约约定。 这样的话,既然约定了这个合约机,这个合约机目前没有计算资源配给他,如果想实现这个合约机,可以通过各种虚拟机,加上这个虚拟机里面所包含的环境以及语言来支持合约机。这样有一些好处,把虚拟机和合约机做分离,同时又让开发语言和合约机有一个分离,好处就是程序员不需要学习新的编程语言,可以复用之前相对已经用的比较熟练的编程语言,同时也可以选择用性能非常好的虚拟机。TrustNote的合约系统目前正在准备发布。KaH哈希力量 | 消除一切智能鸿沟

简单介绍规划,因为我们集中精力做比特币帐户模型的数据管理或者通证类的数据管理,甚至我们认为其他领域的区块链的应用方向都不是特别现实的,实际上比特币或者以太甚至于分布式帐本真正有效实现的方案,就是通证类的应用。所以我们后续会 建一个通证类的云服务平台,主要是覆盖相关应用场景。 这个通证可以应用在各种领域,可以运用在物联网,可以运用在社交,可以运用在游戏。KaH哈希力量 | 消除一切智能鸿沟

下一步等到我们微节点协议成熟上线以后,可以达到一种效果,各种微小的设备都可以有一个小的钱包在里面。同时,还会考虑去中心化交易的功能,当下我们钱包上线,已经实现去中心化交易的能力,但是想要做成去中心化交易完整的功能,还是比较复杂,最近正在酝酿怎么样做去中心化交易所。我们重点会把这个钱包应用性和可获得的特点做好,后续为了增加更安全的特点,有一些人在转帐支付的时候需要很多软钱包以及硬件钱包,我们还会专门给这个供应链做硬件的钱包。KaH哈希力量 | 消除一切智能鸿沟

我讲的内容就是这些,谢谢大家。KaH哈希力量 | 消除一切智能鸿沟



收录于哈希力量,手机站省略本文固定网址