火星链 火星链
Ctrl+D收藏火星链

ARA:再谈预言机:Oracle如何重新定义智能合约?

作者:

时间:1900/1/1 0:00:00

而在本期专栏中,作者将详细解释

预言机是如何实现

「把现实世界中的数据以交易的形式记录在区块链上」

这一功能的?

「N3预言机有哪些问题亟需解决?」?

快来一起来看看吧??

制约区块链发展的一个重要因素是落地,也就是把区块链技术用于现实生活中。为此我们就需要不停地设想各种可能需要用到区块链的场景,比如游戏,比如发票,比如非同质化通证。可是这些场景依然很单薄,完全不能支持大家对区块链技术的期望,更无法发挥区块链技术的实力。就好像现在的5G技术,空有一身本领,到头来大家只是用来做Speedtest。

但是为什么我们无法找到更多适合区块链的场景呢?因为区块链技术太封闭,为了安全,区块链只信任自己链上的数据,不接受链外的数据流,比如UTXO全是链上的交易构造的,比如Neo Legacy里的智能合约执行的时候只能通过少数接口获取链上的数据。所以想跟区块链打交道,那么你的场景里就不能有对外界信息的依赖。但是现实世界中大多场景都需要大量的信息交互,你打开手机,哪有应用不需要联网的。

nd4.eth及其追随者地址近半小时内再次销毁3枚BAYC、2枚MAYC及2枚BAKC:8月10日消息,据链上数据显示,nd4.eth以及其行为追随者地址(blackholefaller.eth)近半小时内再次合计将3枚BAYC、2枚MAYC及2枚BAKC转入黑洞地址销毁。值得注意的是,blackholefaller.eth早已于15天前和nd4.eth一同将其ENS域名转入黑洞地址销毁。[2023/8/10 16:18:44]

比如订票软件,你需要实时的机票余票信息和价格信息。

比如交易软件,你需要物价信息。

比如快递软件,你需要最新的物流信息。

很无奈,这些都没办法用区块链去做。

因此,为了拓宽区块链的应用场景,充分发挥区块链的潜力,可以给区块链投喂链外数据流的交互方式——预言机,应运而生。预言机就是一个可以把现实世界中的数据以交易的形式记录在区块链上的机制。熟悉计算机的小伙伴可以把预言机理解成一个现实世界和区块链之间的巨大cache。由于现实世界的数据在语义上与区块链是存在巨大的gap的,比如现实世界的数据可能会实时变化,可能有多个数据源,可能需要复杂的计算或者转换,这些都无法在区块链共识的过程中解决,否则不同的共识节点在验证交易的时候可能获取到的数据都不同,但是如果共识节点不从现实世界直接取数据,而是从“cache”里取,那么就可以保证各个节点在验证交易时输入数据的一致性。因此需要在将数据写入区块链之前,有一个处理数据的过程,把数据处理成区块链可以接受的形式,比如把实时数据取样出一个当前的固定数据。

“BIT回购计划”提案即将通过,拟50天累计回购1亿美元BIT:12月29日消息,BitDAO关于BIP-18“BIT回购计划”提案的投票将于12月31日结束,当前投票赞成率为100%。该提案提议从2023年1月1日开始,将目标每日购买量设置为每天200万美元USDT,持续50天(总计1亿美元USDT)。购买BIT后,BitDAO财政部仍将持有3亿美元USDT/USDC和27万个ETH(约合3.45亿美元),这应该足以支付5年以上的BIT产品开发。[2022/12/29 22:14:18]

预言机的实现大致有三种,一种是中心化的第三方,第二种是可信的数据提供方,第三种则是去中心化的基于共识机制的预言机。在N3中则是因地制宜地使用了拓展性更好的去中心化预言机机制。

根据文档,N3是指定一些预言机节点来对交易的数据请求结果进行共识,以此来避免可能存在的预言机伪造数据问题。流程是:用户发起交易,在交易里触发智能合约里的预言机请求,这个请求的本质其实是调用N3内置的原生预言机合约里的request方法:

