Web3Auth 如何工作?
Web3Auth 用作钱包基础设施,为去中心化应用程序 (dApp) 和区块链钱包提供增强的灵活性和安全性。在本文档中,我们将探索 Web3Auth 的功能,展示它如何为每个用户和应用程序生成唯一的加密密钥提供程序。
高级架构
Web3Auth SDK 完全存在于用户/应用程序的前端客户端上,并处理 OAuth 提供商和 Auth 网络之间的交互。
下图描述了 Web3Auth SDK 与集成应用程序之间的关系。它还描述了 Web3Auth 提供的产品之间的差异,以便开发人员友好地集成此基础架构。
即插即用SDK
Web3Auth 即插即用集成过程旨在方便开发人员使用,只需要初始化 Web3Auth SDK 并设置必要的配置。集成到您的应用程序中后,SDK 有助于嵌入登录功能。这允许开发人员利用 SDK 通过调用连接功能来验证用户身份,该功能可通过登录按钮或任何用户触发的事件激活。
一旦用户启动该过程:
- 用户被重定向到我们的门户(
auth.web3auth.io
) - 然后,我们的门户网站
auth.web3auth.io
处理登录的初始过程 - 用户被重定向到登录/OAuth 提供程序并执行与其身份验证提供程序相关的身份验证过程
- 用户被重定向回我们的门户,然后门户将处理用户密钥的重建
- 最后,一旦用户成功通过身份验证,他们将被重定向回应用程序,并带有特定于应用程序/钱包的派生密钥
下面是显示此过程的图表:
核心套件SDK
Core Kit SDK 是 Web3Auth 即插即用 (PnP) SDK 的骨干。它们构成了 Web3Auth 基础架构的精髓,并允许在去中心化应用程序 (dApp) 中直接使用,以促进更深层次的集成。它们进一步分为两种类型的 SDK:
- 单因素身份验证 SDK
- 多因素 SDK,例如 tKey SDK
单因素身份验证SDK
这些 SDK 允许将单一身份验证因素(例如社交登录)集成到您的 dApp 中。它们设计简单易用,只需付出很少的努力即可集成到您的 dApp 中,让您可以直接使用 Web3Auth 网络进行钱包管理。这是 Web3Auth 最常见的用例之一,但它本质上是半托管的,因为密钥由 Auth 提供商和 Web3Auth 网络托管。
多重身份验证SDK
该基础设施的一个组成部分是 tKey SDK,它是用于实现 Web3Auth PnP 和 Core-Kit 的基础 SDK。
“tKey” 是 Threshold Key 的缩写,负责管理使用阈值加密生成的钱包份额。tKey SDK 通过 Shamir 的秘密共享方案生成份额来管理钱包。
在典型的 2 出 3 (2/3) 设置中,为用户提供三个共享:ShareA、ShareB 和 ShareC。
- ShareA在 Web3Auth 的 Auth 网络中进行管理和划分,可以通过用户拥有的 OAuth 登录提供商(如他们的 Google 帐户)进行访问。
- ShareB存储在用户的设备上。存储方法因设备和系统而异。例如,在移动设备上,共享可以存储在使用生物识别技术保护的设备存储中。
- ShareC用作恢复共享。这是一个额外的共享,用户可以将其保存在单独的设备上、下载或基于具有足够熵的用户输入。这可能包括密码、安全问题或硬件设备等选项。
与现有的 2FA 系统一样,用户必须证明拥有至少 3 分之 2 (2/3) 的份额才能检索他们的私钥。
MPC SDK
使用 Web3Auth 基础架构,您的密钥会被分成多个部分,并存储在您的设备和我们的 Auth 网络中。这可确保您的密钥始终可用,并且永远不会存储在一个地方。而在传统的 Web3Auth SDK 中,您的密钥是使用阈值签名在前端动态重建的。
使用新的 Web3Auth MPC(多方计算)架构,它永远不会被重建。相反,这些部分密钥存储在不同的位置,并且您的设备用于为您的消息/交易制作部分签名。这些最终返回到前端,在那里使用 TSS(阈值签名方案),这些签名被组合以形成最终签名。您可以使用这个最终签名的消息/交易在区块链上进行交易。
阈值签名方案 (TSS) 是一种用于分布式密钥生成和签名的加密原语。在 Web3Auth 的 Auth 网络中使用 TSS 是一种新范式,可以提供许多好处,尤其是在安全性方面。
正如您在上图中看到的,右侧 TSS 架构的最终输出是可用于在区块链上进行交易的签名。
Web3Auth 钱包管理基础设施
Web3Auth 的钱包管理基础设施通过将用户的钱包分布在各种密钥共享中来增强安全性,从而避免直接暴露种子短语。这些密钥共享形成一个“信任网络”,并实现类似于多因素账户处理的钱包管理。用户使用 OAuth 登录、受信任的设备和其他因素来管理他们的加密密钥对。重要的是,完整的私钥不存储在钱包基础设施系统内的任何地方,包括我们的数据库或任何参与节点。
要创建社交登录份额,用户需要与 Web3Auth Auth 网络交互,其中密钥生成通过 5/9 共识系统进行。此设置可保证钱包保持非托管状态,确保 Web3Auth、社交登录提供商或持有密钥份额的任何其他方都不能声称拥有完全所有权。
Web3Auth - Key Management SDKs with MPC and AA enabled
Documentation | Web3Auth 核心文档DKG(Distributed Key Generation)以及各种原理的清楚解说
https://tor.us/ 节点管理网络 ->BEW Sequence Wallet
https://app.tor.us/
OpenLogin
相关文章:
Web3Auth 如何工作?
Web3Auth 用作钱包基础设施,为去中心化应用程序 (dApp) 和区块链钱包提供增强的灵活性和安全性。在本文档中,我们将探索 Web3Auth 的功能,展示它如何为每个用户和应用程序生成唯一的加密密钥提供程序。 高级架构 Web3Auth SDK 完全存在于用…...
问:SQL中join语法的差异?
在SQL中,JOIN语法用于结合来自两个或多个表的数据。不同类型的JOIN会基于不同的条件来合并表中的数据。以下是几种常见的JOIN及其差异: 假设我们有两个表:employees 和 departments。 employees 表: employee_idnamedepartment_id1Alice10…...
计算机网络各层有哪些协议?计算机网络协议解析:从拟定到实现,全面了解各层协议的作用与区别
在数字化时代,计算机网络无处不在,已经成为不可或缺的一部分。为了让不同设备能够有效地进行通信,网络协议作为一种约定和规则,确保了数据在网络中的可靠传输。今天,我们将深入探讨计算机网络的各层协议,详…...
解决方案:机器学习中,基学习器 跟 弱学习器,有什么区别
文章目录 一、现象二、解决方案 一、现象 在工作中,在机器学习中,有时候会看到基学习器 跟 弱学习器,会容易混淆,所以整理一下 二、解决方案 在机器学习中,“基学习器”(Base Learner)和“弱…...
【Python】ftfy 使用指南:修复 Unicode 编码问题
ftfy(fixes text for you)是一个专为修复各种文本编码错误而设计的 Python 工具。它的主要目标是将损坏的 Unicode 文本恢复为正确的 Unicode 格式。ftfy 并非用于处理非 Unicode 编码,而是旨在修复因为编码不一致、解码错误或混合编码导致的…...
第9课-C++String功能的探索
1:C 语言中的字符串 vs C string 类 1.1 C 语言中的字符串 在 C 语言中,字符串本质上是以 \0 结尾的字符数组。C 标准库为此提供了 str 系列函数,如 strlen()、strcpy() 和 strcat() 等。虽然这些函数可以操作字符串,但它们的操…...
基于Hive和Hadoop的保险分析系统
本项目是一个基于大数据技术的保险分析系统,旨在为用户提供全面的汽车保险信息和深入的保险价格分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 Spark…...
国庆节快乐前端(HTML+CSS+JavaScript+BootStrap.min.css)
一、效果展示 二、制作缘由 最近,到了国庆节,自己呆在学校当守校人,太无聊了,顺便做一个小demo帮祖国目前庆生!!! 三、项目目录结构 四、准备工作 (1)新建好对应的文件目录 为了方便ÿ…...
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化 阿里 MySQL 命名规范MySQL8 DDL的原子化 阿里 MySQL 命名规范 【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价…...
PyTorch源码系列(一)——Optimizer源码详解
目录 1. Optimizer类2. Optimizer概览3. 源码解析3.1 构造方法3.1.1 全局设置情形3.1.2 局部设置情形3.1.3 覆盖测试3.1.4 逐行讲解 3.2 add_param_group3.3 step3.4 zero_grad3.5 self.state3.6 state_dict3.7 load_state_dict 4. SGD Optimizer5. 极简版Optimizer源码6. 自定…...
Java - LeetCode面试经典150题(三)
区间 228. 汇总区间 题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中…...
基于SpringBoot+Vue+MySQL的民宿预订平台
系统展示 用户前台界面 管理员后台界面 商家后台界面 系统背景 随着旅游业的蓬勃发展,民宿作为一种独特的住宿方式,受到了越来越多游客的青睐。然而,传统的民宿预定方式往往存在信息不对称、效率低下等问题,难以满足游客的个性化需…...
Hadoop krb5.conf 配置详解
krb5.conf文件是Kerberos认证系统中的一个关键配置文件,它包含了Kerberos的配置信息,如KDC(Key Distribution Centers)和Kerberos相关域的管理员服务器位置、当前域和Kerberos应用的默认设置、以及主机名与Kerberos域的映射等。以…...
工程师 - DNS请求过程
DNS(Domain Name System,域名系统)是互联网的重要基础设施之一,其主要功能是将人们容易记忆的域名(例如 www.example.com)转换为计算机能识别的IP地址(例如 192.0.2.1),类…...
Solidity智能合约中的事件和日志
1. Solidity 中的事件和日志概述 1.1 什么是事件? 在 Solidity 中,事件(Event)是一种允许智能合约与外部世界进行通信的机制。通过触发事件,可以记录合约执行中的关键操作,并将这些操作发送到链上。事件的…...
第四十一篇-Docker安装Neo4j
创建目录 mkdir /opt/neo4j-data创建 docker run \ -d --name neo4j \ -p 7474:7474 -p 7687:7687 \ -v /opt/neo4j-data/data:/data \ -v /opt/neo4j-data/logs:/logs \ -v /opt/neo4j-data//conf:/var/lib/neo4j/conf \ -v /opt/neo4j-data/plugins:/plugins \ --env NEO4J…...
数电基础(组合逻辑电路+Proteus)
1.组合逻辑电路 1.1组合逻辑电路的分析 1.1.1组合逻辑电路的定义 组合逻辑电路的定义 (1)对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路的原来状态无关,这种电路被定义为组合逻辑电路…...
自给自足:手搓了一个睡眠监测仪,用着怎么样?
很久不分享手搓党作品拉! 今天分享一个“基于毫米波雷达的睡眠监测仪”作品! 用Air700E开发板毫米波雷达,手搓一个开箱即用的睡眠监测仪,不花冤枉钱! 来仔细瞧瞧! 一、项目原理及硬件制作 毫米波是指频率…...
Miniforge详细安装教程(macOs和Windows)
(注:主要是解决商业应用anaconda收费问题,这是轻量级的代替,个人完全可以使用anaconda和miniconda) Miniforge 是一个轻量级的包管理器,类似于 Anaconda 和 Miniconda。它主要用于安装基于 conda 的 Python 环境,专注于…...
HDFS Shell作业1
1.在HDFS上建立/user/stu/自己学号,和/user/stu/input目录。 命令: hdfs dfs -mkdir -p /user/stu/22 hdfs dfs -mkdir /user/stu/input 2.用两种不同的方法上传albums.csv至HDFS的学号目录和input目录中。 命令: hdfs dfs -put par…...
工业交换机一键重启的好处
在当今高度自动化和智能化的工业环境中,工业交换机作为网络系统中至关重要的一环,其稳定性和可靠性直接影响到整个生产过程的顺利进行。为了更好地维护这些设备的健康运行,一键重启功能应运而生,并呈现出诸多显著的好处。 首先&am…...
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
全文目录: 前言一、PL/SQL基础语法1.1 变量声明变量声明示例: 二、记录类型与集合类型的使用2.1 记录类型记录类型的定义与使用 2.2 集合类型 三、PL/SQL表与关联数组3.1 PL/SQL表(嵌套表)嵌套表的定义与使用 3.2 关联数组关联数组…...
springboot系列--web相关知识探索二
一、映射 指的是与请求处理方法关联的URL路径,通过在Spring MVC的控制器类(使用RestController注解修饰的类)上使用注解(如 RequestMapping、GetMapping)来指定请求映射路径,可以将不同的HTTP请求映射到相应…...
Oracle 12c在Windows环境下安装
适合初学者使用的Oracle 12c在Windows环境下安装步骤、参数配置、常见问题及参数调优的详细补充说明。 一、Oracle 12c安装步骤 1. 准备工作 在安装Oracle 12c之前,确保你的系统满足以下要求: 操作系统:Oracle 12c支持的Windows版本包括Wi…...
Stable Diffusion绘画 | 来训练属于自己的模型:打标处理与优化
上一篇完成的打标工作,是为了获取提示词,让AI认识和学习图片的特征。 因此,合适、恰当、无误的提示词,对最终模型效果是相当重要的。 Tag 如何优化 通过软件自动生成的 Tag 只是起到快速建立大体架构的作用,里面会涉…...
【论文笔记】Visual Instruction Tuning
🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Visual Instruction Tunin…...
ubuntu 设置静态IP
一、 ip addresssudo nano /etc/netplan/50-cloud-init.yaml 修改前: 修改后: # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-inits # ne…...
Java 每日一刊(第19期):泛型
文章目录 前言1. 泛型概述1.1 不使用泛型 vs 使用泛型1.2 泛型的作用 2. 泛型的基本语法2.1 定义带类型参数的泛型类2.2 使用泛型类2.3 泛型方法 3. 泛型类型推断与钻石操作符3.1 类型推断3.2 钻石操作符 4. 通配符的使用4.1 无界通配符 <?>4.2 上界通配符 <? exten…...
windows下安装rabbitMQ并开通管理界面和允许远程访问
如题,在windows下安装一个rabbitMQ server;然后用浏览器访问其管理界面;由于rabbitMQ的默认账号guest默认只能本机访问,因此需要设置允许其他机器远程访问。这跟mysql的思路很像,默认只能本地访问,要远程访…...
深度剖析音频剪辑免费工具的特色与优势
是热爱生活的伙伴或者想要记录美好声音的普通用户,都可能会需要对音频进行剪辑处理。而幸运的是,现在有许多优秀的音频剪辑软件提供了免费版本,让我们能够轻松地施展音频剪辑的魔法。接下来,就让我们一同深入了解这些音频剪辑免费…...
宣城高端网站建设/互联网全网推广
大多数情况下,为了保证对外服务的安全性,我们在服务端实现的为服务接口时往往都会有一定的权限校验机制,比如对用户登录状态的校验等;同时为了防止客户端在发起请求时被篡改等安全方面的考虑,还会有一些签名校验的机制…...
自助搭建网站系统/网络营销常用的工具和方法
本文主要是介绍Spring和Mybatis三种整合方式的配置文件,即在DAO层注入问题,仅当做自己的一次笔记 1、采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。 applicationContext_MapperScannerCon…...
优秀高端网站建设报价/怎么知道网站有没有被收录
导语:上次zhuoqun 发表《开发与研发》(上) 后在技术社区引发了关注。今天他在自己的博客发表了本文的下篇。在他看来,“对于那些真正对技术有兴趣的人,要么去做一个同时具备软件设计能力的开发人员,也就是富有创造力的 Hacker &am…...
电子商务企业网站的推广方式/郑州网站开发顾问
socket.io入门整理 发布于 5 年前 作者 dtrex 124983 次浏览 最后一次编辑是 1 年前我自己在用socket.io开发,对官方网站上的文档,进行简单的整理,然后自己写了一个简单的聊天程序。 最最开始 先安装socket.io: 1 npm install socket.io 利…...
北京搜狗建网站的电话/武汉刚刚突然宣布
随着元宇宙的兴起,作为六大核心技术之一的实时云渲染技术引发了剧烈的讨论。很多还在使用传统实时渲染的小伙伴们就有点蠢蠢欲动,试了到底是不是真的好用?每当新事物出现时,总有人会迟疑,但是越是迟疑越可能赶不上前往…...
wordpress 评论倒序/国外引擎搜索
「元宇宙」漫游指南。(文末有彩蛋)1992年,美国著名科幻作家尼尔斯蒂芬森(Neal Stephenson)在他的小说《雪崩(Snow Crash)》中提到了一个平行于现实世界的网络世界,称其为“元界”&am…...