当前位置: 首页 > news >正文

【ArchSummit】Web3.0去中心化预言机网络技术剖析

 

📫 作者简介:小明Java问道之路,专注于研究 Java/ Liunx内核/ C++及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。

📫 热衷分享,喜欢原创~ 关注我会给你带来一些不一样的认知和成长

🏆 InfoQ签约作者、CSDN专家博主/后端领域优质创作者/内容合伙人、阿里云专家/签约博主、51CTO专家 🏆

🔥 如果此文还不错的话,还请👍关注 、点赞 、收藏三连支持👍一下博主~

本文目录

前言

本文导读

一、区块链与智能合约

二、The Oracle Problem 预言机问题

三、中心化预言机的单节点故障(数据上链)

四、WEB3.0 链上随机数问题

五、从Web2到Web3

总结


前言

本专栏是以“元宇宙未来应用探索”为主题,元宇宙是不是泡沫?未来20年的技术趋势?现在元宇宙确实没有具体的落地案例,但是属于热点,可以邀请业界名气较大的专家来讲讲元宇宙未来能有哪些可能的应用,能改变什么,不管是在游戏还是在社交领域。

本文导读

预言机是WEB3.0难题之一,之所以成为一个难题是因为WEB3.0本身需要保证强最终一致性而使其成为了一个相对内部封闭的系统。WEB3.0以外的数据想要与WEB3.0交互就需要用到预言机,各类创新型去中心化解决方案需要一个实时准确的预言机。

一、区块链与智能合约

什么是区块链?

A blockchain is highly secure, reliable, and decentralized network that stores data, exchange values, and record transaction activity in a shared ledger that is not controlled by any central authority, but instead maintained by computers all around the world.

区块链是高度安全、可靠和分散的网络,它将数据、交换价值和记录交易活动存储在共享账本中,该账本不受任何中央机构控制,而是由世界各地的计算机维护。

技术驱动合约的演变

Telegraph Agreements (Electronically Signed) 1869

Telex Machines (Telecom Based) 1930s

Digital Agreements (Internet Based) 1980s to Present

Smart Contracts (Blockchain Based) 2009 to Present

电报协议(电子签署)1869

电传机(基于电信)1930年代

20世纪80年代至今的数字协议(基于互联网)

智能合约(基于区块链)2009年至今

Smart Contracts 智能合约

A Smart Contract is a self-executing contract with the terms of the agreement being directly written into computer code. Programmatically implement a series of if-then rules without the need for third-party human interaction.

智能合同是一种自动执行的合同,协议条款直接写入计算机代码。以编程方式实现一系列if-then规则,无需第三方人工交互。

二、The Oracle Problem 预言机问题

The Oracle Problem 预言机问题

Smart Contracts are unable to connect with external systems, data feeds, APIs, existing payment systems or any other off-chain resources on their own.

智能合约无法单独连接外部系统、数据源、API、现有支付系统或任何其他链外资源。

The Smart Contract Connectivity Problem 智能合约的局限性

Blockchain Oracle: Any device that interacts with the off-chain world to provide external data or computation to smart contracts.

区块链:任何与链外世界交互的设备,为智能合约提供外部数据或计算。

三、中心化预言机的单节点故障(数据上链)

中心化预言机的单节点故障

去中心化预言机网络

权力下放:

1、完整副本由独立且抗sybil的节点运营商运行,对计算达成共识。

2、专注于数据验证和对单个链外价值的共识,以使其足够可靠,从而触发合同。

3、节点运营商经过安全审查,可以提供可靠的性能记录,并且具有高质量和高度抗sybil能力。

四、WEB3.0 链上随机数问题

有Malicious RNG Operators are a Risk的风险

解决方案:使用VRF生成无法被预测Unpredictability、公平无偏见Fair/Unbiased、可被验证Provably Random、防篡改Tamper Proof的随机数。

传统的随机性解决方案是不透明的,可能被恶意行为者利用:

  1. Request VRF for randomness

  2. VRF delivers cryptographically secure randomness with an on-chain proof

  3. Users can rely on Web2 applications powered by verifiable randomness

1、随机性请求VRF

2、VRF提供加密安全的随机性和链上验证

