对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA

xmorient点击上方 “Unitimes” 可以订阅哦!


unitimes.io

640?wx_fmt=png

全球视角,独到见解

前言

Unitimes AMA(Ask Me Anything)是 Unitimes 重点打造的微信群线上问答系列活动,每周举办一期。我们邀请发展较成熟的区块链项目的创始人、CEO、CTO或核心开发者等嘉宾做客社群,与群成员就该项目的突出技术亮点以及用例等进行高质量互动问答,旨在学习交流区块链最新技术和应用。


期数:第25期

特邀项目:DOS Network

特邀嘉宾:王琦,联合创始人兼运营负责人

主题:预言机——让区块链回归真实世界


对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA_第1张图片


AMA分为固定问答和自由问答两个环节。


固定问答


1

Unitimes:王总您好,欢迎参加 Unitimes AMA。请先简单介绍一下您自己以及 DOS Network 吧!


我叫王琦,是 DOS Network 的联合创始人,主要负责技术、市场和运营相关的工作。本科毕业于北京邮电大学通信工程专业,硕士毕业于卡内基梅隆大学电子与计算机工程专业,之前在硅谷的 Pure Storage 和甲骨文做软件工程师兼技术负责人。我入圈比较早,13年就开始投资比特币,关注区块链行业了,经历了几轮牛熊。以太坊出现以后,就更多地关注区块链技术方面的东西。


作为早期智能合约开发者,在开发过程中,我们发现智能合约 dApp 有跟链外数据交互的需求。同时经过调研发现,做预言机的项目不多。现有的预言机都有着各自的缺陷仍然无法做到让 dApp 商业化的应用真正落地。因此我们决定专注在这个领域,发起了 DOS Network 项目。


DOS Network 是一个由可扩展的二层网络实现的可支持多链的去中心化预言机,旨在为主流区块链提供数据上链服务和计算力。它将区块链智能合约与真实世界的数据和事件连接起来,从而使更多应用场景能够在区块链上实现。


下图能帮助大家更直观地理解 DOS Network 所处的位置。


对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA_第2张图片


2

Unitimes:您能给我们解释一下什么是预言机吗?它有哪些应用场景?


在区块链的世界里,预言机就是给区块链提供外界数据的中介,可以把它看成区块链和外界世界联络的纽带。去年,央行发布的报告《区块链能做什么?不能做什么?》中也提到了预言机,并把它定义为:区块链外信息写入区块链内的机制。V神在王峰十问的访谈里也曾提到——去中心化预言机是促进区块链生态发展的重要基础设施。


那么我们为什么需要预言机呢?


因为区块链是一个封闭的、确定性的自恰的系统,基于共识才能运行。要保证各个不同节点在不同时间执行同一个程序的时候要能达到一个确定的相同的结果,这样不同节点之间才能验证彼此之间行为的正确性。


因此在区块链上只能依赖于链内的有确定性的数据,而对于链外真实世界的数据,并不能确保不同时间不同节点主动拿到的信息是一样的,因此不能应用。这意味着区块链与现实世界是割裂的。


区块链智能合约要想基于外部世界的数据做些事情,就必须化主动为被动,化同步为异步。不能主动去拿链外数据,必须要依靠预言机这个中介把数据输入进来。一个链外的数据或者事件,经由预言机以交易的形式发送到链上以后,就变成了一个确定性的输入。就可以被智能合约引用了。


总结一下,预言机的功能是给链上提供真实世界的数据的中介,其最重要的特性是需要保证预言机这个中介本身没有作恶,没有篡改数据。


预言机的应用场景非常广泛,只要是链上需要外界可靠的数据输入,需要与真实世界数据有交互的应用都需要用到预言机。


比如:

  • 最近比较火的去中心化金融应用。无论是金融衍生品交易平台,还是加密货币抵押实现的稳定币,亦或者是借贷平台,都需要预言机去获取真实世界的价格信息,来计算抵押率,保证金比率,确定参与各方的收益和损失,以及触发平仓交易等。

  • 另外就是在 EOS 等高TPS平台上比较流行的博彩类游戏。博彩类游戏都需要随机数,在链上无法产生安全的随机数,前一段时间在EOS上频发的博彩类游戏频繁被黑的情况,就是因为项目开发者使用了不安全不正确的产生随机数的方式。通过预言机从链下引入一个安全的无偏的随机数,是这类问题的一个正确的解决方式。

  • 此外,预言机还可以帮助诸如航空延误保险,农作物保险等应用实现自动赔付,帮助预测市场等应用对争议结果进行仲裁。潜在的应用场景还有无信任环境下如何验证身份,快递追踪和 IoT 应用等等。


3

Unitimes:预言机是一个不受区块链共识机制支配的链下第三方服务。请问你们如何能保证或者确信第三方服务是可信的?


