欢迎访问必发888手机版公司网站!


88必发手机版

MENU

88必发手机版

虫洞协议是在原有比特币现金的公链上增加的,比如我们要在以太坊网络执行1+1这个合约

点击: 152 次  来源:http://www.khaido.com 时间:2019-12-29

原标题:基于比特币现金BCH二层网络能实现区块链2.0以太坊的智能化吗?

.wqpc_wechat_view *{max-width: 100%!important;box-sizing: border-box!important;-webkit-box-sizing: border-box!important; word-wrap: break-word!important;} 微信号 功能介绍 第0章 引言比特现金开发组姜家志小分队推出虫洞协议,BCH社区挺开心,不过引来了BTC社区的冷嘲热讽,他们觉得炒这种过时的概念是没有前途的。本文试图分析Omni协议为什么没有普及,以及判断虫洞能成功吗?第1章 Omni协议什么没有普及?比特币社区在非常早期就提出了发代币的协议,早在2012年6月Omni协议就发布了第一版协议。Omni协议就可以实现基于比特币发代币的功能,而且功能非常完备,甚至包含了一个去中心化的交易所,可以让用户直接交易代币和比特币的交易对。Omni协议开发比较活跃的时间是2014年,迭代开发了十几个版本,协议的软件实现Omni Core也成熟于2014年。基于Omni协议实现的代币USDT,是Omni协议最有影响力,也是唯一一个有生产力级别的代币,是在2015年发布的。除了USDT之外,Omni协议几乎没有形成其他有效的产品。为什么Omni协议没有普及,这个问题无法得出一个共识性的标准答案,下面是我个人的推测。首先我觉得Omni协议提出时间太早了,是在错误的时间提出伟大的协议。协议提出的时间段,整个比特币社区还太弱,人数太少,职业化的人数更少,有力量的公司类的组织更少,全职的开发者也没几个,科普的人也没几个……反正各种少。“少”的结局就是无数涌现出价值,比特币就这么几个鸟人在玩的东西,能有什么商业机会来涌现呢?而Omni在比特币本身还没有足够多的人关注的前提下提出来,能理解的人就更少了,其价值就更不可能被发挥出来。其次是Omni协议没有得到有效的生态运营。Omni协议本身被发明出来后,只有少量的极客的支持,直到2015年有了Tether公司发布了USDT才得到了有组织的力量来支持。到现在为止,几乎没有一个轻钱包能支持Omni协议的代币。没有轻钱包,就无法获得普通用户的支持,没有大量的普通用户,企业就不可能挣到钱,就没有企业愿意去经营一个代币。但你看以太坊,大量的企业发布的轻钱包,可以无缝支持ERC20代币。以太坊构建出了完整的生态。第三是当整个区块链和数字货币社区搞明白了代币和1CO的价值后,比特币却陷入了内战当中。在2016年以太坊依赖于ERC20代币大爆发,大量的企业发布ERC20代币来经营一门生意。整个区块链都明白了代币的价值,但比特币社区却在搞扩容内战。在2015到2017年,在比特币世界里,区块大小和隔离见证,这两个破事就是比特币的全部。在这场内战中,比特币失去了推广Omni协议,占领1CO市场的机会。而随着区块被填满,交易手续费爆涨,BTC就彻底失去了发展代币的机会。以太坊不战而胜。第2章 为什么有了ERC20,BCH还要搞虫洞很多人会发出这样的疑问,比特现金搞虫洞协议和各种其他代币协议,都是以太坊搞好了的,有必要吗?当然有必要,就像腾讯有了社交,一统社交的天下,阿里也要搞;谷歌有了搜索,百度就不搞了?以太坊有ERC20,ERC20有用,BCH也要有,这还需要什么理由吗?合理一点的提问应该是,用户有了ERC20这个选项,为什么要用BCH上的代币方案?那就要讲到BCH上的代币的优势了。第3章 比特现金BCH上发代币的优势在比特现金上生成新代币的成本,以及用户发代币交易的成本,都很低。这是比较重要的优势。比特现金生成代币的成本就是一笔交易的矿工费,BCH的矿工费是很低的。BCH矿工费基本上1聪/字节。发代币交易字节数需要填OP_Return数据,填满也就220字节,加上BCH网络设置的防尘交易下限546聪,有1000聪的矿工费就够了,实在不行给10倍,1万聪,按现在BCH价格算,才0.45块钱。以太坊开发者致力于扩容,但手续费还是一直降不下来。这给项目和用户都带来了巨大的成本。这样的背景,给BCH打开了机会窗口,希望BCH能够拿下。BCH更大的优势在于可扩展性。因为以太坊的用来发代币的合约账户和给用户记账用的外部账户是处于同一层的,所有的节点要同时执行合约账户和外部账户,这种架构限制了以太坊的可扩展性。执行合约是很耗费资源的,特别是CPU和大量I/O的硬盘。BCH发代币的合约层是构建在BCH区块链之上的,BCH节点并不需要执行合约层里的代码,只承担记录代码本身的功能就可以了。这样的构架可具扩展性。试想一下,如果在以太坊网络上发一千万个代币,那以太坊的节点将会面临什么样的压力。而在BCH上发一千万个代币,对BCH节点来说,只不过是增加了一些存储压力,而不需要担心CPU过载。BCH合约层的可扩展性就意味着在BCH上可以发无限量的代币。BCH合约层的可扩展除了在数量上可以具有压倒性优势外,还可以在合约复杂度做的更复杂。以太坊上的智能合约因为要去中心化的部署,并且要在去中心化运行的前提下还要保持确定性,即所有的节点运行的结果一定得是一样的,否则就会达不成共识,这些消弱了合约的可设计的复杂度。否则会因为运行成本的原因,复杂的合约设计出来了,用户却用不起。而BCH的合约是在第一层部署规则,在第二层执行规则,代码的部署依赖于去中心化的BCH网络,但执行可以不考虑去中心化的执行带来的成本压力。所以BCH上的合约是可以设计的更为复杂的。第4章 虫洞协议的挑战在BCH上发代币要想普及,最大的挑战就是要形成足够大的生态。目前BCH的生态相对以太坊来说实在是太弱了。以太坊的生态有几大优势。第一大是有足够多的用户可直接使用的轻钱包,所有这些轻钱包都可以几乎无成本地识别ERC20代币。但BCH目前根本就没有几个好用的轻钱包,按目前的发展来看,BCH钱包想做到像以太坊ERC20代币那样可以零成本增加新币种,还有很长的路要走。以太坊的第二大优势是交易所可以低成本的增加新的ERC20代币的上线交易对。而且去中心化的交易所更是可以零成本的支持ERC20代币上线。在BCH上发代币的协议如果没有开发出类似的优势,可能就无法普及。第5章 结束语比特币前十年在竞争货币之王的地位,接下来十年,要争夺资产上链的机会。

