卖萌的DOS预言机
原创声明:本文由链上TVB原创,未经授权严禁转载
❖智能合约的瓶颈❖
智能合约是一段代码,保存在区块链上,等待着用户的行为来激发它的运行。
智能合约的使用瓶颈:
1.智能合约的运行是被动的,缺乏主动性;
2.智能合约只能调用所在区块链上数据,例如EOS公链上的智能合约不能调用以太坊上的数据;
3.智能合约不能调用传统互联网数据。
4.由于区块链资源昂贵,智能合约进行复杂的数据运算时,成本也比较高。
❖预言机不是用来预测的❖
预言机是一个为区块链智能合约提供外部数据的机制。
预言机的意义在于:
1.智能合约可以主动联系预言机,要求获取数据;
2.预言机可以为智能合约获取其他区块链的数据,例如一个EOS上的智能合约可以通过预言机获取波场上的数据;
3.预言机可以为智能合约获取传统互联网应用的数据;
4.预言机还可以根据智能合约的需求,对数据进行运算,将运算结果返回给智能合约,减少智能合约的运算量,一是提高智能合约的运行速度,二是为智能合约运行节省成本(EOS智能合约可以节省内存消耗,以太坊智能合约可以节省gas……)
❖DOS预言机❖
➤DOS去中心化预言机
DOS预言机是一个分布式运行的机制,由多个节点组成,当智能合约具有数据需求时,向DOS预言机发起请求,而DOS预言机会随机指定节点负责获取数据、根据智能合约的需求进行数据运算、然后把数据返回给智能合约。
当然,智能合约在使用预言机时,根据使用的次数要支付dos通证作为费用。
而任何人都有机会申请成为DOS预言机的节点。
**第一,它是分布式的多节点结构。第二,在这些节点中,随机选择节点来工作。第三,任何人都有机会成为节点。所以,******DOS预言机不是公链,但却是按照公链的精神来运行的。****
➤DOS预言机的运行
这个是DOS预言机的需求传递机制:
第一步:DOS在各大公链上布局了DOS合约,负责接受用户的智能合约提交的数据需求;
第二步,DOS合约把用户的需求提交给DOS预言机,而DOS预言机会随机选择一个节点,负责收集数据。
第三步,节点会根据用户的需求,对数据进行处理,因为用户需要的可能不是原始数据,可能是数据的运算。
第四步,节点把用户需要的数据返回给DOS合约。
第五,DOS合约再把数据返回给用户的智能合约。
举个例子,假如TVB在EOS上开发了一款猜涨跌DAPP,某用户张三猜比特币在24小时后会涨。24小时之后:
1.TVB的这款DAPP会向DOS EOS合约发起请求,请求查找比特币的涨跌;
2.DOS EOS向预言机发出请求,预言机随机选择了王二麻子的节点;
3.王二麻子的节点调用币安、火币和OKex的API接口,获取当前和24小时的比特币价格,判断涨跌;
4.王二麻子的节点把结果返回给DOS EOS合约;
5.DOS EOS合约把涨跌结果返回给TVB开发的这款DAPP,然后DAPP会比较,如果张三猜对了,会给他奖励等等。
➤DOS预言机的治理
事实上,前面图中的DOS ETH合约、DOS EOS合约、DOS TRON合约、DOS Thunder Core合约分别都不是一个合约,而是一个合约系统:
注册合约:
负责用户的智能合约在DOS预言机中的注册,用户的智能合约要注册以后才能使用DOS预言机的数据服务;
代理合约:
负责与用户智能合约间进行数据交互,满足用户智能合约的数据需求。代理合约是通过一个通用的接口来实现的,用户智能合约调用这个接口就可以向DOS预言机提交自己所需求的数据,而DOS预言机会通过接口将根据用户需求,将数据结果返回给用户。【DOS预言机提供的这个接口使用非常简单】
支付合约:
支付合约是在用户账户中扣除使用费用,以及向DOS节点分配通证使用。
监控合约:
监控合约是用来统计DOS节点的服务,并且把各个DOS节点的服务质量和工作记录保存起来。其中,服务质量差的DOS节点会被淘汰掉。
➤DOS预言机的共识机制
可能有的朋友会奇怪,DOS不是公链怎么会有共识机制。事际上,DOS的节点是分布式的,它们会共同完成用户的数据获取,并且获得dos通证奖励。那么有哪些节点工作和获得奖励,这也需要一个共识机制来决定。
节点保证金:成为DOS的节点,需要抵押一定数量的保证金,以防止节点作恶或出行危害DOS预言机正常运行的行为。
小组工作制:DOS预言机会将节点进行分组,并随机选取小组来完成数据收集和运算工作,当然,这个被选中的小组是有条件的,DOS会预设一个门槛,只有小组中的诚实节点数不低于预设的下限(t),这个小组才有机会备选。
并且每隔一段时间,就会随机选择几个小组解散,与新注册的节点放在一起,重新构建小组。这种方式有点像玩扑克时的洗牌哈哈。
组私钥:小组中的节点分别掌握着私钥的碎片,小组中所有节点的私钥碎片共同形成组私钥。所以小组的工作是去中心化的。
组内验证:小组在工作时,每个节点各自去收集和运算数据,然后使用自己的私钥碎片对数据结果进行签名,形成一个签名碎片,然后再将这个签名碎片广播给其他组内节点,收到广播的节点会对签名碎片中的数据进行验证,验证与自己的结果一致后,再使用自己的私钥碎片进行签名……最终,只有达到预设t后,签名碎片才可以形成一个有效的签名,其中的数据成为最终结果,返回给用户。
节点的惩罚:在小组验证中,如果某节点的最终结果与其他节点不同,那么这个节点就会被认定成是不合格节点,那么就会被未来的协议所排除,自然也没有收益可以获得。而不合格节点的保证金也会被没收,50%销毁、25%转入DOS基金会,25%进入交易费用报销池。
除此以外,DOS还针对恶意节点窃取内数据的情况制定了一定的机制,DOS预言机的机制在设计是,考虑得比较周详,对节点的激励和制约是比较完整的。
➤通证体系
DOS预言机中的基础通证是dos,它是DOS预言机在运行时的价值载体。
第一,用户的智能合约在向DOS预言机发出需求时,需要支付dos,这是用户的支付的费用,也是DOS节点的收益部分,是对DOS节点的激励。
第二,DOS预言的节点在注册时,需要抵押dos作为保证金,这是为了制约节点,防止节点作恶。
第三,DOS预言机的交易费用报销池,这是是留给节点返回数据时使用的,因为在某些公链上,比如以太坊,是数据发出的一方来支持手续费的,交易费用报销池中的通证就是用于支付数据返回时的手续费。
第四,DOS预言机的数据服务不限于从公链外部的其他公链和传统互联网获取数据,在未来也可以将公链上的数据提供给其外部的应用,收取公链外部用户的dos,和第一条一样,这是用户的费用、DOS节点的收益和激励。
总结一下,DOS预言机是在一个个公链与公链之间、公链与传统互联网之间的去中心化的桥梁,并且在桥梁上是数据的双向流动,可以是外部数据进入公链,也可以是公链数据流向外部。
TVB的卡通图中,将这个桥梁画成了鸡窝哈哈哈,但是,不要小看这个鸡窝,这是一个很有秩序的鸡窝,这个秩序就是DOS预言机的共识机制。这个共识机制是以节点为组为核心的,在小组外部,小组是随机组成的,工作时也是随机选择小组; 在小组内部,通过私匙碎片形成互相的制衡,只有达到预设数量的节点达成一致,才可以将一致的数据作为结果返回给用户,而对于那些结果不同的节点,会受到惩罚……
在DOS预言机中,全部数据流动的过程,自然是伴随着价值的转移,而价值的转移就是dos的流通,所有DOS预言机的使用,都是dos的应用场景,dos在DOS预言机中,有着充分而必要的应用场景,这正是dos升值的逻辑之一。
❖写在最后❖
预言机的意义在于,它为每一个区块链孤岛提供了一个与外界通迅的通道:一方面,预言机可以为某一个区块链提供其他区块链的数据;另一方面,预言机可以为区块链提供传统互联网产品的数据。
而DOS预言机的意义在于,它是一个分布式的预言机制,没有中心化的控制,用户需求数据可以更安全、更真实的获取,不必担心中心化带来的风险。
目前,dos的币价不太理想。这是因为目前区块链应用还没有发展到更理想的规模,对于预言机产品的需求还不大。
但是,预言机是给我们用的,不是给我们炒的,所以还是应该更多地关注预言机的使用和分布式治理,而不是币价。
帅哥/美女!你好!家中可愛的寵物照想要跟大家分享嗎?或是出去玩拍到一些可愛的動物,別忘了到@dpet分享,可以得到@dpet的獎勵喔!假如我的留言打扰到你,请回复“取消”。
来用力支持了!
你太牛了!这么形象的图文,赏心悦目。
来自于WhereIn Android