自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

原创 BSV 上用于通用计算的隐私非交互式赏金

我们提出了一种新颖的赏金机制,可以在区块链上安全私密地外包任意计算。解决方案和付款的交换是原子的和无需信任的:赏金发布者获得解决方案而赏金收集者获得奖励,或者两者都不发生。赏金发布者部署一个智能合约,当且仅当提供解决方案时才会释放资金。为了防止解决方案泄露,它使用只有双方知道的密钥进行加密。为了验证加密的解决方案,零知识证明 (ZKP) 用于证明加密的解决方案是有效的,并且使用正确的密钥对其进行加密,同时保密。据我们所知,这是有史以来第一个也是唯一一个在没有可信第三方的情况下安全外包任何计算的方法。

2023-02-06 11:00:58 729 1

原创 BSV 上的零知识隐私机器学习

我们已经演示了在 BSV 上运行一个成熟的深度神经网络,其中机器学习 (ML) 算法的输入和模型都是公开的。在实践中,通常希望将输入或模型保持在链下并因此保持私有,同时仍确保 ML 算法如实运行。我们通过将零知识证明 (ZKP) 应用于 ML 来实现这一点。

2022-12-26 11:44:08 1317

原创 编写和发布 scrypt-ts 库合约

近期我们发布了名为 scrypt-ts 的项目,允许开发者可以使用 Typesript 语言开发 BSV 智能合约。今天很高兴在这里宣布一个最新进展,大家可以使用 npm 直接发布和使用 scrypt-ts 的库合约了。

2022-12-26 11:33:39 1418

原创 使用预授权签名加速 BSV 有状态合约更新

BSV 智能合约将状态存储在交易链的输出中,当交易花费包含旧状态的输出并创建包含新状态的输出时,就会发生状态转换。 在任何给定时间,交易链末端的单个输出/UTXO 都具有最新状态。当多个事务竞争同时更新共享状态时,就会出现问题。

2022-12-21 11:16:13 1248

原创 在BSV上运行深度神经网络

人工神经网络是受生物神经网络启发而构建的。网络通过接触大量带标签的数据示例来学习。这个过程也称为监督学习。该网络由几个组件组成:神经元/节点、连接、偏差和激活函数。这些组件被连续分组到层中。第一层称为“输入层”,数据通过该层传入网络,最后一层称为“输出层”,网络通过该层返回其输出。一个非常简单的神经网络只包含这两层。为了提高性能,我们可以在两者之间添加一个或多个“隐藏层”。具有隐藏层的网络称为“深度神经网络”(DNN)。深度神经网络的图示网络中神经元之间的每个连接都用特定值加权。

2022-12-19 09:52:59 962

原创 在无需分叉的情况下模拟任何 SIGHASH 标志

我们开发了一种新颖的方法来模拟任何 SIGHASH 标志,只需在智能合约中编写逻辑即可。它不需要更改协议,因此比每次构思新用例时通过分叉添加硬编码标志更实用和灵活。

2022-12-12 09:52:41 1025

原创 BSV 上的 Graftroot

我们已经演示了如何使用无合约的合约在 BSV 上实现 Taproot。我们将展示了其后续提案 Graftroot 可以以类似的方式实施。

2022-12-08 11:12:26 1068

原创 sCrypt 合约中的椭圆曲线算法:第二部分

我们在脚本中实现了椭圆曲线 (EC) 算法。在中,我们进行链下计算并在脚本中验证结果。我们这里直接用脚本计算。

2022-11-28 10:46:42 996

原创 sCrypt 合约中的椭圆曲线算法:第一部分

我们提出了一种新颖有效的方法,用于在脚本中计算椭圆曲线上的点加法和标量乘法。对于点加法,我们将超过1MB的脚本大小减少到约400字节。

2022-11-28 10:42:09 841

原创 BSV 上的 PLONK