8月1号是比特币的“独立日”,也是比特币现金的一周年纪念日。作为比特币最有价值的分叉币,比特币现金一直试图另辟蹊径,希望摆脱“支付陷阱”,避免与历经9年时间洗礼的老大哥在同一个赛道上竞争。比特币现金最新的技术成果是一项称为“虫洞协议”的智能合约实现方案,其对应的代币WHC在比特币现金一周年纪念日上实现了百倍涨幅的开门红,但随后价位一路下跌到0.1BCH附近。那么什么是“虫洞协议”?它与以太坊的智能合约又有什么区别?它又是如何进行运转的?实际上比特币现金的这个智能合约协议的运行方式特别像我们经常使用的一种锚定法币的数字货币——USDT。因此,虽然官网和白皮书上的介绍都很简略,我们还是可以快速判断这个叫虫洞的智能合约协议应该有以下几个特点。依附于比特币现金的公链Tether没有自己开发公链,而是利用Omni Layer协议在比特币上开发了自己的代币USDT。这样做最大的好处就是安全性得到了强算力公链的背书,坏处就是性能也受到所依附公链的限制。虫洞协议可以理解为比特币现金自行修改后的OminiLayer协议,在不修改共识机制的前提下,在原有交易上附加上额外的交易信息用于验证。虫洞协议可能有坑别急着烧掉你的BCH具体来说,我们在用比特币(或比特币现金)发送交易时,需要填写的信息只有金额、对方地址信息、签名,但是实际上发送到区块上的信息不只有这一些。中本聪在发明出比特币时,实际上在区块上还存在一些其它字段未被用到,“OP_RETURN”就是其中之一。虫洞协议做的就是在这个多余的“OP_必发888手机版 ,RETURN”上增添一些协议相关的交易信息,当这个交易从网络上发送出去后,比特币现金矿工负责检查交易的合法性,与原有交易并无二致,此外还会有协议层节点负责检智能合约内容的合法性,并执行“OP_RETURN”上记录的脚本代码。这样一来,比特币现金也能实现“发币”的功能。有自己的代币体系上文说到,虫洞协议是在原有比特币现金的公链上增加的,与原有BCH流通体系并不相干,因此必须创造另一个承载协议价值的代币。在一条公链上创造另一种基准代币,最经典的例子就是Bitshare。在Bitshare去中心化交易协议中,BitCNY就是通过质押BTS来实现锚定人民币价值的。在虫洞协议这个例子中不同的地方是,需要锚定的价值在系统内的,也就是BCH的价值,因此比特币现金官方选择的做法就是“燃烧”BCH来获得固定数量的WHC币(燃烧1个BCH获得100个WHC)。“燃烧”BCH的方式就是将BCH发送到一个无人知道私钥的地址:1111111111111111115KMYP7R278。需要注意的是,根据虫洞协议白皮书的描述“燃烧”是“不可逆过程”,也就是BCH一旦换成了WHC就不能再换回BCH了。要使用智能合约必须燃烧BCH获得WHC,要发币必须支付WHC,转移代币需要支付BCH手续费。这套系统存在一个潜在的bug,那就是当BCH“燃烧”完了系统也就歇菜了。当然这种情况难以出现,只是一个极端例子。通过这个极端例子我们其实可以判断出1BCH的价值>100WHC的价值。眼红WHC涨幅而去“燃烧”BCH的持币者是可有能成为接盘侠的。当然对BCH持有者来说这将是一件好事情,一方面,BCH的数量少了,可以以“物以稀为贵”为由头再次挑战比特币的地位;另一方面,假设使用虫洞协议的项目方多了,那么WHC的价值也将传递到BCH。只是目前仅有的发币功能尚不能满足第二点的“美好愿景”。最后需要提醒一下风险,虫洞协议内的大部分内容都与已有项目存在大量的重合,创新内容甚少。例如,在虫洞协议的第一阶段Earth,协议的初始代码是Fork的Omni Layer协议的;虫洞协议的第二阶段Tropos,主要实现的是协议内的去中心化交易内容,但是在以太坊上已经有了像0X协议,Kyber Network,路印协议这样丰富的协议品种;虫洞协议的第三阶段lonize,主要实现ERC721,且不说这是以太坊已经较为成熟的代币协议,实现时间还需要半年也要吐槽一下;虫洞协议第四阶段Exophere,目标是实现Plasma协议,这部分需要吐槽的是白皮书中直接写了可能采用V神的Plasma实现方法。。。总之,虫洞协议尚不成熟,建议BCH持有者不要急于燃烧掉自己手中的BCH。截止发稿,已经有2000多个BCH发向了燃烧的地址,也就是说大约20万个WHC正在“来的路上”。

