山东省住房和城乡建设厅网站6网络推广长沙网络推广

web/2025/10/6 10:15:34/文章来源:
山东省住房和城乡建设厅网站6,网络推广长沙网络推广,钢结构网站建设,网站建设公司固定ip通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比#xff0c;BLS12-381 的安全性明显更高#xff0c;并且安全目标是 128 位。 所有其他区块链#xff0c;例如 Zcash 和以太坊#xff0c;都必须通过硬分叉才能升…通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比BLS12-381 的安全性明显更高并且安全目标是 128 位。 所有其他区块链例如 Zcash 和以太坊都必须通过硬分叉才能升级到新曲线因为所使用的曲线是在协议级别进行硬编码的。 Zcash 花了一年多的时间在 Sapling 中升级。 以太坊 和 Tezos 在 2.5 多年前提出升级后仍未升级如果他们打算升级的话。 比特币可以以智能合约的形式在本地运行 BLS12–381无需任何重大更改。 下面的库为此提供了基础使比特币成为目前唯一支持两条曲线的区块链这要归功于其可编程性和可扩展性。 通过在智能合约中实施它们可以类似地支持更多曲线如 MNT4/6 和 BW。 以下内容最初由 Walker 发布在 Github 上Walker 在首届比特币零知识证明黑客马拉松中获得第一名。 用于比特币零知识证明智能合约支持的 sCrypt BLS12–381 库。 目前的sCrypt零知识证明库是基于BN256比特币的BLS12-381库是第一个在比特币上实现BLS12-381曲线配对验证的库。 现在您可以选择使用 BN256 或 BLS12–381 来实现零知识证明应用。 比特币是目前唯一支持零知识证明且可以选择多条曲线的区块链。 对于与平台无关的应用程序选择需要在性能 (BN254) 和安全性 (BLS12–381) 之间进行权衡。 我们建议选择 BLS12–381因为它更安全速度也足够实用但比 BN254 慢。 BN254 (254bit, 32byte P): BLS12–381 (381bit, 48byte P): 参考: Groth16Efficient zk-SNARKs on Bitcoin: Technical ExplainerBLS12–381 For The Rest Of Us 目录 曲线曲折高效配对坐标系蒙哥马利形式先决条件如何在本地运行图书馆应用程序接口验证密钥和证明数据测试 1. 曲线 BLS12–381 曲线 BLS12–381 既对配对友好使其对数字签名有效又对构建 zkSnarks 有效。 BLS12-381 的安全目标是 128 位。 1.1 曲线 BLS12–381 处理两条曲线 配对是一个双线性映射它以两个点作为输入每个点来自一组相同阶数 r。 这两组称为 G1 和 G2 。 1.2 twist 扭曲 BLS12–381 使用扭曲将扩展场的程度降低了六倍。 因此扭曲曲线上的 G2 可以在 Fq2 而不是 Fq12 上定义这大大节省了复杂性在 Fq12 中进行算术运算非常复杂且效率低下。 这改变了原始曲线 进入曲线 所以这些是我们将使用的两个组 1.3 高效配对 配对的计算有两个部分 米勒循环递归计算两个输入点 f(pointG1, pointG2) 的中间函数 最后求幂将 f 提高到 c 的大幂 等式 1 1.3.1 减少到 3 对 验证等式2 其中 α 和 β 在设置时已知因此我们可以预先计算第二对 e(α, β) 并用它替换 α 和 β 作为验证密钥的一部分从而节省一对。 1.3.2 最终一次求幂 等式 2 可以重写为 e是双线性的把指数(-1)移到括号里。 代入等式 1我们得到 而不是计算 4 次计算密集型的最终指数我们最后只需要做一次。 注意snarkjs/circom 的 verification_key.json 输出文件中有一个 vk_alphabeta_12 预计算项但是你不能用它来预计算 f(α,β)这个数据是通过miller循环和finanl求幂 f( α, β)^c 。 您可以在调试模式下运行 testcase1.scrypt 合约以获取预先计算的 f(α, β) 数据。 1.4 坐标系 查找域元素的逆是一项昂贵的操作因此椭圆曲线算法的实现会尽量避免它。 1.4.1 仿射坐标 仿射坐标是仅具有 (x, y) 坐标对的点的传统表示其中 x 和 y 满足曲线方程。 这是我们通常在存储和传输点时使用的。 基本思想是使用名义分数来表示坐标减少所需的实际除法运算次数。 为此引入了第三个坐标并使用 (X, Y, Z) 作为点的内部表示。 1.4.2 雅可比(Jacobian)坐标 雅可比点 (X, Y, Z) 表示仿射点 (X/Z², Y/Z³)。 曲线方程变为: 请注意导入仿射点 (x,y) 的最简单方法是将其映射到 (x, y, 1)。 1.5 蒙哥马利形式 一种不需要除法的模数计算方法是所谓的蒙哥马利乘法。 要计算模乘运算 将乘数转换为蒙哥马利形式使用蒙哥马利乘法转换蒙哥马利形式的结果 2. 准备 Visual Studio Code(VSC)sCrypt IDENode.js, version 12PC CPU 2.6GHz, Memory 24GB 3.如何在本地运行 运行 npm install 来安装依赖 从 VSCode GUI 运行测试用例选择 testcase0.scrypttest.js 文件在文件编辑窗口单击鼠标右键选择菜单 Run sCrypt Test 4. 库和 API 4.1 库 ├─ contracts │ ├─ bls12381.scrypt # bls12-381 library │ ├─ bls12381pairing.scrypt # bls12-381 ZKP lib(Optimized 3-pairs) │ └─ zksnark12381.scrypt # zk-SNARKs verifier contract example └─ tests└─ js├─ testcase0.scrypttest.js # simple testcase├─ testcaseAzksnark.scrypttest.js # testcase A├─ testcaseBzksnark.scrypttest.js # testcase B├─ testcaseCzksnark.scrypttest.js # testcase C└─ testcaseDzksnark.scrypttest.js # testcase D4.2 API static function pairCheck3Point(PointG1 a0, PointG2 b0,fe12 millerb1a1,PointG1 a2, PointG2 b2,PointG1 a3, PointG2 b3) : bool参数 (3对 pairing and 1 对预先计算好的pairing) a0 : A, b0 : Bmillerb1a1 : 预先计算 miller(α, β)a2 : L, b2 : ϒa3 : C, b3 : δ 验证等式 2: 4.2.1 从 snarkjs/Circom 验证密钥和证明数据 您可以通过 scrypt.io 找到 zkSNARK snarkjs/Circom 教程 执行snarkjs/Circom命令时需要选择bls12381曲线命令行选项因为默认是bn128曲线。 例如 编译电路 circom ../work_circom/factor.circom --r1cs --wasm --prime bls12381开始新的 powers of tau 仪式 snarkjs powersoftau 新 bls12-381 12 pot12_0000.ptau然后可以确认输出的 verification_key.json 和 proof.json 文件中有一个curve: “bls12381项而不是curve”: bn128项。 从 proof.json 文件中获取A、B、C参数从 verification_key.json 文件中获取 α、β、ϒ、δ参数使用 public.json 文件中的ic item和公共输入计算 L 参数 其中公共输入 w (1, w1, …, wi) 4.2.2 verification_key.json 测试用例 B verification_key.json {protocol: groth16,curve: bls12381,nPublic: 1,vk_alpha_1: [32346008969010......, 760490433841......, 1],vk_beta_2: [[62735191543702......, 379194604638......],[94606778762315......, 299061862927......],[1, 0]],vk_gamma_2: [[3527010695874......, 305914434424......],[1985150602287......, 927553665492......],[1, 0]],vk_delta_2: [[1895592553603......, 338057034563......],[1793381858589......, 319699776756......],[1, 0]],vk_alphabeta_12: [[[29062082199832......, 29798557291243......],[20107026956616......, 32289268603827......],[37794026319284......, 20272682142916......]],[[11743275386962......, 32259555688411......],[30689582621397......, 26992620205415......],[75601830939387......, 26615242825680......]]],IC: [[179858356000600......, 10944984983678......, 1],[341669953409364......, 26956794051246......, 1]] }4.2.3 proof.json 测试用例 A proof.json {pi_a: [386406607244204......, 3355814159298......, 1],pi_b: [[28933956745182......, 3829761206156......],[36211079726457......, 6620758983513......],[1, 0]],pi_c: [302947598381396......, 3994710045276......, 1],protocol: groth16,curve: bls12381 }4.2.4 public.json 测试用例 A public.json [13221 ]5. 测试用例 5.1 设计电路 用 Circom 语言实现一个电路。 例如这个简单的证明人们知道将整数 n 分解为两个整数而不透露整数。 该电路有两个名为 p 和 q 的私有输入以及一个名为 n 的公共输入。 // p and q are factorizations of n pragma circom 2.0.0;template Factor() {// Private Inputs:signal input p;signal input q;// Public Inputs:signal output n;assert(p 1);assert(q 1);n p * q; } component main Factor();5.2 测试用例 A, B, C, D 两个私有输入 p 和 q以及一个公共输入 n。 5.3 测试网部署 合约 zksnark12381deploy.scrypt 部署和解锁 测试网部署交易: 交易 eba34263bbede27fd1e08a84459066fba7eb10510a3bb1d92d735c067b8309dd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