我们之前已经实现了 Groth16,这是最小且最高效的 SNARK 构造。但是,它需要为每个电路进行可信设置。通过消除对每条电路的可信设置的需要,PLONK 既减轻了对该过程安全性的担忧,又确保如果电路在未来发生变化,则不再需要安全的多方计算 (MPC) 设置仪式,由于, 例如,关键错误修复。通用和可更新的设置仪式,例如 Perpetual Powers of Tau,可以重复用于 PLONK 中的任何电路。它使部署新电路和升级现有电路变得更加容易和安全。

2022-11-21 09:59:20 973

原创 BSV 上的付费解密智能合约

使用 ElGamal 加密Alice 有一条加密消息,即密文。Bob 有原始消息,明文。Alice 想付费给 Bob BSV 以换取明文。如果 Alice 先付钱给 Bob,Bob 可能不会给她明文。相反,如果 Bob 先把明文告诉 Alice,Alice 可能会拒绝支付。我们设计了一个称为支付解密的智能合约,使交易原子化且无需信任,确保只有正确的明文才能赎回锁定的资金¹。

2022-11-21 09:37:26 1494

原创 BSV上的高效 zk-SNARK:技术解释

最近,我们在 sCrypt 中实现了 zk-SNARKs,并在 BSV 上运行它。更具体地说,我们实现了 Groth16 算法的验证器,它允许直接在链上验证零知识证明。本文深入探讨了一些细节,阐明了如何在 BSV 上有效地实施其他高级加密技术。

2022-11-12 11:00:00 1156

原创 PLONK 的工作原理:第 2 部分

之前我们解释了如何将想要使用 PLONK 证明的计算转换为中间约束系统,最终使用多项式承诺方案 (PCS) 来证明。我们只介绍了一种类型的约束:门约束。在本文中,我们将介绍另一种类型:复制约束。

2022-11-11 22:03:29 1106

原创 PLONK 的工作原理:第 1 部分

PLONK 是最先进的 zk-SNARK 证明系统。以前的 zk-SNARK (例如 Groth16)具有特定于电路的设置,这需要对任何新电路进行新的可信设置。PLONK 的可信设置是通用的,这意味着它可以启动一次并被所有电路重复使用。本文将解释如何证明 PLONK 计算的核心思想。

2022-11-03 18:37:11 1160

原创 BSV 上的点对点结算衍生品:远期合约

远期合约是两方在特定未来时间以预定价格买卖资产的衍生工具。它是一种非常常见的对冲波动性的工具。我们展示了一个以 BSV 结算的美元远期合约示例,它可以很容易地扩展到任何需要根据外部未来价值划分以 BSV 计价的资金的金融工具。

2022-11-03 18:26:11 1122

原创 BSV 上的信息不完整游戏

今天可以在 BSV 上开发信息不完整的游戏,因为我们已经在其上实现了 zk-SNARKs。由于 BSV 上的智能合约交易便宜且即时,因此它是构建此类游戏的理想平台。

2022-10-31 13:54:35 1895

原创 BSV 上基于智能合约的众筹

我们展示如何在 BSV 上开发众筹平台。与 Kickstarter 类似,资金要么是全部,要么什么都没有。也就是说,如果没有达到筹款目标,则保证资金返还。与 Kickstarter 相比,我们的方法由智能合约自动执行,不需要将资金委托给受信任的第三方,并且费用低。我们首先介绍一种传统的方法来实现这一点,然后介绍一个改进的版本。

2022-10-28 11:35:34 1084

原创 使用 zk-SNARKs 的可编程零知识证明:第 3 部分

我们已经展示了如何使用称为零知识密钥声明证明 (ZKKSP) 的技术为以下声明构建零知识证明 (ZKP)。基本上,它证明了不仅证明者知道给定公钥的密钥,而且还证明知道给定摘要的秘密哈希,而不会泄露秘密。虽然 ZKKSP 有效,但它有一个严重的限制:它只适用于一种特定形式的声明,即秘密是给定公钥的私钥,也是给定哈希的原像。目前尚不清楚如何将其扩展为稍作修改的声明,例如,除了作为私钥和原像之外,私钥也是偶数。此外,提出它需要密码学的专利级知识,例如 ∑ 协议和承诺方案。

