
搜索引擎Typesense的使用
注: 使用语言 python一:Typesense介绍Typesense将数据保存在磁盘当中,建立的索引保存内存中 Typesense是一个开源的、有容错能力的搜索引擎,针对实时(通常低于 50 毫秒)搜索即键入体验和开发人员生产力进行了优化。 Typesense做了一个对于其他搜索引擎的对比。(文档版,表格版) 索引数据速度以及资源占用: 对于220万份食谱(一份食谱相当于下文中提到的一个document)在 Typesense 中进行索引时占用了大约 900MB 的 RAM(内存)花了 3.6 分钟索引所有 220 万条记录在具有 4 个 vCPU 的服务器上,Typesense 每秒能够处理104 个并发搜索查询,平均搜索处理时间为11毫秒。RAM(内存)方面:如果数据量为 X MB大小,则需要占用2X-3XRAM(2-3倍数据量大小的占用) 如需深入了解可以查阅官方文档二:Typesense的用法1:使用typesense有两种方法使用自带的云服务,配置运行简单(收费)在本地安装typesense,自己维护配置(本文使用这种方法)2:安装启动typesense(1):下载...

Mastodon 和 Nostr:两种不同的社交产品,一样的去中心化愿景
概述:本文将分析和讲解Mastodon和Nostr这两个社交媒体平台,重点关注它们的产品应用和技术层面,以了解它们如何实现去中心化社交,并探讨它们在这方面的优势。我们将深入了解它们的架构设计和实现思路,并比较它们在用户体验、隐私保护、安全性等方面的差异。通过本文的分析和总结,读者将更好地了解这两个平台,以及它们在去中心化社交方面的贡献和发展。MastodonMastodon(长毛象)成立于2016年,是由Eugen Rochko创建的一个开源的微博客(microblog)平台,旨在为用户提供去中心化、隐私保护的社交体验。首先对涉及到的一些名词进行简单解释:联邦(federation):联邦是去中心化的一种形式。在联邦中,不是所有人共同使用一个中心服务,而是使用多个不限人数的服务器。ActivityPub:Mastodon使用一种标准化的、开放的协议来实现站点之间的互动,这种协议叫做ActivityPub。任何通过ActivityPub实现互联的软件都可以与Mastodon无缝通信,就像Mastodon站点之间的通信一样。实例(instance):每个人都可以在自己服务器上配置运行...

