jjzjj

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

状态更新竞争BSV智能合约将状态存储在交易链的输出中。当交易花费包含旧状态的输出并创建包含新状态的输出时,就会发生状态转换。在任何给定时间,交易链末端的单个输出/UTXO都具有最新状态。当多个事务竞争同时更新共享状态时,就会出现问题。要了解原因,让我们考虑一个简单的类似ERC-20的Token智能合约,具有以下状态¹:图1:可替代Token合约的状态状态记录每个用户拥有多少Token。假设Alice发送一笔交易将5个Token转移给Charlie,将状态更新为state3A,而Bob发送另一笔交易同时将10个Token转给Dave,将其更新为state3B。其中一个交易将失败,因为它们双花包含

BSV 上的付费解密智能合约

Alice有一条加密消息,即密文。Bob有原始消息,明文。Alice想付费给BobBSV以换取明文。如果Alice先付钱给Bob,Bob可能不会给她明文。相反,如果Bob先把明文告诉Alice,Alice可能会拒绝付费。我们设计了一个称为支付解密的智能合约,使交易原子化且无需信任,确保只有正确的明文才能赎回锁定的资金¹。Diffie–Hellman密钥交换Diffie–Hellman密钥交换(DHKE)是一种密钥协商协议,允许两方通过不安全的通道建立共享秘密。下图显示了椭圆曲线上的DHKE。一开始,Alice和Bob各有一对公私钥。交换后,他们生成一个共享密钥。椭圆曲线DiffieHellma

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

ZoKrates是zkSNARKs的工具箱,隐藏了零知识证明(ZKP)固有的显着复杂性。它为开发人员提供了一种类似于python的高级语言来编写他们想要证明的计算问题。我们扩展了它,使其支持在BSV上生成和验证的证明。安装Zokrates二进制包安装下载并使用我们发布的二进制包:二进制文件可以从我们的发布页面下载。编译源码安装gitclone-bmainhttps://github.com/sCrypt-Inc/ZoKrates./build_release.shcdtarget/releaseZokrates工作流程整个工作流程与原始ZoKrates相同,只是验证步骤是在BSV上完成的。1.

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

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

BSV 上的 Graftroot

我们已经演示了如何使用无合约的合约在BSV上实现Taproot。我们将展示了其后续提案Graftroot可以以类似的方式实施。BTC中的Grabroot与Taproot类似,有两种方式可以使用锁定在由多方创建的聚合公钥P中的资金:合作案例:又名默认密钥花费路径各方同意并签署在定期支付交易中释放资金,与Taproot相同。不合作的案例:又名替代脚本支出路径如果任何一方未能签署,将选择一个替代脚本来运行以解锁资金。在Taproot中,脚本是MerklizedAlternativeScriptTree(MAST)中的叶节点。它通过在P中链接MASTm的根并通过Merkle证明验证脚本确实是MAST的

BSV 上的 Graftroot

我们已经演示了如何使用无合约的合约在BSV上实现Taproot。我们将展示了其后续提案Graftroot可以以类似的方式实施。BTC中的Grabroot与Taproot类似,有两种方式可以使用锁定在由多方创建的聚合公钥P中的资金:合作案例:又名默认密钥花费路径各方同意并签署在定期支付交易中释放资金,与Taproot相同。不合作的案例:又名替代脚本支出路径如果任何一方未能签署,将选择一个替代脚本来运行以解锁资金。在Taproot中,脚本是MerklizedAlternativeScriptTree(MAST)中的叶节点。它通过在P中链接MASTm的根并通过Merkle证明验证脚本确实是MAST的

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

此前,我们已经演示了在BSV上运行一个成熟的深度神经网络,其中机器学习(ML)算法的输入和模型都是公开的。在实践中,通常希望将输入或模型保持在链下并因此保持私有,同时仍确保ML算法如实运行。我们通过将零知识证明(ZKP)应用于ML来实现这一点。零知识链上机器学习涉及ML时,有两类隐私信息:隐私输入模型的输入是隐私的,但模型本身是公开的。这对于涉及敏感和隐私数据的应用程序特别有用,例如财务记录、生物识别数据(例如指纹、面部)、医疗记录和位置信息。例如,可以证明他已经超过21岁而无需透露他的年龄。或者保险公司使用信用评分模型进行贷款审批。该模型是为提高透明度而公开的,但申请人的工资和银行对账单等输

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

此前,我们已经演示了在BSV上运行一个成熟的深度神经网络,其中机器学习(ML)算法的输入和模型都是公开的。在实践中,通常希望将输入或模型保持在链下并因此保持私有,同时仍确保ML算法如实运行。我们通过将零知识证明(ZKP)应用于ML来实现这一点。零知识链上机器学习涉及ML时,有两类隐私信息:隐私输入模型的输入是隐私的,但模型本身是公开的。这对于涉及敏感和隐私数据的应用程序特别有用,例如财务记录、生物识别数据(例如指纹、面部)、医疗记录和位置信息。例如,可以证明他已经超过21岁而无需透露他的年龄。或者保险公司使用信用评分模型进行贷款审批。该模型是为提高透明度而公开的,但申请人的工资和银行对账单等输