2022-10-21 17:40:27 1907

原创 基于 ECDSA 的 BSV 预言机

BSV 智能合约需要预言机导入外部数据,例如天气和商品价格。导入后,智能合约需要验证数据实际上来自授权的预言机。更具体地说,我们需要解决以下问题。如何验证一条数据是否由具有已知公钥的预言机签名?

2022-10-21 17:36:42 1696

原创 零知识密钥声明证明

nChain 白皮书 #0488 介绍了一种零知识证明 (ZKP),可证明与给定公钥对应的私钥满足特定要求,同时保持私钥机密。我们已经实现了它,使之可以在相互不信任的各方之间购买秘密信息,而无需受信任的第三方。

2022-10-14 10:26:52 1384

原创 BSV 上的 Schnorr 签名

Schnorr 是一种可以用于替代比特币签名当前使用的 ECDSA 算法的替代算法。我们将展示了如何通过原始的比特币协议来实现它,这是第一个也是唯一一个已知的实现,没有对原始协议进行任何更改。

2022-10-14 10:02:39 804

原创 使用 zk-SNARKs 的可编程零知识证明:第 2 部分

本文展示如何通过使用零知识语言 Circom 简单地编程来实现另一个复杂的密码学技术:环签名

2022-10-10 10:17:07 541

原创 BSV 上的环签名

在 BSV 中实现的环签名智能合约。

2022-10-10 10:03:58 1128

原创 最新发布无需安装的 sCrypt 开发环境:sCrypt Playground

sCrypt Playground 发布了,与桌面IDE 完全相同的功能,但是无需安装。体验地址: https://playground.scrypt.io。免责声明:sCrypt Playground 不保证用户代码的长期存储。用户负责代码备份。

2022-09-30 11:29:36 140

原创 一种增强隐私的多重签名:树签名

我们使用称为树签名(Tree Signatures)的技术提出了一种具有增强隐私的多重签名的有效实现。与原始树签名¹相反,我们的实现不需要对比特币协议进行任何更改。

2022-09-26 12:55:56 332

原创 使用 zk-SNARK 的可编程零知识证明:第 1 部分

理论上,可以为任何数学问题构建零知识证明 (ZKP),而无需揭示此解决方案。在实践中,为一个问题开发 ZKP 通常需要发明一种全新的密码算法。它没有标准配方,需要广泛而深入的密码学知识。zk-SNARKs 为任意问题标准化 ZKP 生成,只需用 ZK 格式表达要证明的原始问题,其余的都由通用的 zk-SNARK 框架处理,隐藏了底层密码学的所有复杂性。

2022-09-19 10:27:02 891

原创 BSV 上的图灵完备的“规则110”

我们已经在 BSV 上实现了。类似于二维元胞自动机 (CA: cellular automata),一维 CA也是图灵完备的。通过推论,我们再次证明了比特币是图灵完备的。

2022-09-14 18:35:23 700

原创 递归零知识证明

我们将展示了递归零知识证明优于标准非递归零知识证明 (ZKP) 的优势,并通过将其应用于证明费拨那契 (Fibonacci) 序列来展示它的强大功能。

2022-09-06 16:45:23 1119

原创 在 BSV 上基于 Zokrates 的 zkSNARKs 应用开发流程简介

我们扩展了 ZoKrates 的功能,使其支持自动生成验证 zk-SNARKs 证明的sCrypt智能合约。本文将展示如何使用这个工具的简要流程。

2022-08-29 10:06:09 376

原创 如何在 BSV 上训练人工智能模型

我们制定了外包训练的合约。这是一项公共赏金,任何提供正确权重的人都可以获得奖赏,这些权重可以使预测与所有训练数据集输入的输出相匹配。

