
Telegram Mini Apps电报小程序开发文档
2022年4月Telegram的MiniApp(之前为Web App,6.0版后改名为Mini App)上线,Mini Apps(简称 TMAs,中文名:小程序)很可能会变成一个类似于微信小程序的平台,使得Telegram 更接近一个“超级应用”。目前,电报小程序推出不久,版本还在快速迭代中,开发人员也较少,但电报庞大的用户群基础很可能会产生大量的小程序。 作为Web3的开发者,大多数应用都是前端和区块链直接交互,但电报bot只支持消息通过电报服务和bot所在的服务器进行交互,导致大量DAPP无法给到用户可靠的账户安全保障。电报小程序在电报应用中“嵌入”了Web前端应用,通过它与区块链和智能合约直接交互,将账户信息通过安全策略在本地进行保存,大幅度提高账户安全性。同时,将与区块链无关的业务逻辑通过bot与服务器进行交互,提高用户体验。 所以,Telegram+小程序+bot+智能合约的开发模式,可能会称为一种全新的Web3开发技术栈。事实上,从时间上看,电报小程序与TON链同时推出,也可能有这方面的用意。但是这种开发模式不仅仅适用于电报和TON链,更适用于用户量庞大的各种EVM链...

使用Session Key委托服务器安全的操作抽象账户
最近电报自动交易机器人和各种SocialFi很火,这些产品给用户带来了类似Web2的良好用户体验。但火爆的背后,也发生了多起安全事件。为此,很多新上线的平台开始使用更先进的账户安全技术来保护用户资产,比如@tomo_social使用了ERC-4337账户抽象技术,有些电报机器人采用了MPC钱包技术。 尽管账户抽象钱包(AA钱包)已经具备了零gas费(服务商代付gas费),多签,社交登录等强大功能,并大幅度提升用户体验,但是因为ERC-4337属于在现有以太坊共识基础上的补丁方案,与链交互签名时仍旧需要私钥,各种方案只是在私钥保存和签名环节采取各种安全措施。 所以,虽然很多代用户签名交互的电报机器人,SocialFi平台通过MPC钱包或AA钱包来保障客户的私钥安全,但实际上,因为最终还是要通过钱包主私钥来进行签名,本质上还是私钥的验证模式,所以仍旧有私钥泄露的风险。 今天看到AA钱包创新项目ZeroDev的Session Key(对话密钥)解决方案,可以让AA钱包授权生成一个或若干个Session Key(也是一种私钥),来受控的执行经授权的操作。这种授权模式有别于ERC-20或E...
FERC20:一个更公平的ERC20方案
简介我们非常高兴地宣布,erc20.cash 上线了。这是一个更公平的的ERC20代币方案,我们将它命名为:Fair ERC-20,简称FERC20。 今年3月8日,BRC20代币在比特币链上通过Ordinals部署成功,在短短一两个月内吸引了大量关注和资金的参与。BRC20代币的成功得益于以下几个原因:简洁的Ordinals协议使得BRC20发行方无法在代币上做过多的编程,避免了在以太坊合约中各种安全风险和一些自私的设计。人人平等的铸币权。BRC20的发行方或项目团队,无法像在以太坊智能合约中通常做的那样,给自己或相关利益方预留一部分免费(低价)代币。在铸造BRC20时,所有人都站在同一起跑线上,即使发行方和团队也是如此。比特币的UTXO机制和低性能,让很多具有速度优势的智能合约机器人无法在比特币网络上工作,从而防止了通过技术手段获得比正常参与者更大的优势以及由此造成的不公平。上述原因使得BRC20对社区参与者来说,更公平,从而吸引了更多人参与。 但是,即使如此,有个非常有意思的现象是:大多数以太坊社区的成员尚未参与BRC20。 所以,我们想,是否能将BRC20的公平发售(Fa...

Telegram Mini Apps电报小程序开发文档
2022年4月Telegram的MiniApp(之前为Web App,6.0版后改名为Mini App)上线,Mini Apps(简称 TMAs,中文名:小程序)很可能会变成一个类似于微信小程序的平台,使得Telegram 更接近一个“超级应用”。目前,电报小程序推出不久,版本还在快速迭代中,开发人员也较少,但电报庞大的用户群基础很可能会产生大量的小程序。 作为Web3的开发者,大多数应用都是前端和区块链直接交互,但电报bot只支持消息通过电报服务和bot所在的服务器进行交互,导致大量DAPP无法给到用户可靠的账户安全保障。电报小程序在电报应用中“嵌入”了Web前端应用,通过它与区块链和智能合约直接交互,将账户信息通过安全策略在本地进行保存,大幅度提高账户安全性。同时,将与区块链无关的业务逻辑通过bot与服务器进行交互,提高用户体验。 所以,Telegram+小程序+bot+智能合约的开发模式,可能会称为一种全新的Web3开发技术栈。事实上,从时间上看,电报小程序与TON链同时推出,也可能有这方面的用意。但是这种开发模式不仅仅适用于电报和TON链,更适用于用户量庞大的各种EVM链...

使用Session Key委托服务器安全的操作抽象账户
最近电报自动交易机器人和各种SocialFi很火,这些产品给用户带来了类似Web2的良好用户体验。但火爆的背后,也发生了多起安全事件。为此,很多新上线的平台开始使用更先进的账户安全技术来保护用户资产,比如@tomo_social使用了ERC-4337账户抽象技术,有些电报机器人采用了MPC钱包技术。 尽管账户抽象钱包(AA钱包)已经具备了零gas费(服务商代付gas费),多签,社交登录等强大功能,并大幅度提升用户体验,但是因为ERC-4337属于在现有以太坊共识基础上的补丁方案,与链交互签名时仍旧需要私钥,各种方案只是在私钥保存和签名环节采取各种安全措施。 所以,虽然很多代用户签名交互的电报机器人,SocialFi平台通过MPC钱包或AA钱包来保障客户的私钥安全,但实际上,因为最终还是要通过钱包主私钥来进行签名,本质上还是私钥的验证模式,所以仍旧有私钥泄露的风险。 今天看到AA钱包创新项目ZeroDev的Session Key(对话密钥)解决方案,可以让AA钱包授权生成一个或若干个Session Key(也是一种私钥),来受控的执行经授权的操作。这种授权模式有别于ERC-20或E...
FERC20:一个更公平的ERC20方案
简介我们非常高兴地宣布,erc20.cash 上线了。这是一个更公平的的ERC20代币方案,我们将它命名为:Fair ERC-20,简称FERC20。 今年3月8日,BRC20代币在比特币链上通过Ordinals部署成功,在短短一两个月内吸引了大量关注和资金的参与。BRC20代币的成功得益于以下几个原因:简洁的Ordinals协议使得BRC20发行方无法在代币上做过多的编程,避免了在以太坊合约中各种安全风险和一些自私的设计。人人平等的铸币权。BRC20的发行方或项目团队,无法像在以太坊智能合约中通常做的那样,给自己或相关利益方预留一部分免费(低价)代币。在铸造BRC20时,所有人都站在同一起跑线上,即使发行方和团队也是如此。比特币的UTXO机制和低性能,让很多具有速度优势的智能合约机器人无法在比特币网络上工作,从而防止了通过技术手段获得比正常参与者更大的优势以及由此造成的不公平。上述原因使得BRC20对社区参与者来说,更公平,从而吸引了更多人参与。 但是,即使如此,有个非常有意思的现象是:大多数以太坊社区的成员尚未参与BRC20。 所以,我们想,是否能将BRC20的公平发售(Fa...
Share Dialog
Share Dialog

Subscribe to jackygu's blog

Subscribe to jackygu's blog
<100 subscribers
<100 subscribers
RLN(Rate Limiting Nullifier)是一个零知识应用,可用于去中心化、匿名环境下的垃圾邮件预防。
区块链的匿名性为某些应用程序打开了垃圾邮件和Sybil攻击(女巫攻击)的可能性,这可能会严重影响用户体验和应用程序的整体功能。例如,一个Web3聊天应用程序,其中的用户是匿名的。每个人都可以发送无限量的消息,但我们没有能力踢出这个成员,因为消息的发送者是匿名的。
RLN帮助我们识别并“踢出”垃圾邮件发送者。
此外,在匿名环境中,RLN不仅有助于防止垃圾邮件攻击,而且可以限制用户的行为次数(例如投票或竞标)。

RLN的功能由三个部分组成,将它们集成在一起可以提供垃圾邮件和Sybil攻击保护。这些部分应该由需要匿名和垃圾邮件保护的上游应用程序进行集成。应用程序可以是中心化的或去中心化的。对于去中心化的应用程序,每个用户为应用程序维护独立的存储和计算资源。这三个部分是:
用户注册(Registration)
用户交互(Interaction)
用户移除(Slashing)
在注册应用程序之前,用户需要生成一个密钥,并使用Poseidon哈希函数identityCommitment = posseidonHash(secretKey)从秘密密钥派生出身份。
用户通过提供某种形式的抵押和他们从密钥派生出的身份来注册应用程序。应用程序维护一个Merkle树数据结构(在RLN的最新迭代中,我们使用增量Merkle树算法来提高Gas的使用效率,但Merkle树不一定要在链上),该结构存储已注册用户的身份。注册成功后,用户的身份将存储在Merkle树的叶子节点中,并为他们分配一个索引,表示他们在树中的位置。
对于用户想要与应用程序进行的每个交互(如合约调用),用户必须生成一个零知识证明(zk proof),确保他们的身份是成员Merkle树的一部分。
RLN有许多用例,例如投票应用程序(每次选举1票)、聊天(每秒1条消息)和交互速率限制访问等。验证器可以是集中化应用程序的服务器或去中心化应用程序的其他用户。
通常,反垃圾邮件规则的抽象形式为:用户每个时期(epoch)内不得进行超过X个交互。为了简单起见,让我们将规则转化为:“用户每秒钟不能发送超过一条消息。”
可以使用Shamir秘密共享方案(阅读更多),该方案允许将秘密(例如分成n个部分)并在呈现n个部分中的任何m个部分(m <= n)时恢复它。
因此,用户必须将其secret_key分成n个部分,并为每个交互显示secret_key的新部分。因此,除了证明成为Merkle树成员外,用户还必须证明显示的部分真正是他们的secret_key的部分。
如果他们每个时期(epoch)内进行交互的次数超过了允许的数量,他们的secret_key可能会被完全重建。
RLN机制的最后一个功能是,它允许任何人通过知道用户的秘密密钥将其从成员树中移除。
成员树包含所有已注册用户的身份。用户的身份是从其密钥派生出来的,用户的密钥仅在垃圾邮件事件中(除非原始用户想要自行删除,因为他们知道自己的密钥)才会被揭示。当存在经济押金时,RLN机制可以以这样的方式实现,即将垃圾邮件发送者的押金发送给第一个正确报告垃圾邮件发送者的用户,以提供已重建垃圾邮件发送者的密钥作为证明。
参考《https://rate-limiting-nullifier.github.io/rln-docs/what_is_rln.html》
RLN是(PSE)隐私与扩展性探索的一部分,该文章的写作团队由以太坊基金会支持,由多学科团队组成。PSE探索零知识证明和其他加密原语的新用例。
RLN(Rate Limiting Nullifier)是一个零知识应用,可用于去中心化、匿名环境下的垃圾邮件预防。
区块链的匿名性为某些应用程序打开了垃圾邮件和Sybil攻击(女巫攻击)的可能性,这可能会严重影响用户体验和应用程序的整体功能。例如,一个Web3聊天应用程序,其中的用户是匿名的。每个人都可以发送无限量的消息,但我们没有能力踢出这个成员,因为消息的发送者是匿名的。
RLN帮助我们识别并“踢出”垃圾邮件发送者。
此外,在匿名环境中,RLN不仅有助于防止垃圾邮件攻击,而且可以限制用户的行为次数(例如投票或竞标)。

RLN的功能由三个部分组成,将它们集成在一起可以提供垃圾邮件和Sybil攻击保护。这些部分应该由需要匿名和垃圾邮件保护的上游应用程序进行集成。应用程序可以是中心化的或去中心化的。对于去中心化的应用程序,每个用户为应用程序维护独立的存储和计算资源。这三个部分是:
用户注册(Registration)
用户交互(Interaction)
用户移除(Slashing)
在注册应用程序之前,用户需要生成一个密钥,并使用Poseidon哈希函数identityCommitment = posseidonHash(secretKey)从秘密密钥派生出身份。
用户通过提供某种形式的抵押和他们从密钥派生出的身份来注册应用程序。应用程序维护一个Merkle树数据结构(在RLN的最新迭代中,我们使用增量Merkle树算法来提高Gas的使用效率,但Merkle树不一定要在链上),该结构存储已注册用户的身份。注册成功后,用户的身份将存储在Merkle树的叶子节点中,并为他们分配一个索引,表示他们在树中的位置。
对于用户想要与应用程序进行的每个交互(如合约调用),用户必须生成一个零知识证明(zk proof),确保他们的身份是成员Merkle树的一部分。
RLN有许多用例,例如投票应用程序(每次选举1票)、聊天(每秒1条消息)和交互速率限制访问等。验证器可以是集中化应用程序的服务器或去中心化应用程序的其他用户。
通常,反垃圾邮件规则的抽象形式为:用户每个时期(epoch)内不得进行超过X个交互。为了简单起见,让我们将规则转化为:“用户每秒钟不能发送超过一条消息。”
可以使用Shamir秘密共享方案(阅读更多),该方案允许将秘密(例如分成n个部分)并在呈现n个部分中的任何m个部分(m <= n)时恢复它。
因此,用户必须将其secret_key分成n个部分,并为每个交互显示secret_key的新部分。因此,除了证明成为Merkle树成员外,用户还必须证明显示的部分真正是他们的secret_key的部分。
如果他们每个时期(epoch)内进行交互的次数超过了允许的数量,他们的secret_key可能会被完全重建。
RLN机制的最后一个功能是,它允许任何人通过知道用户的秘密密钥将其从成员树中移除。
成员树包含所有已注册用户的身份。用户的身份是从其密钥派生出来的,用户的密钥仅在垃圾邮件事件中(除非原始用户想要自行删除,因为他们知道自己的密钥)才会被揭示。当存在经济押金时,RLN机制可以以这样的方式实现,即将垃圾邮件发送者的押金发送给第一个正确报告垃圾邮件发送者的用户,以提供已重建垃圾邮件发送者的密钥作为证明。
参考《https://rate-limiting-nullifier.github.io/rln-docs/what_is_rln.html》
RLN是(PSE)隐私与扩展性探索的一部分,该文章的写作团队由以太坊基金会支持,由多学科团队组成。PSE探索零知识证明和其他加密原语的新用例。
No activity yet