境外网站icp备案网站设计专业公司

打造高端老人手机——幸福手机 江苏智联天地科技有限公司历经2年,手机研发投入超过4000万,打造中国第一品牌的高端老人手机,手机将于2014年12月正式对外发布,是国内第一款高端老人手机——幸福手机(ThimFone&#xff0…

网站搭建是什么专业wordpress注册修改

ubuntu python 2.7 python test.py *.py permission denied chmod x *.py 转载于:https://www.cnblogs.com/gisalameda/p/11086624.html

网站建设布局利于优化高端网站建设文案

文章目录 SQL Server主要特点 常见数据库操作假设tmall_scapler_item_pk是一个主键约束临时表表的连接 SQL Server SQL Server 是由微软(Microsoft)公司开发的一个关系数据库管理系统(RDBMS)。它允许企业或组织存储、检索、修改和…

南宁网站建设服务郑州做网站托管

1. TFO 为了改善web应用相应时延,google发布了通过修改TCP协议利用三次握手时进行数据交换的TFO(TCP fast open,RFC 7413)。 TFO允许在TCP握手期间发送和接收初始SYN分组中的数据。如果客户端和服务器都支持TFO功能,则可以减少建立到同一服…

更新网站要怎么做呢苗木公司网站模板

以前我们使用RSA加密主要是使用RSACryptoServiceProvider这个类,在.NET Core中也有这个类,但是这个类并不支持跨平台,所以如果你是用这个类来进行加/解密在windows上运行是完全没有错误的,但是只要你一放到Linux下就会出现异常。查…

课程网站建设特色m 的手机网站怎么做

9月27日,世界排名第一ERP厂商SAP在官网宣布,推出生成式AI助手Joule,并将其集成在采购、供应链、销售、人力资源、营销、数据分析等产品矩阵中,帮助客户实现降本增效。 据悉,Joule是一款功能类似ChatGPT的产品&#xf…

微信 公众号 微网站开发汕头网站推广教程

一. RemoteScheduler远程控制 1. 背景: 在A服务器上部署了一个Scheduler,我们想在B服务器上控制这个Scheduler。 2. 猜想: A服务器上的Scheduler需要有地址、需要有端口、需要有名称(实际上也是如此)。 3. 需求: 一个控制台程序…

大连企业网站建设北京天仪建设工程质量检测所网站6

Socket是什么呢? ① Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或者应答网络请求。 ② Socket是连接运行在网络上的两个程序间的双向通信的端点。 ③ 网络通讯其实指…

做拼团网站关键词搜索排名怎么查看

方法1: 1、常见Runnable对象设置同步代码run运行体 class AutoSaleTicket implements Runnable {private int ticket 20;public void run() {while (true) {// 循环是指线程不停的去卖票// 当操作的是共享数据时,用同步代码块进行包围起来,这样在执行时,只能有一…

查网站流量的网址上海市建设协会考试网站

大白话 Vue 中的keep - alive组件,它的作用是什么?在什么场景下使用? 什么是 keep-alive 组件 在 Vue 里,keep-alive 是一个内置组件,它就像是一个“保存盒”,能把组件实例保存起来,而不是每次…

网站建设与运营推广的回报材料建筑资质最新政策2023年

hive中row_number() rank() dense_rank()的用法 一、函数说明 主要是配合over()窗口函数来使用的,通过over(partition by order by )来反映统计值的记录。 rank() over()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)dense_rank() …

上海集酷网站河北三河建设厅网站6

模版之过滤器 语法: {{obj|filter__name:param}} 变量名字|过滤器名称:变量 default 如果一个变量是false或者为空,使用给定的默认值。否则,使用变量的值。例如: {{ value|default:"nothing"}} length …

溧阳免费做网站wordpress usermeta

dateformat线程这是有关使用Java编程语言时的拟议实践的系列文章的第一篇。 所有讨论的主题均基于用例,这些用例源于电信行业关键任务超高性能生产系统的开发。 在阅读本文的每个部分之前,强烈建议您参考相关的Java API文档以获取详细信息和代码示例。…

品牌手表网站淘宝指数官网的网址

打开控制面板,搜索“服务”,启动vmware authorize service -------解决无法开启虚拟机问题之无法连接MKS 2.虚拟机硬盘扩展为15G------解决安装centos7时出现的“检查存储配置出错”问题 3.硬盘分区----/boot 300mb(不能小于200mb&#xff0…

为公司制作网站深圳网站制作公司深圳网站制作公司

今天接触到个比较好玩的项目 用的是纯htmljs可以将图片里附着文本或图片 经过网页加工就可以将一些隐秘的信息传入到图片里面去了。 这个功能类似于用一种笔在纸上写字,这种字在正常情况下看不出来,而经过泼水之后就会有字的显现。 这种隐写功能也具…

做视频教学网站免费的域名注册网站

279.完全平方数 力扣题目链接(opens new window) 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n ,返回和为 n 的完全平方数的 最少数…

大学网站建设方案一级a做爰片免费网站国语版的

一.什么是cpu上下文切换 CPU 上下文切换是操作系统在多任务环境下管理进程的一项关键任务。在现代计算机系统中,有多个进程同时运行,每个进程都需要一定的 CPU 时间来执行其任务。由于 CPU 在某一时刻只能执行一个进程的指令,因此操作系统需…

淮南微信网站建设大数据营销案例有哪些

文章目录 1.FFMPEG利用命令行将mp4转yuv4202.ffmpeg将mp4解析为yuv数据2.1 核心api: 3.SDL2进行yuv绘制到屏幕3.1 核心api 4.完整代码5.效果展示 本项目采用生产者消费者模型,生产者线程:使用ffmpeg将mp4格式数据解析为yuv的帧,消费者线程&am…

网站建设制作设计优化汕头网站搜索优化

前言1111 FPGA调试需要抓取特定信号,一个直观的思路是:保存抓取的信号,事后分析/ 或者 导出实测数据,用作后续算法仿真验证。 本文简要记录数据的导出及读取。 一、信号导出 (1)把想要观测的信号线加入在线…