预言机不受区块链第一层网络的共识机制支配。但是我们由可扩展的二层网络(layer 2) 实现的去中心化预言机,在这个二层 P2P 网络中也是有共识机制来保证预言机本身是可信的。区别在于我们没有必要做链,没有实现区块链这个数据结构而已。


在这里可能需要额外澄清一个概念,预言机只是数据的搬运工,而不是数据的生产者。


在整个数据上链的过程当中其实是有两个部分的信任在的,一个是对数据源的信任,一个是对数据搬运工,也就是预言机的信任。这两部分都是要保证可信的。


数据源需要用户自己来指明。理论上,用户要访问哪些数据源对我们来说都是透明的。因此只要是互联网上能访问到的数据源,我们都可以支持。


你可以这么理解:在中心化服务器上,可以通过网络调用很方便的访问任何互联网API资源,但是去中心化区块链切断了这条通路。而我们就是帮助区块链架起了这条数据访问的通道。至于说你要访问什么 API,我们是不管的。


如果用户不信任单一数据源的话,可以发起多个请求,获取多个数据源的数据,然后对这些数据进行聚合得到最终的结果。举个例子,如果合约不信任币安的数据,那么要么不使用币安的数据,要么告诉预言机除了币安之外还需要 Bitfinex 和 Coinbase 的数据然后在合约内用三个数据源做交叉验证 ——这是应用层的需要做的,但不是预言机在协议层(或者说 Infra层)必须做的。协议需要保证的是预言机对每个请求怎么自证清白没有篡改结果,如果有篡改怎么监测出来并且惩罚恶意提交者。这是应用层和协议层的典型区别。


Untimes 社群成员提问:如何对数据源可信?


就像我刚才提到的,数据源是由用户指定的。用户要信任他所访问的数据源。关于数据源的可信性方面,我还有几句话要说。 


我的一个基本观点是:数据源是没办法完全去中心化的,信任不会凭空产生,一定会有某个载体。


这跟普通的比特币或者以太挖矿还不一样。因为普通的去中心化网络的系统是自恰的,任何一个节点只要按照协议的规定来运行,就能进行挖矿,只不过根据你占有的计算资源或者持有代币的数量多少,会影响你的效率和收益率而已。但是产生数据这个事情却没那么简单。


数据这个东西本身就是有一定门槛来获得的,而并不是普通人就可以凭空产生的。比如,你如果问我今天北京的温度是多少,我最保险的做法还是去查气象局的网站,或者百度的 API,而不可能是我拿一个温度计去室外测量。每个人的温度计的刻度还有可能不准呢。你如果问我一场 NBA 比赛的结果是多少,最保险的做法是去查询官网,或者 espn 的网站,甚至 Google API,而并不一定非得要求我去现场看了才能报告。


所以数据这个东西,多多少少都要依托于权威机构来产生,只不过如果不信任单一机构的话,可以获取多个机构的数据来加以综合比较处理,就像我刚才举的币安的例子。


4

Unitimes:如果我要通过 DOS Network 调用一个外部数据,具体的工作流程大概是什么?


大家可以看一下这个图。DOS Network 是一个 Layer 2 二层网络, 可以支持多条链。


我们的系统架构分为两个部分,链上和链下。链上部分,是一套部署在主流区块链上的管理合约,可以理解为是一个接口,用户通过这个接口来获取服务。链下部分是一个去中心化 P2P 网络,是真正给用户提供服务的节点组成的。


对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA_第3张图片


工作流程大概是这样的:


  • A. 当链上的智能合约需要链外数据的时候,需要调用我们部署在链上的 DOS 合约接口。

  • B. 链上 DO S合约会在链下网络的节点中通过可验证随机方程(VRF)产生的随机性选择工作组,并将请求分配过去。

  • C. 工作组内的节点会去相应的数据源抓取数据,并且就得到的结果在组内通过阈值签名的方式达成共识。

  • D. 这个共识之后的结果会返回给链上 DOS 合约,在合约里进行验证,通过验证后,再通过调用回调函数(Callback Function)的方式返回给数据请求方。


我们采用基于可验证随机方程(VRF)的共识机制,由可验证随机方程产生的随机数在网络中随机选取工作组,组内的节点分别去获取数据,并对数据结果进行签名,得到签名碎片,当有超过一定阈值的节点获取到相同的数据就可以将签名碎片组装成一个有效的签名,从而形成对数据结果的有效共识,并将共识之后的结果和可以被验证的证明返回给链上合约。


通过这套系统,我们可以不用信任任何第三方机构,得到实时的链外数据,并且有比较好的性能和可扩展性。


Untimes 社群成员提问:智能合约怎么触发,怎么和 DOS Network 交互?