1.以太坊狭义上是指一系列定义去中心化应用平台的协议,它的核心是以太坊虚拟机(“EVM”),可以执行任意复杂算法的编码。在计算机科学术语中,以太坊是“图灵完备的”。开发者能够使用现有的JavaScript和Python等语言为模型的其他友好的编程语言,创建出在以太坊模拟机上运行的应用。

第0章 引言 现在市场上有不计其数的区块链项目,多如牛毛,各个项目都认为自己是最牛逼的,都声称自己能改变世界。区块链1点零,2点零,3点零,现在已经有项目喊自己是区块链5点零了。在这样下去,区块链250点零也很快就要到了。 我们真的需要那么多的区块链吗?这个世界到底需要一个什么样的区块链。 第1章 以太坊的智能合约 以太坊被称为区块2.0,以太坊的成功,带来了区块链恐怖的创新热潮,无数的区块链操作系统项目被发明出来,都称自己是公链。给整个行业带来了公链之争。如果你做一个区块链项目,如果不能实现以太坊的功能,好像就是一种耻辱的落后。比特币就是被太多人称为落后的技术。 比特币作为一个笨协议是一种耻辱的落后吗?完全不是,基于比特币现金的二层网络可以实现所有以太坊的创新,同时可以保持很低的手续费和无限的可扩展性。 以太坊的做法是将合约代码托管到区块链上,并且要求所有的节点执行计算这些代码。托管到区块链上就可以获得合约代码不可修改,所有节点执行也是必然会产生相同的结果,所以使用代码的用户是不需要单独信任一个节点的,他只需要相信这个以太坊网络,就可以获得确定性结果。这就是我们讲的代码无须信任化,就是不需要单独信任某个单一的节点,甚至是可以自己运行一个非挖矿节点来验证。 我们举个例子会更清晰,在以太坊上执行了一整年的eos众筹合约的基本原理是这样的,用户会向eos的合约地址发以太币,用以购买代币,合约每隔23小时会计算一下收到多少以太币,然后使用200万除以收到的以太币总数,就得到一个以太坊可以买到多少个eos,然后合约就可以计算出每个用户购买到多少代币,最后用户可以调用合约来取回他买到的eos代币。 使用以太坊来执行这个合约得到的好处是,合约代码是托管到以太坊区块链上,公开透明,不可篡改,规则是定死了的,对所有人都是公平的。用户只需要相信以太坊这个网络不会出问题,那就可以通过这个合约来购买eos的代币,保证童叟无欺。 而问题是这样的,手续费很高,以太坊可处理的交易数量非常少,平均每秒太约能处理15到30笔。这个问题是非常大的,可以让使用一种攻击手法来获得更便宜的价格。 eos的众筹是同时在一级市场和二级市场展开的。我们称直接通过eos合约来购买代币称为一级市场,通过交易所来买代币,称为二级市场。 eos的合约是每23小时结算一次,在离结算前10分钟,一般一级市场的价格会大大低于二级市场,然后在最后10分钟内,就会有大量的人涌入进一级市场买币,并且在二级市场卖出,通过这样来实现搬砖套利。 而在这10分钟内,如果有人对以太坊全网发起大量的交易,就可以堵塞整个网络,以防止别人往合约地址里转币,从而维持一级市场的低价。这样的事情发生过非常多次。 前一段时间的佛魔3D也被人通过制造了3分钟的拥堵时间,从而拿走了巨额奖金。 你很难想象在一个金融系统上,可以制造一个禁止所有竞争对手,只有你一个人来操作的事情。试想,如果你在一个交易所,可以禁止所有其他用户3分钟参与交易,只有你来交易的后果吗? 以太坊将所有的合约都托管到主链上,并且在主链上执行必然会带来这样的结果。让我们来看看比特币现金是怎么做的。 第2章 比特币现金的解决方案 比特大陆的姜家志他们在比特币现金上搞了一个虫洞项目,海外也有团队搞了Keoken项目,现在又出来一个bitcointoken,使用的原理都差不多。都是基于比特币现金区块链的二层智能合约平台。 基本原理这样的,所有的合约代码以交易的方式托管到比特币现金主链上,存放在op return字段里,但比特币现金主链并不执行合约代码。合约代码托管在比特币现金主链,就获得了代码的不可篡改性。 而代码的执行则交给虫洞的客户端来执行,虫洞客户端会读取比特币现金主链上的代码,然后执行,并反馈给网络结果,并且将执行结果以交易的方式再次写入比特币现金区块。这样执行的结果也获得了不可逆性。 因为以太坊的合约是所有的矿工节点都会执行并且会得出一个相同的结果,而虫洞协议只是BCH矿工节点不执行合约,而是交给其他节点去执行,请问,这两者的安全性是一样的吗? 第3章BCH二层网络的安全性分析 在安全模型性上,虫洞的安全性和以太坊的安全性也是一样的。在以太坊上,安全模型是这样的。比如我们要在以太坊网络执行1+1这个合约,正确的结果就是2。 以太坊的矿工,在挖到一个区块后,就会执行这个合约,他执行的结果必然是2,但他可以作恶,故意骗所有用户是3,用户也是没有办法的。但其他矿工节点,也会去执行这个合约,如果他们执行的结果是2,那就会孤立掉这个作恶的矿工的区块,这个矿工就会损失掉一个区块的奖励和手续费。所以说,这就是所谓的区块链是无须信任的根本原理,是因为我们认为区块链网络上的挖矿节点没有人会冒被孤立区块的风险,去发布一个假的结果。 普通用户不运行完整节点,也没关系,他只需要随机访问网络上的其他完整节点,并索要合约结果,一对比就知道有没有问题了。因为网络是开放的,任何作恶的节点是无法阻止用户去访问其他节点查询对比结果的。 而虫洞的安全模型也是一样的,合约代码和执行结果都被托管到比特现金主链区块上,合约的执行是由虫洞客户端执行,并将执行结果发到BCH主链上。我们先假定虫洞客户端是不作恶的。BCH主链上的矿工有可能作恶吗?这是不可能的,因为BCH主链区块上的矿工不可能冒被孤立区块的风险故意去制造一个和正确结果相冲突(双花掉对的结果交易)的假的执行结果。矿工节点确实可以打包一个假的合约结果,但它无法删除正确的合约结果,那这就不会影响用户的资产。 现在我们假定某一个虫洞客户端会作恶呢?所有的虫洞客户端都可以识别出真的执行结果,并反馈给用户。但如果有一个虫洞客户端要作恶,故意给用户一个假的合约结果,毫无疑问,矿工节点都会打包这个假的合约结果,但这个作恶的客户端无法阻止用户去访问别的客户端的获得正确的结果的,矿工节点也不会拒绝打包这些正确的结果。用户就可以通过更换客户端来获得正确的结果。这和以太坊是一样的,以太坊节点也是可以欺骗连在它上面的轻钱包的,但节点是无法偷钱的,用户只需要将私钥导入到另外一个钱包,就可以获得正确的余额。 有没有可能一个虫洞客户端和矿池合作,来完成诈骗呢?这个类似于矿池节点整合了虫洞客户端。同样不可能,因为其他这个作恶的虫洞客户端发出的错误结果,确实是会,但和上面第一种,矿池节点不敢冒自己区块被孤立的风险去双花掉对的合约结果,只有对的合约结果被其他矿工记录在区块上,用户的资产就可以换一个钱包就可以在链上读取出正确的结果。 最后,有没有可能所有的虫洞节点都来作恶呢?那就是遇到诈骗集团,和设计一个诈骗合约一样的。这和以太坊上的合约也是一样的,以太坊可以设计一个诈骗合约,骗所有人的钱。 第4章 比特币现金的主链+二次网络的架构的优点 比特币现金这种在主链托管代码,但不执行,在二层网络节点上执行的做法,不会对主链造成巨大的压力。这样主链就可以保证非常大的可扩展性。 而且在二次网络本身,各个合约之间是没有关联的,也无须关联,这样二层网络上的合约是可以无限扩展的。 就目前以太坊的架构,我们很难想象,在主链上可以同时运行10万个合约,但使用比特币现金的二层网络架构,那可以运行无数个合约。 第5章 如果我是对的或错的,区块链的未来是什么样子? 如果我们是对的,那以太坊带来的区块链操作系统,让整个世界错误的在这个方向上走了四年多。 以太坊的成功,让区块链世界里几乎所有人都在追求创造各种新奇的区块链操作系统,今年新挤进加密数字货币市值排行版前20的,eos,cardano ada,波场,小蚁Neo,都是区块链操作系统,还有排行更后一点的。 比特币现金提出的二层网络智能合约平台,终于给区块链世界带来的一点新的希望。如果我们是对的,那未来比特币现金将会占据整个加密数字货币市值的大部分份额,大量的区块链业务会迁移到比特处现金网络上来,形成巨大的网络协同效应。 如果如果我是错的呢?我并没有100%的信心说我这套逻辑肯定是对的,因为太多的人不同意我的说法,他们也都是一些牛逼的人,聪明的人,很多人也是本着改变世界的心态来参与,而不是跑来骗钱的。他们这些人甚至有大量的海归,说着流利的英语,博士学位,写的代码都是牛逼的算法,…… 但如果真的是我错了,那区块链的世界应该是这样的:各种链非常多,各条链都会占据部分市场,而在所有这些链的顶端,会存在另外一种特殊的链,跨链的链。闪电网络,中继,侧链,都是拥有跨链的功能,现在最火的跨链的项目包括cosmos,波卡,闪电网络,都是试图在各种链上完成衔接作用,在跨链协议上形成网络效应。 第6章 结束语 我们需要的是一个主链可以无限扩展的笨协议,配上二层网络来实各种的智能终端的区块链。只要比特币现金的主链可以无限扩展,区块可以是32M,64M,128M,……,1G,32G,比特币现金的笨协议加上智能终端必然改变世界。 作者:黄世亮 [...]返回搜狐,查看更多

