由于微信限制了第三方应用的跳转,请使用以下方法。

1. 点击右上角的

2. 选择在浏览器中打开

复杂美区块链技术专利技术之一:交易组解析

原创
1711 天前
1092

随着互联网的发展,全球对于专利的重视与瞩目也随之提升,在区块链这个以技术为核心的行业,技术专利更是受到了前所未有的重视,本文是复杂美区志链CTO王志文关于其公司区块链专利技术之一:交易组的分享心得。

随着互联网的发展,全球对于专利的重视与瞩目也随之提升,在区块链这个以技术为核心的行业,技术专利更是受到了前所未有的重视,据国家知识产权局统计,截至2018年10月17日,我国公开的区块链专利书达到2538件。在区块链专利申请的赛道上,杭州复杂美科技公司无疑成为骄者。杭州复杂美拥有中国第一个区块链专利技术:钱包找回,目前区块链专利技术申请近200项,全球排名第9。本文是复杂美区志链CTO王志文关于其公司区块链专利技术之一:交易组的分享心得。


开发区块链底层架构chain33的时候,最困难的还是对区块链本质的理解和把握。我们往往看到以太坊是怎么做的,fabirc是怎么做的,当我们自己做的时候,我们就需要了解更加本质的东西,才能做出创新和更好的决策。

交易组的概念正是从我们对现有系统的一个批判得到,我们认为,区块链上的交易不应该是相互孤立的,他们应该是可以互相关联,可以在同一个事务环境下执行的。同时引入交易组以后,我们发现,区块链上的交易可以做到比传统的做法更加安全透明,而不影响体验。

做chain33的时候,我们非常重视专利技术的保护,专门有4位同事负责写专利。这个也是对后面使用我们chain33技术的企业的一个保护,同时,也是为了大家一起建设生态的需要,而不是每家在做重复的工作。

   在传统的区块链世界中,交易都是独立的,一笔交易的执行结果不会影响另外一笔交易的执行结果。就这样一个简单的场景,在以太坊上都是无法做到的。比如 alice 有100 ERC20 token YCC 要和 bob 交换 1个 ETH,那么alice 和 bob 分别创建两个交易


这个时候,如果系统可有保证 tx1 和 tx2 要么同时执行成功,要么同时执行失败,那么个alice 和 bob 就可以实现 一种 原子交换,这样的交换方式,要比传统区块链中的交换方式简单很多。交易组技术就是这样一个技术:系统保证,交易组中的所有交易,要么同时执行成功,要么同时执行失败。并且以指定顺序执行。

看上去,交易组技术好像没有什么技术含量,但是他非常的有用,除了我们前面提到的两个陌生人原子交换资产(这个就可以实现去中心的C2C),去除内部交易也是他的一个应用。

用过以太坊的人都知道,以太坊中有很多交易叫做 internal transaction


这个内部交易是怎么回事呢?就是合约内部调用产生的交易(不是用户前面发到区块链中的原始交易)。也就是说在以太坊中,你调用一下一个合约函数,可以背后,有20个交易产生,可能还会调用到其他的合约,或者莫名其妙的把你的资产转走(可能你调了一个正常合约,但是这个正常合约调了一个有后门的合约,这个时候,到底找谁赔偿?)。这样的不透明的调用方式和资产转移方式不仅仅调用者比较迷糊,而且是以太坊合约bug的一个重要来源。所以,在chain33中,这样的调用方式被禁用了,合约调用合约会让一个合约的bug蔓延,非常不利于系统的稳定。也就是说,chain33中你每花一分钱,都是经过你的客户端签名过的,没有隐形的内部交易可以转移资产。但是,虽然这样做,更加安全了,对用户也更加透明,但是事情会变的繁琐。

比如下面的这个例子:

alice 要 转 10个 BTY 去 game 合约中玩游戏。在以太坊中,可能通过调用game 合约中的一个函数,就完成了操作。但是,在chain33中,他的过程就要稍微复杂一点。用户的资产在coins 合约中,而游戏币在在game合约中。

alice 转 BTY 这个是在 coins 合约中,所以,需要一个交易:


然后需要第二个交易, alice 用这个 10 BTY 购买 10个游戏币


如果没有交易组,两笔交易同时发到区块链中,那么有可能执行的顺序会变反,那么就执行出错了。这个时候交易组就大显身手了,在交易组中保证了 tx1,tx2 的原子性,以及顺序。这样,这两笔交易就像一笔交易一样被区块链接受,他的方便程度就和 ETH相同了。

我们损失了一点方便性,换来了安全性和透明性,同时因为有交易组的存在,这个方便性的损失非常小,通过类库的封装,使用者可能都不需要知道交易组的存在。

这也引申出了chain33的一个核心概念,每个合约就是一个服务,他有固定的功能,用户可以调用多个合约的服务,实现一个新的功能组合。这个理念的差异,让chain33 系统更加易用,用最简单的一个例子来说,在以太坊中,你一定要自己写一个和别人重复的代码实现一个 erc20的token,而在chain33 中,你不需要写任何代码,调用一下token 合约,合约会给你创建一个你要的token,这还么有完毕,在传统的合约中,合约是不能升级加上功能的,chain33中合约的功能是组合出来的,所以允许这样做,比如系统中多了一个多重签名合约,只要通过交易组的组合,也就相当于 token 合约中的币,有了多重签名的功能。

chain33 全职开发团队的规模,已经不输国外的大部分区块链项目。国内的程序员千万不要忘自菲薄,现在已经到了中国人掌握核心技术的时代了。现在就加入chain33,开发自主、国产的区块链基础系统。


64x64

SolanaETF获批前景:从“几乎无望”到“2025年底前可期”,当前有哪些挑战?

App打开
64x64

专访Polkadot缔造者GavinWood:因过于超前经历了哪些误解和挫折?

App打开
64x64

交易机器人存在的跑路风险,UTONIC的AVS+MPC方案可以解吗?

App打开
更 火 的 区 块 链 资 讯
分享自火讯财经-长按识别快讯真伪
长按图片转发给朋友