3、用户可以依靠可验证的随机性支持的Web2应用程序

链下VRF调用的3个典型场景

1、在线游戏,VRF帮助在游戏等场景中获得可证明的公平结果,如卡牌的随机发放、打斗类游戏中一定几率的命中等都可以非常便捷的集成VRF,以最低的成本保证最大的透明度,使得随机数的产生过程不再是个黑盒子。

2、赠送活动,对于随机赠送等随机场景,VRF是您最好的一站式技术解决方案,使用基于区块链的公开透明、不可篡改的随机数生成器(RNG)算法帮助市场营销过程中的随机选取过程公平、没有偏见并且可验证。

3、随机抽奖,如果怀疑受到操纵、篡改或不诚实的影响,抽奖等营销活动可能会给公司带来品牌风险。VRF通过赋予可验证的随机性,从一开始就消除了这些风险,帮助确保参与者被公平选择,从而保护品牌公信力。

五、从Web2到Web3

中国证监会科技监管局局长姚前认为,Web3.0有望大幅改进现有的互联网生态系统,有效解决Web2.0时代存在的垄断、隐私保护缺失、算法作恶等问题,使互联网更加开放、普惠和安全,向更高阶发展。

Web3.0的建设不仅需要发挥私人部门创新精神,通过大众创新,竞争择优,更需要国家顶层设计以及宽严相济的治理框架给予规范和引导。一是建设高质量的分布式基础设施;二是推动治理良好的技术创新;三是建立通用标准,增进互操作性;四是建立清晰、公平的税收规则;五是建立针对DAO的法律框架。

总结

预言机是WEB3.0难题之一,之所以成为一个难题是因为WEB3.0本身需要保证强最终一致性而使其成为了一个相对内部封闭的系统。WEB3.0以外的数据想要与WEB3.0交互就需要用到预言机,各类创新型去中心化解决方案需要一个实时准确的预言机。

相关文章:

  • TI单芯片毫米波雷达代码走读(二十六)—— 角度维(3D)处理之 DFT
  • Python提取pdf中的表格数据(附实战案例)
  • YOLOv5、v7改进之三十七:结合CVPR2022新作ConvNeXt网络
  • [SpringBoot] AOP-AspectJ 切面技术
  • Prometheus + Grafana 监控SpringBoot项目
  • [C]编译和预处理详解
  • C++入门(正在更新)
  • 风控大佬的一天从这两张报表开始(搬砖)了
  • 【SpringBoot】72、SpringBoot中集成Graylog分布式日志框架
  • STM32CubeMX学习笔记(44)——USB接口使用(HID按键)
  • ElasticSearch 学习(一)-- 概念
  • 用户登录权限校验 JWT【详解】
  • php laravel开发的个人博客源码分享,支持适配移动端附截图
  • 基于模糊认知图谱和遗传算法的龋齿度检测(Matlab代码实现)
  • 【表面缺陷检测】基于yolov5的PCB表面缺陷检测(附代码)
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CAP 一致性协议及应用解析
  • Invalidate和postInvalidate的区别
  • Java-详解HashMap
  • Java应用性能调优
  • linux学习笔记
  • mongodb--安装和初步使用教程
  • mysql innodb 索引使用指南
  • OSS Web直传 (文件图片)
  • overflow: hidden IE7无效
  • vue的全局变量和全局拦截请求器
  • Webpack 4 学习01(基础配置)
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 测试如何在敏捷团队中工作?
  • 简单实现一个textarea自适应高度
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 源码安装memcached和php memcache扩展
  • const的用法,特别是用在函数前面与后面的区别
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​学习一下,什么是预包装食品?​
  • #微信小程序(布局、渲染层基础知识)
  • (07)Hive——窗口函数详解
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (Oracle)SQL优化技巧(一):分页查询
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)uboot源码分析
  • (一)基于IDEA的JAVA基础1
  • (译)计算距离、方位和更多经纬度之间的点
  • ******之网络***——物理***
  • ../depcomp: line 571: exec: g++: not found
  • .bashrc在哪里,alias妙用
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Micro Framework初体验
  • .Net Redis的秒杀Dome和异步执行
  • .net 怎么循环得到数组里的值_关于js数组
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比