和其他区块链一样,以太坊也有一个点对点网络协议。以太坊区块链数据库由众多连接到网络的节点来维护和更新。每个网络节点都运行着以太坊模拟机并执行相同的指令。因此,人们有时形象地称以太坊为“世界电脑”。

责任编辑:

2.比特币区块链纯粹是一个关于交易的列表,而以太坊的基础单元是账户。以太坊区块链跟踪每个账户的状态,所有以太坊区块链上的状态转换都是账户之间价值和信息的转移。

账户分为两类:

外部账户(EOA),由私人密码控制 合约账户,由它们的合约编码控制,只能由外部账户“激活” 对于大部分用户来说,两者基本的区别在于外部账户是由人类用户掌控——因为他们能够控制私钥,进而控制外部账户。而合约账户则是由内部编码管控。如果他们是被人类用户“控制”的,那也是因为程序设定它们被具有特定地址的外部账户控制,进而被持有私钥控制外部账户的人控制着。“智能合约”这个流行的术语指的是在合约账户中编码——交易被发送给该账户时所运行的程序。用户可以通过在区块链中部署编码来创建新的合约。

只有当外部账户发出指令时,合约账户才会执行相应的操作。所以合约账户不可能自发地执行诸如任意数码生成或应用程序界面调用等操作—只有受外部账户提示时,它才会做这些事。这是因为以太坊要求节点能够与运算结果保持一致,这就要求保证严格确定执行。

和比特币一样,以太坊用户必须向网络支付少量交易费用。这可以使以太坊区块链免受无关紧要或恶意的运算任务干扰,比如分布式拒绝服务(DDoS)攻击或无限循环 。交易的发送者必须在激活的“程序”每一步付款,包括运算和记忆储存。费用通过以太坊自有的有价代币,以太币的形式支付。

所有账户的状态正是以太坊网络的状态,以太坊网络和每个区块一起更新,网络需要达成关于以太坊的共识。对于用户通过交易和以太坊区块链互动来说,账户是必不可少的。(这也是诟病讨论最多的地方,以太坊网络是所有状态都一起检查和更新状态,而不是涉及的几个。)

3.交易费用由节点收集,节点使网络生效。这些“矿工”就是以太坊网络中收集、传播、确认和执行交易的节点。矿工们将交易分组——包括许多以太坊区块链中账户“状态”的更新——分成的组被称为“区块”,矿工们会互相竞争,以使他们的区块可以添加到下一个区块链上。矿工们每挖到一个成功的区块就会得到以太币奖励。这就为人们带来了经济激励,促使人们为以太坊网络贡献硬件和电力。