Facebook前游戏负责人:苹果目前正在阻止加密游戏:金色财经报道,Facebook前游戏总监正在推出一款新的Web3游戏,并表示苹果的AppStore政策阻碍了区块链游戏的采用。许多行业领导者将占据1530亿美元的移动游戏市场视为释放web3潜力的关键一步。(TheBlock)[2022/12/22 22:00:12]

<summary>

创建 Oracle Request 请求数据

</summary>

<param name="url">访问资源路径,最大长度为 256 字节.</param>

<param name="filter">过滤器,用于在从数据源返回的结果中过滤出有用信息</param>

<param name="callback">回调函数方法名</param>

美前检察官:监管机构通过SBF被捕向加密行业“传递信息”:金色财经报道,美国司法部证券和商品欺诈部门前检察官Renato Mariotti表示,FTX前首席执行官SBF的被捕为美国政府监管机构提供了一种向加密行业“发送信息”的方式。Mariotti谈到SBF的一系列媒体露面时说“从司法部的角度来看,SBF正在传播错误信息,并导致监管机构对监管市场缺乏信心。”Mariotti表示,SBF很可能会被当作加密行业需要更多监管的原因。加密行业可能会在短期内面临来自美国证券交易委员会(SEC)的“大量执法行动”。(CoinDesk)[2022/12/16 21:47:48]

<param name="userData">用户自定义数据</param>

<param name="gasForResponse">回调函数执行预付款</param> 

英特尔计划今年提高芯片价格,部分芯片价格或上涨20%:金色财经消息,英特尔将在今年晚些时候提高其旗舰CPU和各种其他芯片的价格,包括Wi-Fi和其他连接芯片。英特尔已经通知了客户价格上涨的消息,这可能会导致假期期间更多的PC和笔记本电脑价格上涨。虽然最终定价尚未确定,但一些芯片可能会上涨20%。

英特尔今年早些时候已经警告说,由于通货膨胀持续,以及材料、运输和劳动力成本的上升,该公司正在考虑提高某些芯片的价格。“在第一季度财报电话会议上,英特尔表示,由于通胀压力,它将提高某些业务领域的定价,”英特尔发言人在日经新闻的一份声明中表示,“公司已经开始通知客户这些变化。”

6月底,英特尔宣布开始交付专用于挖矿的定制芯片Intel Blockscale ASIC,Argo、GRIID、HIVE等加密货币矿企为首批客户。目前尚不清楚本次涨价是否会影响矿机芯片。(The Verge)[2022/7/16 2:16:56]

void Request(string url, string filter, string callback, object userData, long gasForResponse);

原生合约会根据参数构建一个请求,然后预言机节点根据请求来获取数据,在预言机节点完成数据采集之后,会生成一个新的交易并在交易里调用用户合约里的回调函数。所以触发一次N3的预言机,将会有两笔交易被写入到区块链里,一笔是触发预言机,另一笔是回调。这样通过URL机制将数据源的选择权交给合约开发者或者数据调用者,进而规避了预言机本身对数据源的信任问题,异步回调机制则解决了智能合约调用预言机延迟过大的话可能会Block掉共识过程的问题。

按照这个逻辑,理论上如果我们要触发预言机,那么在调用预言机之后就应该会终止当前合约的执行,所以在一个合约方法里写在触发预言机语句之后的代码应该是不会执行的。不过这里由于一些环境配置问题,我还没办法做验证。

预言机虽然被定义为用来获取数据的工具,但是其实预言机也可以用来做一些比较迷的操作。因为调用预言机这个过程,实质上跟异步调用别的合约没有什么太大的区别,甚至N3里就是把预言机内置为一个原生合约。这就意味着,我们可以把预言机作为一个智能合约的外挂接口,把一些原本应该写入智能合约的逻辑写入在合约之外。比如计算量非常大的任务,我们就可以把任务通过预言机发到链外,然后在链外执行再返回结果。再比如一些我们想隐藏起来的逻辑,比如随机数生成算法,也可以通过预言机把这部分功能迁移到链外。

N3预言机系统现存问题

虽然N3原生的预言机系统很好很强大,依然有一些问题没有能够完美解决:

N3的预言机作为分布式系统,其处理变化频率过快的数据比较麻烦。比如比特币的价格,基本上是实时变化的,因此不同的预言机节点在获取比特币价格的时候,很可能不同的节点获取到的价格就有零点零几的不同,从而导致预言机共识失败。虽然这也可以通过用户优化数据格式在一定程度上解决。

预言机系统是一个异步回调系统,再加上存在共识过程,因此其获取到的数据相较于触发交易来说存在较大的延迟。比如你当前看着机票的价格很低,然后立即发送一笔交易到链上,你的交易立即得到的了执行,这却并不意味着你能获取到的价格就是交易执行时的价格,毕竟预言机的回调交易并不是和你的触发交易同步发生的。

还有一个比较大的问题是数据源的可信程度,我们允许用户通过预言机将链外的数据引入到链内,这在相当大的程度上将链外的不可信因素引入到了区块链。以前攻击区块链就只能攻击区块链节点本身,这个过程由共识协议来保护。可是当我们引入了预言机后,攻击区块链的方式就变得多样了,因为黑客可以通过攻击合约里指定的预言机数据源来将攻击的影响辐射到区块链里。此外,不可靠的合约开发者也可能通过预言机机制在智能合约里引入不可知的后门,毕竟通过预言机调用的部分功能并没有写入在区块链里,因此不可靠的开发者完全可以在神不知鬼不觉的情况下更改系统逻辑。

最后还有一个问题是数据的冗余。我在前文中提到预言机的功能类似于在区块链和数据源之间加了一层数据缓存以保证数据的可信。可是实际上这个缓存只是我抽象出来便于大家理解的,实际上N3的预言机在处理数据的时候并不会像缓存那样对数据进行保存以便于后续的请求。相反的,N3的预言机请求只跟用户发起的触发交易相关,用户发起了多少笔触发交易,就会有多少对应的预言机请求,即使在同一个区块内有许许多多的交易都在请求同一个数据,这样就难免导致预言机写入大量的冗余到区块链上。

以上。

标签:区块链PARARARAM区块链的未来发展前景视频PARADOX NFT BSCfara币价格Ramestta

抹茶交易所热门资讯
NBS:DFINITY 生态项目大起底

在《ICP League 社区激励计划,探索生态赚取 ICP》计划已经运行了一周,社区探员收集到了 271 条情报,阅读量超过 3400,找到了很多非常有趣的生态项目.

1900/1/1 0:00:00
MIN:Mina Protocol:连接现实世界和加密世界私有网关的三个用例

在Mina链上,我们的目标是设计出赋予人权力的技术。我们将重新平衡权力的天平,让任何拥有智能手机的人都有参与的权力——前提是无需牺牲个人数据,无需信任任何中介机构,也不必受制于中心化玩家.

1900/1/1 0:00:00
ANC:Tranchess:DeFi进入深水区 「结构化基金」应时而出

「结构化基金」在加密货币领域还非常陌生,因为这是在金融深水区才会出现的产物,但是现在DeFi已经进入了深水区。基金从设计方式可以分成两大类:结构化(或分级)基金、非结构化(或平层)基金.

1900/1/1 0:00:00
GAS:NEAR发布开发计划路线图

转眼之间,NEAR主网正式上线已经八个月了,底层基础设施开始逐渐完善,越来越多应用选择在NEAR主网发布.

1900/1/1 0:00:00
LID:SOL生态LP 代币借贷平台Parrot测试教程

Phantom 官方已放开新版本的测试条件,现在已经不需要私信官方推特进行内测资格申领,现改为限量邀请码制度,凭借专属邀请码进入测试页面,邀请码不定时在 Discord 和推特上放出.

1900/1/1 0:00:00
区块链:下一个Axie?“玩赚”类链游大盘点

近期,主打元宇宙、P2E(Play to Earn)等概念的链游可谓风生水起。DappRadar数据显示,截至发稿时,元宇宙卡牌游戏Axie Infinity 24小时用户量达到1.727万,日.

1900/1/1 0:00:00