像我刚才提到的,我们会部署在链上一个DOS 智能合约,作为交互接口。当用户合约需要数据的时候,只要调用链上的DOS合约就可以了。我们再以太坊上已经发布了Alpha版本的测试网,可以在这里看到,有详细的合约开发指南: 

https://dosnetwork.github.io/docs/#/contents/blockchains/ethereum 


后面Beta版本测试网的发布和主网发布的时候,对于合约端的交互基本是一样的,不同的是链下客户端的功能实现。


5

Unitimes:你们和其他预言机提供商比如数据预言机 Oraclize 或者计算预言机 Truebit 有什么不同?


Oraclize 是中心化的数据预言机。中心化的预言机跟其他中心化的系统一样,会有单点失效的问题,当中心化的预言机出现了宕机等等问题的时候,那么预言机的功能也不可用了。另外一个就是信任的问题。对于预言机来说,像我刚刚提到的,最重要的点就是怎么能保证预言机本身是可信的,没有篡改数据。中心化的预言机,需要面临的问题是,你必须信任这个第三方的中心化机构。而预言机提供的数据,往往是作为触发条件的,比较重要的数据。这个时候这个信任问题就显得尤为严重。


去中心化的预言机有更好的可靠性,但是性能要比中心化的稍低点。另外一个最大的好处就是,我们无需信任一个第三方的机构,整个系统可以在一个 “Code is Law” 的原则下在运行。这与中心化的服务器和去中心化的区块链之间的差别很像。想象一下,我们在区块链上构建dApp,如果关键的触发信息和数据都需要中心化的预言机来搬运,那么颇有些与我们使用区块链的初衷相违背的意味。


而计算预言机 Truebit 是通过一种叫验证游戏(Verification Game)的方式来实现外包的可信计算,这种方法的经济模型非常复杂。而在我们的长期计划中,准备使用零知识证明(zk-Snark)的方式来实现可验证计算。


Untimes 社群成员提问:Code is Law 怎么做到?


因为我们是一个去中心化的实现,没有中心化的服务器。整个网络是一个无需准入的网络,所有节点都是由一个个用户来运行的。而每一笔请求的数据和运行过程都在链上可查。所以项目方并没有可操纵的空间。


6

Unitimes:通过你们平台调用的链外数据都是公开的。这样的情况下如何保护数据的隐私?


在目前这个阶段我们认为还没有必要考虑隐私的问题,主要原因是主流区块链上的数据都是公开的,即使在我们的二层网络里实现了隐私,那么当数据传回主链上以后还是会公开。所以当未来,主流区块链上普及了隐私的功能以后,我们会相应调整适应。

对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA_第4张图片


7

Unitimes:如何才能成为 DOS Network 的节点?成为节点有哪些好处?


成为 DOS Network 的节点比较简单,只需要做两件事:


  • 在系统中抵押一定量的通证

  • 运行我们的客户端软件


其中,对于数据预言机来说,客户端软件的运行的开销并不大,因为并不涉及复杂的计算和大量的存储操作,只需要占用一定的带宽去访问外部数据源。个人电脑可以,但是我们更推荐使用云服务提供商,这样更稳定。


加入网络之后为用户提供服务,可以赚取服务费。另外为了激励网络冷启动,我们还引入了挖矿机制,我们从总通证中预留了 35% 作为网络冷启动挖矿奖励,节点运营者通过抵押通证加入网络之后即可获取挖矿奖励。


多说一句,我们在未来不久,主网上线前就会发起节点计划和锁仓空投计划。敬请期待!


8

Unitimes: 和数据打交道的公司比如谷歌、脸书之前的曝光过出售用户数据的丑闻。你们如何向用户保证获取他们的数据之后不会滥用?


这就是中心化和去中心化的区别了。我们并没有获取用户的数据,所有的数据都是链上可查的,公开的,并没有存在我们的某一个中心化服务器上,不归我们独家占有,不存在滥用数据的问题。


Untimes 社群成员提问:怎么判断一个预言机是中心化的还是去中心化的?


就要看这个预言机服务是否由一个第三方中心化的机构来运营。比如 Oraclize,就是由 Oraclize公司来运营的,数据是由 Oraclize 公司架设的服务器在提供。而去中心化的预言机都是无准入的网络,是由一个个普通用户节点来共同运营的。


9

Unitimes:黑客是不是可以通过攻击预言机来牟取 dApp 端的利益?对此你们有什么预防措施吗?


这个问题非常好, 对于预言机来说,抵御攻击确实是非常重要的问题。


对于此,我们的系统设计有三重保护:


  1. 通过可验证随机方程产生的随机性来选择工作组。这个随机性是由上一轮的随机数,一些外部的熵源比如区块哈希,以及工作组中每一个节点的私钥碎片通过阈值签名产生,不可被提前预测,不可被单一方控制。攻击者想要提前预测攻击目标是很难的;

  2. 在选定工作组之后,要由组内大部分节点获取到相同的数据,才能签出一个有效的签名。攻击者必须要控制组内大部分节点才能做到这一点;

  3. 加入网络需要抵押通证作为代价,这样就加大了攻击者攻击的成本,同时也抵御了女巫攻击。