使用 The Graph 获取各大元宇宙项目交易信息
The graph 工作原理 Graph 根据subgraph描述(称为subgraph.graphq)学习什么以及如何索引以太坊数据。子图描述定义了subgraph感兴趣的智能合约,这些合约中要关注的事件,以及如何将事件数据映射到 The Graph 将存储在其数据库中的数据。该流程遵循以下步骤:去中心化应用程序通过智能合约上的交易将数据添加到以太坊。智能合约在处理交易时发出一个或多个事件。Graph Node 不断地扫描以太坊以寻找新的块以及它们可能包含的子图的数据。Graph Node 在这些块中为您的子图查找 Ethereum 事件并运行您提供的映射处理程序。映射是一个 WASM 模块,它创建或更新 Graph Node 存储的数据实体以响应以太坊事件。去中心化应用程序使用节点的GraphQL 端点查询 Graph 节点以获取从区块链索引的数据。Graph 节点反过来将 GraphQL 查询转换为对其底层数据存储的查询,以便利用存储的索引功能获取此数据。去中心化应用程序在丰富的 UI 中为最终用户显示这些数据,他们使用这些数据在以太坊上发布新交易。循环重复 (来自The ...

搜索引擎Typesense的使用
注: 使用语言 python一:Typesense介绍Typesense将数据保存在磁盘当中,建立的索引保存内存中 Typesense是一个开源的、有容错能力的搜索引擎,针对实时(通常低于 50 毫秒)搜索即键入体验和开发人员生产力进行了优化。 Typesense做了一个对于其他搜索引擎的对比。(文档版,表格版) 索引数据速度以及资源占用: 对于220万份食谱(一份食谱相当于下文中提到的一个document)在 Typesense 中进行索引时占用了大约 900MB 的 RAM(内存)花了 3.6 分钟索引所有 220 万条记录在具有 4 个 vCPU 的服务器上,Typesense 每秒能够处理104 个并发搜索查询,平均搜索处理时间为11毫秒。RAM(内存)方面:如果数据量为 X MB大小,则需要占用2X-3XRAM(2-3倍数据量大小的占用) 如需深入了解可以查阅官方文档二:Typesense的用法1:使用typesense有两种方法使用自带的云服务,配置运行简单(收费)在本地安装typesense,自己维护配置(本文使用这种方法)2:安装启动typesense(1):下载...

Mastodon 和 Nostr:两种不同的社交产品,一样的去中心化愿景
概述:本文将分析和讲解Mastodon和Nostr这两个社交媒体平台,重点关注它们的产品应用和技术层面,以了解它们如何实现去中心化社交,并探讨它们在这方面的优势。我们将深入了解它们的架构设计和实现思路,并比较它们在用户体验、隐私保护、安全性等方面的差异。通过本文的分析和总结,读者将更好地了解这两个平台,以及它们在去中心化社交方面的贡献和发展。MastodonMastodon(长毛象)成立于2016年,是由Eugen Rochko创建的一个开源的微博客(microblog)平台,旨在为用户提供去中心化、隐私保护的社交体验。首先对涉及到的一些名词进行简单解释:联邦(federation):联邦是去中心化的一种形式。在联邦中,不是所有人共同使用一个中心服务,而是使用多个不限人数的服务器。ActivityPub:Mastodon使用一种标准化的、开放的协议来实现站点之间的互动,这种协议叫做ActivityPub。任何通过ActivityPub实现互联的软件都可以与Mastodon无缝通信,就像Mastodon站点之间的通信一样。实例(instance):每个人都可以在自己服务器上配置运行...

使用 The Graph 获取各大元宇宙项目交易信息
The graph 工作原理 Graph 根据subgraph描述(称为subgraph.graphq)学习什么以及如何索引以太坊数据。子图描述定义了subgraph感兴趣的智能合约,这些合约中要关注的事件,以及如何将事件数据映射到 The Graph 将存储在其数据库中的数据。该流程遵循以下步骤:去中心化应用程序通过智能合约上的交易将数据添加到以太坊。智能合约在处理交易时发出一个或多个事件。Graph Node 不断地扫描以太坊以寻找新的块以及它们可能包含的子图的数据。Graph Node 在这些块中为您的子图查找 Ethereum 事件并运行您提供的映射处理程序。映射是一个 WASM 模块,它创建或更新 Graph Node 存储的数据实体以响应以太坊事件。去中心化应用程序使用节点的GraphQL 端点查询 Graph 节点以获取从区块链索引的数据。Graph 节点反过来将 GraphQL 查询转换为对其底层数据存储的查询,以便利用存储的索引功能获取此数据。去中心化应用程序在丰富的 UI 中为最终用户显示这些数据,他们使用这些数据在以太坊上发布新交易。循环重复 (来自The ...
Share Dialog
Share Dialog

Subscribe to Yooma

Subscribe to Yooma
目前加密货币钱包(例如 MetaMask)的密钥管理标准是通过种子短语完成的。创建账户后,用户需要备份其助记词(12/24个单词),这是保护用户资产的重要步骤。尽管这看起来很简单,但对于 Web2 的新用户来说,仍需要付出一些学习和时间成本,这可能是他们使用 Web3 的一个障碍。然而,无助记词钱包可以帮助 Web2 用户无缝切换到 Web3,这意味着他们可以使用类似于电子邮件的 Web2 登录方式来登录到 Web3。
对于 MetaMask、Imtoken 等(EOA)钱包来说,确实存在一些繁琐的流程。例如,用户需要学习如何安全地保存助记词、如何将账户导入到新设备等。然而,可以使用托管服务来代替这些流程,从而使用户更轻松地接入 Web3。
下文涉及到的名词:
DKIM(DomainKeys Identified Mail)
Threshold Signature Scheme(TSS)
Multi-Party Computation(MPC)
Shamir's secret sharing (SSS)(Shamir 秘密共享)
Threshold Signature Scheme(TSS)
使用Web3Auth 可以让用户通过 Google、Twitter、GitHub 等在各种应用中进行注册登录。用户也可以通过发送电子邮件的方式,进行无密码设置的注册。
Web3Auth使用SSS,通过将密钥(这个密钥不是特定于任何一个账户地址的私钥。Web3Auth使用这个密钥来生成和管理不同的账户。下同)分成几个部分(share threshold)(下文中shareA/B/C),登录时需要ABC中的两个share,这样即使服务方保存了其中一个Share也无权访问账户,进一步降低中心化的风险以及当用户丢失其中一个share可以通过另外两个重构密钥,增加了安全性。
实现原理:

用户第一次使用他们的社交账户(Gmail/Twitter)登录时,会为用户生成三个Shares:ShareA、ShareB 和 ShareC,然后分开存储
ShareA 存储在用户的设备上:实现是特定于设备和系统的。例如,在移动设备上,共享可以存储在通过生物识别技术保护的设备存储中。
ShareB 由节点运营商的登录服务管理:该共享在节点网络中进一步拆分,并通过传统的身份验证流程检索。
ShareC 是一个恢复共享:由用户保留的额外共享,可能保留在单独的设备上,下载或基于具有足够熵的用户输入(例如密码、安全问题、硬件设备等)
在丢失device/share的情况下,由于share threshold中内置了冗余,用户可以重构他们的密钥(用户需要证明拥有至少 3 (2/3) 个中的 2 个shares,才能重构密钥)。用户也可以在此基础上增加密钥的share。
在易用性方面,无论是否第一次登录或是更换设备登录都是非常方便,直接使用社交或邮箱登录即可。
不过账户地址的安全性比较低,用户在集成了Web3Auth的应用上登录后,前端可以账户地址的私钥,有了私钥就可以对该账户地址进行任何操作(例如转账、交易等)。
此外,值得注意的是,Web3Auth 并不是钱包,它只是用于身份验证的基础架构。
UniPass 也是一个建立在 MPC 密钥管理之上的智能合约钱包,使用守护邮件 (gardian email)的域名密钥(DKIM)来验证重置请求,而不是使用社交密钥,相比于传统的中心化钱包,UniPass具有更高的安全性和私密性。
DKIM 的身份验证可以通过发送电子邮件简单地完成,整个流程不涉及任何需要授权用户请求的服务器,从而有效地消除了中心化风险。
DKIM: 是一种用于确保电子邮件完整性和可靠性的电子邮件身份验证方法。它通过对发件人在发送邮件时对消息内容进行签名,并在接收邮件时验证签名以确定消息内容是否被改变或者篡改。这使得接收者可以验证邮件的真实来源和内容的完整性。DKIM 通过把发送者的签名附加到消息的头部,并通过一种公钥加密技术在接收邮件时验证签名。
UniPass 之所以被称为“被动托管”,是因为它并不需要用户将私钥交给任何第三方服务进行存储,而是通过智能合约实现一种安全的自我管理方式。这种方式下,用户的私钥是保存在区块链上的,由用户自己掌控,不会被第三方访问或篡改。
使用邮箱协议用到的密码学与链上智能合约交互。
账户智能合约部署流程:创建账户-→账户发生交易-→部署账户智能合约。 UniPass钱包的账户智能合约需要先部署才能使用,因此需要一定的费用支持,这与MetaMask(EOA)钱包不同。(如果账户没有足够的余额来支付智能合约部署所需的 gas 费用,则账户智能合约将无法部署。因此,如果一个账户在收到转账之前没有足够的 ETH 来支付智能合约部署的 gas 费用,那么它将无法部署智能合约并处理转账。在这种情况下,转账交易将会失败,转账的资金将会返还到发送者的账户中。)
兼容ERC-4337协议 (让应用帮助用户支付创建账户的 gas 费,也可以帮助用户代付交易手续费。甚至使用任意的 ERC20 代币支付交易手续费。)

其他智能合约钱包解决方案往往还需要依赖外部( EOA) 钱包做私钥管理。UniPass Wallet 通过多方安全计算(MPC)的签名技术(TSS),避免了依赖于外部 EOA 钱包的安全性和可用性,同时也实现业务流程中私钥全程可用不可见的高安全性。
如果用户要更换设备需要邮件OTP+密码,不像Web3Auth直接使用社交账号登录即可。UniPass具有高可用性,即使他们官方停止服务,用户也是可以访问他们的钱包。
目前加密货币钱包(例如 MetaMask)的密钥管理标准是通过种子短语完成的。创建账户后,用户需要备份其助记词(12/24个单词),这是保护用户资产的重要步骤。尽管这看起来很简单,但对于 Web2 的新用户来说,仍需要付出一些学习和时间成本,这可能是他们使用 Web3 的一个障碍。然而,无助记词钱包可以帮助 Web2 用户无缝切换到 Web3,这意味着他们可以使用类似于电子邮件的 Web2 登录方式来登录到 Web3。
对于 MetaMask、Imtoken 等(EOA)钱包来说,确实存在一些繁琐的流程。例如,用户需要学习如何安全地保存助记词、如何将账户导入到新设备等。然而,可以使用托管服务来代替这些流程,从而使用户更轻松地接入 Web3。
下文涉及到的名词:
DKIM(DomainKeys Identified Mail)
Threshold Signature Scheme(TSS)
Multi-Party Computation(MPC)
Shamir's secret sharing (SSS)(Shamir 秘密共享)
Threshold Signature Scheme(TSS)
使用Web3Auth 可以让用户通过 Google、Twitter、GitHub 等在各种应用中进行注册登录。用户也可以通过发送电子邮件的方式,进行无密码设置的注册。
Web3Auth使用SSS,通过将密钥(这个密钥不是特定于任何一个账户地址的私钥。Web3Auth使用这个密钥来生成和管理不同的账户。下同)分成几个部分(share threshold)(下文中shareA/B/C),登录时需要ABC中的两个share,这样即使服务方保存了其中一个Share也无权访问账户,进一步降低中心化的风险以及当用户丢失其中一个share可以通过另外两个重构密钥,增加了安全性。
实现原理:

用户第一次使用他们的社交账户(Gmail/Twitter)登录时,会为用户生成三个Shares:ShareA、ShareB 和 ShareC,然后分开存储
ShareA 存储在用户的设备上:实现是特定于设备和系统的。例如,在移动设备上,共享可以存储在通过生物识别技术保护的设备存储中。
ShareB 由节点运营商的登录服务管理:该共享在节点网络中进一步拆分,并通过传统的身份验证流程检索。
ShareC 是一个恢复共享:由用户保留的额外共享,可能保留在单独的设备上,下载或基于具有足够熵的用户输入(例如密码、安全问题、硬件设备等)
在丢失device/share的情况下,由于share threshold中内置了冗余,用户可以重构他们的密钥(用户需要证明拥有至少 3 (2/3) 个中的 2 个shares,才能重构密钥)。用户也可以在此基础上增加密钥的share。
在易用性方面,无论是否第一次登录或是更换设备登录都是非常方便,直接使用社交或邮箱登录即可。
不过账户地址的安全性比较低,用户在集成了Web3Auth的应用上登录后,前端可以账户地址的私钥,有了私钥就可以对该账户地址进行任何操作(例如转账、交易等)。
此外,值得注意的是,Web3Auth 并不是钱包,它只是用于身份验证的基础架构。
UniPass 也是一个建立在 MPC 密钥管理之上的智能合约钱包,使用守护邮件 (gardian email)的域名密钥(DKIM)来验证重置请求,而不是使用社交密钥,相比于传统的中心化钱包,UniPass具有更高的安全性和私密性。
DKIM 的身份验证可以通过发送电子邮件简单地完成,整个流程不涉及任何需要授权用户请求的服务器,从而有效地消除了中心化风险。
DKIM: 是一种用于确保电子邮件完整性和可靠性的电子邮件身份验证方法。它通过对发件人在发送邮件时对消息内容进行签名,并在接收邮件时验证签名以确定消息内容是否被改变或者篡改。这使得接收者可以验证邮件的真实来源和内容的完整性。DKIM 通过把发送者的签名附加到消息的头部,并通过一种公钥加密技术在接收邮件时验证签名。
UniPass 之所以被称为“被动托管”,是因为它并不需要用户将私钥交给任何第三方服务进行存储,而是通过智能合约实现一种安全的自我管理方式。这种方式下,用户的私钥是保存在区块链上的,由用户自己掌控,不会被第三方访问或篡改。
使用邮箱协议用到的密码学与链上智能合约交互。
账户智能合约部署流程:创建账户-→账户发生交易-→部署账户智能合约。 UniPass钱包的账户智能合约需要先部署才能使用,因此需要一定的费用支持,这与MetaMask(EOA)钱包不同。(如果账户没有足够的余额来支付智能合约部署所需的 gas 费用,则账户智能合约将无法部署。因此,如果一个账户在收到转账之前没有足够的 ETH 来支付智能合约部署的 gas 费用,那么它将无法部署智能合约并处理转账。在这种情况下,转账交易将会失败,转账的资金将会返还到发送者的账户中。)
兼容ERC-4337协议 (让应用帮助用户支付创建账户的 gas 费,也可以帮助用户代付交易手续费。甚至使用任意的 ERC20 代币支付交易手续费。)

其他智能合约钱包解决方案往往还需要依赖外部( EOA) 钱包做私钥管理。UniPass Wallet 通过多方安全计算(MPC)的签名技术(TSS),避免了依赖于外部 EOA 钱包的安全性和可用性,同时也实现业务流程中私钥全程可用不可见的高安全性。
如果用户要更换设备需要邮件OTP+密码,不像Web3Auth直接使用社交账号登录即可。UniPass具有高可用性,即使他们官方停止服务,用户也是可以访问他们的钱包。
<100 subscribers
<100 subscribers
No activity yet