2022-08-29 09:57:51 322

原创 BSV 上的私钥谜题

我们引入了一种称为私钥谜题的新型 BSV 智能合约,它只能通过提供给定公钥的对应私钥来解锁。在以前的合约中,只需要以数字签名的形式证明拥有私钥。私钥保密,不会暴露。私钥谜题合约则相反,私钥是被公开的。...

2022-08-12 16:53:46 215

原创 BSV 中的零开销私人时间戳

时间戳对于时间敏感的数据特别有用:专利、保险索赔、发票、公证人等。我们介绍了一种使用 BSV 作为时间戳服务器的新颖替代方案,它既是私有的,又没有开销。

2022-08-08 10:42:53 835

原创 BSV 上高效的多方公平交易

我们为多方安全计算(MPC)引入了一种高效的协议,以公平地交换他们的秘密输入。允许安全且经济地收集所有输入,这为各种 MPC 在 BSV 上进行打开了大门,而无需依赖各方的合作。

2022-08-08 10:26:24 146

原创 在 BSV 上创建你的第一个零知识证明程序

这个是BSV上zkSNARKs的工具箱。它可以帮助您在应用程序中使用可验证的计算,从高级语言的编写的电路到生成计算证明,再到在sCrypt中验证这些证明。

2022-08-01 10:51:37 1885

原创 一种灵活的智能合约协作方式

该思想适用于所有类型的智能合约,其中多方可以在链下达成相互协议,从而避免繁重的链上计算并通过诚实地遵循合约/协议获得额外的隐私。这是在不损失安全性和公平性的情况下实现的,即使某些方试图作弊。预计将在实践中得到广泛采用。...

2022-08-01 10:45:42 139

原创 BSV 上的 ZK-Rollups

ZKR将交易数据存储在第1层(L1)的链上,以实现数据可用性。底层L1的存储成本为ZKR的可扩展性增益设置了上限。因此,ZKR在 BSV 上的效果比在以太坊上要好得多,因为前者的存储成本比后者便宜几个数量级。此外,由于zk-SNARK是通用的,一旦在 BSV 上部署了rollup智能合约,许多现有的在其他区块链(如Circom和ZoKrates)上设计的ZKR工具可以直接在BSV中重复使用。这意味着ZKR可用于今天在BSV上扩展应用程序。

2022-07-22 09:56:57 1386

原创 零知识谜题

∑协议是模块化的,并且可以通过使用例如逻辑串联/与和并联/或组合在一起。因此,我们可以构建更高级的谜题,例如支付到群组密码(P2GP)任何知道任意群组密码的人都可以通过提供证明来花费资金,而无需透露使用了哪一个群组密码。...

2022-07-18 14:41:45 176

原创 去信任外包虚荣地址生成

之前,我们展示了一种使用购买比特币虚荣地址的新颖且私密的方式。在实践中,它有一个缺点买方在步骤7中验证了证明后,他可以中止交换协议,卖方浪费资源寻找答案却没有得到报酬。为了克服这个缺点,我们使用智能合约完全在链上进行交换。只有提供了私钥(例如派生/组合公钥/地址)满足虚荣地址模式,它才会支付。...

2022-07-15 14:15:39 188

原创 BSV 上零知识友好的哈希函数 MiMC

MiMC 是一个“零知识友好”的哈希函数,可以生成有效的零知识证明 (ZKP)。

2022-07-11 10:15:30 598

原创 BSV 上的 zk-SNARKs

zk-SNARK(零知识简洁非交互式知识论证)是一种旨在为任何数学函数生成零知识证明的协议,克服了这些限制。生成的证明是“简洁的”和“非交互的”:一个证明只有几百字节,可以在恒定时间内,甚至在几毫秒内得到验证,无需向证明者提出额外的问题。...

2022-07-04 15:04:41 2498

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除