好比说我有一个开源的软件,它有一些成果,然后有的人就会说我想要特另外成果。那些开源软件就让各人本身去fork,然后按照需求去修改内里的对象,然后加一些成果就行了,这样就会形成一个社区,就有许多差异版本的软件,可能是插件。
我也在遐想一个问题,此刻区块链规模内里是否也存在一些雷同存在庞大成见的对象?
这其实也像游戏,好比说本来各人玩的半条命,有的人就以为老打怪物欠好玩,我们要竞技性的,然后就发生CS了。CS这个游戏本来只是半条命的一个MOD,一个插件,就像智能合约一样的对象,它受主体游戏的限制。但因为喜好者太多,最后就单独做成了一个游戏。
那么这种环境下我们需要一个全序的链,它来记录我们在某一时刻插手了几多人、退出了几多人、押金的环境等等,这种准如下就已经产生链与链之间的互动。因为你的钱其实是在主链里的,你要交押金,押金又跟顺序的逻辑相匹配。顺序的逻辑就适合运行在智能合约里,所以我们抉择把它疏散成别的一个顺序的链。这是一个不错的模式,智能合约它的最大的浸染在于它很有弹性,它可以去做各类工作,可以去建模各类通用的计较,这个成果很强大,但它的缺点也有,好比相对开销较量大,要慢一点。
那为什么不团结一下?让大大都的利用场景下,效率变得很是之高;而对付智能合约这种更巨大级的应用,我们也去实现一个更好的方法。这样你就会获得一个相对殽杂,但更好用的系统。
你要说明一个工作不行能,是做不到的,就是很坚苦的。我知道的今朝系统里最知名的所谓不行能其实叫做FLP不行能,指的是你不能设计这样一个共鸣协议,它既安详又有活性,它在网络完全没有任何此外对付延迟的特别假设的环境下,是安详的又不会卡死,这个是不行能,这是有严格证明的。
然后我们其时就想过一个问题就是说,你这些NFT这些对象,就像当年云养猫一样,可不行以?你为什么不做成智能合约,你直接在智能合约上跑不就完了吗?这就有一个取舍点,哪些成果是应该焊死在这个系统内里,作为原生的成果?
我以为是说大概有人最开始提到过这个,可是不知道为什么就被炒作起来了。其实对比于 CAP Theorem 的话,这个不行能三角,我以为相对要更水一点。为什么?因为谈论一个工作是否大概,只是要去证明他大概就可,好比说这个工作能产生,那我能让它产生就行了。
因为我调查到的现象,固然市面上有许多共鸣算法,可是其实基本机制照旧很单一的,根基上就是这两条路径上的翻新。我们想的是能不能从基础上去做一个完全纷歧样的第三类(我们都不说第三代了,第三代大概有点膨胀)。所以我们但愿通过这种基础上的思考去打破所谓的不行能三角。
简朴的总结一下,可不行以领略为在进攻产生的时这个系统并没有瓦解,而只是共鸣的速度降下来了,所谓的机动性就表此刻这里吧?
此刻我以为科普事情还没有做好做够,行业掺杂了许多伪观念,假如你听些TPS数字可能看到这类营销词汇的时候,就得留个心眼得想一下,得有个独立的思考。
但假如溘然间呈现了大量进攻,那么基于公示的特性,生意业务简直承认能需要期待更长的时间,可是同时保障了足够的安详性。
假如你去用一个牛刀去杀鸡,显然是没有效率的。
因为我们有这种机动性,所以说抱负环境下,有少量进攻的时候可能没有进攻的时候,处理惩罚速度很是快,这是绝大部门的环境,因为处于进攻的经济收益思量。
假如有人恶意地去臆测的话,这其实是在兜销观念,就是说:“你们不要嫌弃我系统慢,因为我做不到,别人也必然做不到。” 但我以为这样的心态是不太好的。究竟你但愿财富前进,并不是靠提不行能来完成,这也是为什么学术界去做偏实用规模的这种系统,能做出不行能证明的相对较少。因为各人都但愿把对象酿成大概,而不是说不行能就竣事了。
所以我不是很喜欢说各人过度的去相信这个对象。假如你现实中认为有一些彼此制约的因素,没有步伐同时去满意,那么有两种大概,一种是你做了错误的假设,那么本来大概的就酿成不行能了,那么办理步伐只要找出这种思维定制的错误假设即可。
其实每个技能方案都有两面,但各人太多执着于个中一面,这不是一件功德。
赤军大叔:
其实可以想象成多个链可能分片,可能是雷同互联网的子网,这种对象本质的idea很简朴,我相信纵然是没有做架构配景的人,也很容易想到。
其实许多漫衍式数据库就是这么做的,好比谷歌就这么做的,但问题在于这也有问题,好比说你分了片今后,你的此外方面就会受到影响。
这个长短常好的问题,就是我其时我之前在此外处所也遇到过雷同的问题,这是一个需要澄清的工作。
所有的子网、链这些对象,我们都但愿它在基本的代码层面,因为假如全部抽象成类智能合约,就会把机能拖得很低,因为这相当于是在模仿一个对象。
然后回到适才您提的问题,就是我们知道这三种不行能的对象,每一个词其实都很恍惚,什么叫做扩容,什么叫做安详?没有详细的界说。
然后 CAP 是指的是一致性、可得到性和网络分块,然后这三者不行得兼。就是说你不能做一个系统,它等于完全一致的,然后又随时可以去会见它的处事,而且这个系统内里内部的网又断了一下,这系统还能继承满意前两个,这是做不到的。
对,可以这么领略。
你也不能无限制的分片,不行能说我有10个节点就分10个片,每小我私家都跑本身的对象,那就没有共鸣了,对吧?
4. 关于 51% 进攻,直观领略就是进攻者资源比例到达51%就可以抉择主链偏向, 那么在 AVA 里可以制止 51% 进攻的技能道理是什么?
5. 我们发明 AVA 里有两个共鸣引擎, 一个是 Avalanche, 一个是 Snowman. 那么, 为什么会设计两个共鸣引擎? 各自的浸染和机制是什么呢? 这两个共鸣是并行运行的嘛,高并发的生意业务,与合约的逻辑执行是在两个网络中运行的嘛?这两个共鸣如何相互浸染实现交互呢?
为什么必然要三个?为什么不是不行能六角?有没有人思考过这个问题?
按此刻手机说法就原生系统提供,哪一些是通过插件提供处事,哪些通过各类智能合约提供,这是个很有意思并且很有深度的问题。这没有尺度谜底,我本身的观点是,首先这两者并不抵牾,就许多人认为他们是对立的,其实更多是一种选择问题。
因为之前许多的区块链它的道理是说受到进攻的时候,它照旧想担保共鸣出块的速度稳定,这很抵牾,也容易呈现系统的瓦解,AVA的机动性就能办理这个问题。
那我们能不能把运行的节点举办一个分别?这里就存在两个层面上的自由度。
就是说第一个是系统本来这个研究内里有人提的所谓CAP Theorem,这个对象就是一个履历之谈,就是说我们觉着仿佛很坚苦对吧?然后我们就说他不行能了,区块链的不行能三角也是雷同的。
所以我以为想法自己的代价其实是低于它实践起来的代价的。各人都有这类的对象,可是我们但愿有用一种更好的方法把它组织起来,所以我着重先容一下我们是什么样的,然后各人本身去评判区别和优缺点。
较量搞笑的是,这两个不行能都没有严格证明。
另一个就是分片,这也酿成了一个营销词汇。分片,就是说本来是各人都在干一件工作,一起来把它干好,此刻酿成了说你不消干这件工作,咱们分担一下,然后这些人干这些工作,别的人干别的的工作。
第一个自由度是说对付同一个节点,它其实可以去同时去模仿多个链。在差异的场景下,有时就需要更高的效率和更多的节制节制,好比说我是一家银行,我但愿有本身的链,这些链上的对象不能跟各人同步。而在银行的同一个节点上,通过模仿多条链,就能很好的虚拟化这样的逻辑。
我们首先提供应各人一个模板,让各人来了个本身去实现一个在子网。就像适才提到的,当你不想再用智能合约虚拟出一个假的链来运行逻辑时,就可以去克隆这个代码发生新的虚拟的链,而这其实是在同样的一批节点上运行的。
Ted:
然后另一个维度的自由是说差异节点之间虚拟的这些链,他们之间不必然完全重合。好比说我有个节点,我只可以运行我喜欢那几条链。而有非凡需求的链,就可以完全不足同步数据出来。所以我们的体系架构就相当于给了各人更多的大概性。
2. 在 why AVA 里提到:利用 AVA 既可以构建 application 也可以定制 blockchain 网络, 这让我想到之前我们常提到的应用链与智能合约之争. 那么 AVA 是怎么定位二者的区别可能说是如何对待链与应用之间的干系?
然后你又会看到后头又有一些项目会说他们打破了不行能三角,我们把不行能酿成了大概,这又是另一中兜销观念,又可以再炒作一遍了。
我揣摩原因是因为这个问题,它其实是在对付系统研究内里的另一个不行能的三角举办的一个仿照,另一个不行能三角叫 CAP不行能。
我们可以通过牺牲系统的活性(机能)来容纳更多的进攻。也就是说假如系统里真的有这么多人进攻,这个系统只有大概卡住了,但不会通过失误的生意业务,安详性照旧没有被粉碎的。系统只是卡住了,你的钱照旧钱,系统存储的状态照旧一致的,但大概在一段时间里没有步伐采取新的生意业务。
这个答复其实挺大的,你说到了一个要点,就是我们总感受这个问题已经酿成了某一个既定事实,而各人仿佛从来不质疑它。
前面提到了TPS、不行能三角、分片这种执念,我以为这三个自己的想法没有什么问题,好比说我想提高TPS,提高吞吐量,提高系统的负载本领,这没什么问题,可是最后就成长成了唯TPS论就差池了。这种执念让各人离开实际,最后就执迷于谁人数字。
但假如你好奇去看那篇论文的话,你会被震惊,你要证明一个不行能长短常坚苦的,你需要严格去界说这个对象到底什么环境下是不行能的,对吧?
此刻的区块链还缺少应用,固然合约在被越来越的利用,,但此刻的区块链系统中绝大部门的操纵都是普通的转账。
我们之前也有过内部接头,好比说包罗我们之前抉择在DAG上集成不消合约就能跑的NFT,因为我们看到它在金融方面,包罗电子商务方面的极大潜力。
假如里仔细去思考DAG,我怎么节制准入机制,谁能进来谁能出去,这时候staking就是个很棒的方法。既然有了押金,就需要有一套经济鼓励机制,那么这套机制必定靠DAG是没法办理的,只有在全序的系统里才气实现,而一个全序的DAG除了增加吞吐量之外,就没有太多意义了,还不如把区块体积变大。
所以说我们得一步一步来,既然主要的都是生意业务,那咱们为什么不消一把专用的刀来执行特定的任务。但同时别的一边好比智能合约,我们也得让它可以或许运行,并且机能得足够靠谱。
然后假如然的一套逻辑已经成长到足够常见,并且各人都很想用的境地了,那么就应该被固化成为系统的内置的属性之一,这样就能实现更多的优化。而本来智能合约的时候,你为了担保它的机动性,就损失了一些机能。
尚有一种就是被路径限制住了。就拿我们本来用的很顺手的中本聪也好,像pbft这类也好,都是相对有汗青积淀的。这些方案也有他们本身的限制,能不能设计一个完全纷歧样的共鸣机制打破这个路径的依赖?
3. 看到 AVA 里有 subnets 的观念, 可否从和 ETH2.0 的分片以及波卡的平行链较量来看 AVA 的 subnet 有什么奇特的处所? AVA 里有跨链的观念么? 可能说和外部的链会有交互么?
有意思的是什么?是这两个系统他们的共鸣本质是一样的,他们只是共鸣的操作方法纷歧样。我们是有一个同一个内核的算法,只是它有两种差异的表示形式。
赤军大叔:
贸易观念跟实际的技能观念是有不同的,首要要大白什么叫做可防止进攻?在我们协议里,不会呈现到某个临界点就瓦解的环境,而是取得一个均衡。
1. 我们知道规模有一个历久不衰的话题, 就是不行能三角, 即可扩展性, 安详性和去中心化很难全面得到, 那么AVA是如何对待这个问题又是如何做取舍的?
Ted:
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。