BSV 中的零开销私人时间戳

该博客介绍了如何利用BSV区块链的OP_RETURN功能,结合ECDSA签名中的随机数k,创新地实现私密且无额外开销的数据时间戳服务。通过在签名过程中嵌入数据,可以证明数据自特定日期以来未被篡改,适用于专利、保险索赔、发票等时间敏感场景。这种方法允许数据在不暴露内容的情况下被打上时间戳,同时也允许第三方提供时间戳服务并收费。
摘要由CSDN通过智能技术生成

BSV 有许多潜在用途,远远超出支付范围。每个块都有一个受密码保护的时间戳。通过在交易和区块中记录数据,可以向任何外部审计员证明数据自特定日期以来未被篡改。时间戳对于时间敏感的数据特别有用:专利、保险索赔、发票、公证人等。

在这里插入图片描述

这通常通过 OP_RETURN 完成。我们介绍了一种使用 BSV 作为时间戳服务器的新颖替代方案,它既是私有的,又没有开销。

ECDSA 签名

在 ECDSA 中,签名时会选择一个随机数 k,称为 nonceG 是生成点。

在这里插入图片描述

等式 1

rR 的 x 坐标。

在这里插入图片描述

等式 2

H() 是一个散列函数,m 是被签名的消息,d 是私钥。

签名是一对 (r, s),并在区块链上公开。 kd 都必须保密。

在 k 中嵌入数据

由于 k 可以是任意随机数,我们可以在其中嵌入数据,如下所示:

在这里插入图片描述

等式 3

j 是另一个类似 k的随机数。新的 k 和以前一样只是一个随机数,可以用来对消息进行签名,以同样的方式验证。

r,作为签名的一部分暴露在区块链上。

为了证明数据嵌入其中,证明者必须同时披露 J 和数据,如下所示:

在这里插入图片描述

等式 4

任何人都可以通过验证公式 4 是否成立来验证 R 是根据数据知识创建的,因为所有变量(RJ、数据、G)都是公开的。请注意,J 出现两次,有一次是在散列函数中。事后给定 R,不可能逆向它。因此,区块链上的 R 承诺了数据。

隐私

如果 Alice 有一些数据要时间戳,她可以花费她自己的一枚硬币并使用公式 3 创建 k。外部观察者只能在她的签名中看到 r,而无法知道它是否来自使用或不使用等式 3 生成的 k。时间戳交易看起来与普通支付交易相同,使其最终成为私有的。

无开销

如果 Alice 没有任何 BSV ,她可以要求 Bob 将她的数据打上时间戳嵌入到他的签名中。当 Bob 必须签名花费 UTXO 时,时间戳对他来说没有任何额外的开销。Bob 可以提供时间戳服务并为此收取费用。他只给Alice J,不透露k。 Alice 使用公式 4 来验证她的数据确实在区块链上以 r 提交。

数据内容

通常,只需要提交原始数据的哈希值。数据也可以是 Merkle 树的根。

致谢

这个想法来自这个麻省理工学院的讲座,在 Schnorr 签名的背景下,与这里的 ECDSA 签名相比。


[1] 严格来说,给定一个椭圆曲线上的 r,有两个相关点 (r, ± \pm ±s),我们可以验证它们中的任何一个是否使等式 4 成立。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sCrypt Web3应用开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值