通过这些设计,使得攻击的成本很高,保证了系统的安全。对于网络安全性的全面论证,大家可以参考我们的白皮书。


10

Unitimes:预言机未来有哪些发展方向?能给我们分享一下您的预测吗?


我认为,预言机未来会朝着自动化、去中心化的方向发展。跟随着 dApp 一起去探索区块链应用的边界.随着预言机服务的落地,我相信会有越来越多的区块链应用场景随之受益,并能激励更多的应用场景的出现。



自由问答


固定问答环节结束后,参与此次AMA的成员可以自由提问。以下为 Unitimes 从群成员的提问中精选的几个问答:


1

如果某个用户要访问的数据是不可信或者说有风险的。你们也还是会帮他获取吗?


用户要访问的数据来源,是由他们自己指定的,对于我们来说是透明的,我们不会对这个有过滤的操作。就好比你要访问互联网上的一个网站,电信和联通不能特定规定你哪些网站不能访问是一样的。


2

菠菜类项目生成链上随机数的方法是不是不太安全?用预言机可以提高安全性吗?


依赖链上数据的随机数生成方法都是不安全的,会被攻击者用各种方法预测到的,比较安全的方法是通过预言机从链下引入。


3

我怎么能确定我发给预言机的数据有没有被你们篡改?


DOS 合约的代码和数据完全链上可查,我们没有可操控的空间。链下节点是由用户组成,而且都需要抵押通证才能加入。这一部分我们也没有操控的空间。对于哪些节点加入了网络,也都是在合约中可查的。另外因为数据源是数据请求方自己制定,数据请求方也可依此做验证。


4

预言机是抓取互联网数据放到链上吗?怎么使用你们的预言机?


对,要是在互联网上可以能够访问到的数据,关于预言机的使用,可以参考我们的技术文档 https://dosnetwork.github.io/docs/#/contents/blockchains/ethereum


5

开发者要给你们网络节点的运行者付费,这个费用大概是多少?只能用你们的代币来支付吗?


这个费用还没有最终确定,会在我们主网上线前确定。前期需要用我们自己的代币来支付,后期考虑到稳定币会使支付费率更稳定,我们也会引入稳定币作为支付手段。后面考虑通过社区投票的方式决定是否增加新的支付方式。


6

你们网络能承载多大的数据量?是不是节点越多,承载量越大?


是这样的,因为我们是网络中小组处理,所以可以实现并行的处理。随着加入节点越来越多,网络处理能力越强。不过因为是 Layer 2的网络,也会同时受到 Layer1 的主链的性能的限制。


7

如果因为主链性能受限制,后期如何提升 DOS 预言机性能?


首先,需要等待主链的性能提升;

第二, 同时我想,未来会有性能好的主链脱颖而出,Dapp生态越来越繁荣,我们也会赶在行业的前沿去支持;

第三,随着其他链外扩容方案的成熟,我们也有可能与其他Layer2 链外扩容方案合作,寻求更好的性能。


8

有激励机制吗?需要挖矿吗?


节点加入网络之后为用户提供服务,可以赚取服务费。另外为了激励网络冷启动,我们还引入了挖矿机制,我们从总通证中预留了35%作为网络冷启动挖矿奖励,节点运营者通过抵押通证加入网络之后即可获取挖矿奖励。


9

请问 DOS 什么时候上其他流通量大的平台,目前完全没有流通量?


流通量和 Trading Volume (交易量)是两回事。流通量由我们代币的锁定机制决定,与平台无关。我们在积极地寻求与更大平台的合作。后面会陆续有进一步的公告。



以上是本次 AMA 的全部内容,非常感谢社群成员对 Unitimes 的大力支持,感谢王琦~


相关阅读:


除了公链性能问题,它也是 dApp 落地和商用的关键


往期AMA精选:


对话以太坊独角兽 Uniswap:挑战领头去中心化交易所


对话 Liquidity.Network:代币交易和交换平台 


对话 Bancor 联合创始人 Eyal:去中心化流动性的未来


对话 Tongtong Gong:没病到一定程度的人不会去创业


神仙对话:美国康奈尔大学Emin Gun Sirer教授为V神答疑?


【本文版权属于Unitimes,转载请保留版权信息。未经授权,不得以任何方式加以使用,包括转载、摘编、复制或建立镜像。Unitimes将追究侵权者的法律责任。合作或授权请联系[email protected]或添加微信unitimes2017】


对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA_第5张图片


你可能感兴趣的:(对话 DOS Network:我们不生产数据,我们只是数据的搬运工 | Unitimes AMA)