- SP1:基于Plonky3构建的zkVM
mutourend
zkVMzkVM
1.引言SP1为SuccictLab开源的,基于Plonky3构建的zkVM。开源代码见:https://github.com/succinctlabs/sp1(Rust)当前暂未实现onchain-verifier,但会采用标准的STARK->SNARKverifier。SP1zkVM基于的指令集为:riscv32im(与RISCZero的指令集一样)在SP1zkVM中运行某程序之前,需将该程序
- RISC Zero zkVM Host & Guest 101
mutourend
zkVMzkVM
1.引言在RISCZerozkVM应用程序中,host为运行RISCZerozkVM的机器(或系统)。host为不可信agent,负责设置zkVM环境和处理执行过程中的输入输出。host程序(代码),是指:zkVM应用中的host-native、不可信的部分。负责加载guest程序,并为guest程序提供必要的输入。若基于Bonsai构建,则无需编写host代码。zkVM应用中,host负责构建并
- ZK*FM:RISC Zero zkVM的形式化验证
mutourend
zkVMzkVM
1.引言开源代码见:https://github.com/risc0/risc0-lean4(Lean和Rust)ZK*FM为RISCZerozkVM的形式化验证:ZK:Thecomputerrantherightprogram。FM:Theprogramdidtherightthing。ZK*FM:Thecomputerdidtherightthing。可使用FM来证明RISCZero的ZKto
- RISC Zero zkVM guest程序优化技巧 及其 与物理CPU的关键差异
mutourend
zkVMzkVM
1.引言RISCZerozkVM设计并实现为与物理CPU功能类似。从而对于RISCZerozkVMguest程序:可使用通用编程语言(如Rust)和通用工具(如Cargo,LLVM)。通常,也可使用通用优化技术来优化。在RISCZerozkVM的某应用中,guest程序为zkVM待执行和证明的代码。guest应具有reading、writting和committing的基本功能,具体为:1)读取输
- 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1)
mutourend
零知识证明零知识证明
1.引言开源代码实现见:https://github.com/hashcloak/fhe_risc0_zkvm(Rust)https://github.com/weikengchen/vfhe-profiled(Rust)https://github.com/l2iterative/vfhe0(Rust)L2IVResearch团队近期尝试用ZKP来验证FHE,原因在于如下2大应用场景的出现:1)
- Reed-Solomon Codes及其与RISC Zero zkVM的关系
mutourend
zkVMzkVM
1.引言前序博客:Reed-SolomonCodes——RS纠错码Reed-SolomonCodes当前广泛用于:QRcodes二维码Cellularcommunication蜂窝通信STARKs2.简化的Reed-SolomonEncoding(RS编码)所谓encoding(编码),是指:将messages转换为codewords的系统。即:Enc:{messages}→{codewords}
- RISC Zero zkVM架构
mutourend
zkVMzkVM
1.引言RISCZerozkVM为:基于FRI+PLONK构建的采用VonNeumann架构的ZKMachine将RISC-V微控制器具化为某基于STARK的证明系统,的微架构和编码机制。2.Row(Time)Structure一个cycle对应1个memorytransaction,对用户传入的程序elf可执行文件的处理流程为:1)INIT:初始化阶段。有特殊的初始化cycle,用于重置状态。2
- Continuations:扩展RISC Zero zkVM支持(无限)大计算
mutourend
zkVMzkVM
1.引言前序博客:Risc0:使用Continunations来证明任意EVM交易RISCZero在2013年5月的0.15版本中,引入了Continuous机制:移除了证明生成时的“cyclelimit”限制解锁了在RISCZerozkVM中运行EVMinterpreter或WASMinterpreter的能力扩展为可支持(无限)大计算Continuous机制的核心思想为:将execution切
- RISC Zero zkVM 白皮书
mutourend
zkVMzkVM
1.引言RISCZero提供了开源的虚拟机+零知识证明系统,即zero-knowledgevirtualmachine(简称zkVM)。当在zkVM中执行某RISC-V二进制文件时,其输出为:二进制文件执行结果+一个computationalreceipt,提供了计算完整性的零知识证明。RISCZero的证明系统采用zk-STARK,基于以下关键要素:FRI协议DEEP-ALI基于HMAC-SHA
- Risc zero ZKVM:zk-STARKs + RISC-V
mutourend
零知识证明zkVMrisc-v
1.引言Risczero定位为:TheGeneralPurposeZero-KnowledgeVM.ProveanyComputation.VerifyInstantly.开源代码见:https://github.com/risc0/risc0TheRISCZeroZKVMisaverifiablecomputerthatworkslikearealembeddedRISC-Vmicroproce
- RISC0:Towards a Unified Compilation Framework for Zero Knowledge
mutourend
zkVM零知识证明
1.引言本文主要摘自RISC0(RISCZERO)创始人BrianRetford在CompilerandComposabilityinZKP上的演讲内容。2.何为ZKVM?3.密集型计算加速策略4.MLIR参考资料[1]CompilerandComposabilityinZKP
- RISC-V与RISC Zero zkVM的关系
mutourend
zkVMzkVM
1.引言本文基本结构为:编程语言背景介绍RISC-V虚拟机作为zkVM电路为何选择RISC-V?2.编程语言背景介绍高级编程语言不专门针对某个架构,其便于人类编写。高级编程语言代码,经编译器编译后,会生成针对专门某架构的汇编代码,汇编代码是供机器使用的。也可以直接编写汇编代码:以上汇编代码示例中:蓝色框表示:所编码的数据和指令。黄色框:为对蓝色框的反汇编。黑色框:为这些opcodes的位置信息。可
- 针对zkVM中Memory Consistency Checks的Polynomial IOPs
mutourend
zkVMzkVM
1.引言主要参考YuncongZhang等人2023年论文《PolynomialIOPsforMemoryConsistencyChecksinZero-KnowledgeVirtualMachines》。在设计zkvm时,需检查其所有组件的功能一致性,包括:instructionfetcher寄存器文件算术化逻辑单元内存其中最具挑战的技术协议为Memoryconsistencycheck(MCC
- RISC Zero zkVM性能指标
mutourend
zkVMzkVM
1.引言对应代码:https://github.com/risc0/risc0(C++和Rust)运行如下指令,进行性能评估:cargorun-r--exampleloop//CPUcargorun-r-Fmetal--exampleloop//MetalGPUcargorun-r-Fcuda--exampleloop//CUDAGPUcargobench--benchfib//默认为CPU,可配
- zkVM设计性能分析
mutourend
zkVMzkVM
1.引言本文主要参考:2023年9月ZKSummit10WeiDai@1k(x)&TerryChung@1k(x)分享视频ZK10:AnalysisofzkVMDesigns-WeiDai&TerryChung当前有各种zkVM,其设计思想各有不同,且各有取舍,本文重点对现有各zkVM设计进行分析。zkVMs寒武纪大爆发:2020年之前的zkVM方案均是学术性的,不具备实用性,具体有:TinyRA
- Polygon Miden:扩展以太坊功能集的ZK-optimized rollup
mutourend
zkVMzkVM
1.引言PolygonMiden定位为zkVM,定于2023年Q4上公开测试网。zk、zkVM、zkEVM及其未来中指出,当前主要有3种类型的zkVM,括号内为其相应的指令集:mainstream(WASM,RISC-V)EVM(EVMbytecode)ZK-Optimized(专为零知识证明优化的新型指令集,如Cairo的指令集和zkSync的指令集)PolygonMiden为:ZK-optim
- zk、zkVM、zkEVM及其未来
mutourend
zkVM区块链
1.引言zk(zero-knowledge)proof:可保证计算的完整性、正确性和隐私性,在区块链扩容和隐私领域大有可为。zk-SNARK和zk-STARK各具优势,二者结合潜力无穷。zkVM可为应用增加零知识证明,zkVM可以按mainstrem、EVM或新构建的指令集进行分类。EVM兼容性包括EVM兼容性、等价性和规范级兼容性。zkEVM是一个EVM兼容且零知识证明友好的环境。它可以分为基于
- 基于Nova/SuperNova的zkVM
mutourend
zkVMzkVM
1.引言本文为2023年3月13~4月7日ZKSpringResidencyinVietnam上,由PSE团队、OrochiNetwork团队、0xPARC团队、Oskar(独立个人)以及Delv团队联合发布。Nova:借助IncrementalVerifiableComputation(IVC)和foldingscheme,Nova可更高效地执行重复相同的代码块。Nova采用的安全假设为GLOG
- Research Day 2023:Succinct ZKP最新进展
mutourend
零知识证明零知识证明
1.引言主要见YingTong在ResearchDay2023上视频分享:AdvancesintheEfficiencyofSuccinctProofs-YingTongZKP技术可用于:1)Verifiablevirtualmachine:如各种zkEVM和zkVM。2)verifiablecloudcomputing:2015年论文《ClusterComputinginZeroKnowledg
- zkLLVM:nil Foundation开发的电路编译器
mutourend
零知识证明零知识证明
1.引言zkLLVM:nilFoundation开发的电路编译器,不是zkVM。不过,“zkLLVM+proofmarket”可构建zkVM。开源代码见:zkLLVMCircuitCompiler(C++)zkLLVM可:将高级编程语言编写的电路编译为LLVMIR(IntermediateRepresentation)bytecode表示;当前支持C/C++(Clang15),即将支持Rust语言
- 智能合约开发——Sui/Move vs. Solana/Rust
mutourend
智能合约智能合约
1.引言前序博客有:zkMove——针对Move合约生态的zkVM定位为高性能L1的Aptos和Sui,均采用Move合约编程语言。Solana也定位为高性能L1,但其采用Rust合约编程语言。本文重点对比Sui/Move和Solana/Rust合约编程语言。【Aptos/Move为不同的Move变种,有细微的差别。不过只要原生支持Movebytecode,则所有主要Move优势适于所有Move变
- zkMove——针对Move合约生态的zkVM
mutourend
zkVM零知识证明
1.引言Move为不同于Solidity的,开源的安全的智能合约开发语言,最早由Facebook为Diem链创造开发。不过,Move本身设计为与平台无关的语言,具有通用的库、工具,并使得采用完全不同数据模型和执行模型的链的开发者社区都可使用Move。当前支持Move合约的链有:Sui:定位为具有高吞吐量、低延迟、面向资产编程模式的下一代智能合约平台,采用Move语言进行合约开发。当前处于devne
- BulletproofVM:Avalanche上的zkVM
mutourend
zkVM零知识证明
1.引言开源代码见:https://github.com/usmaneth/BulletproofVM(Rust)BulletproofVM为Avalanche上的基于Bulletproofs证明系统构建的zkVM,其主要特性为:MaintainsastateconsistingofaccountswithbalancesandassetsExecutesstandardtransactionsf
- js动画html标签(持续更新中)
843977358
htmljs动画mediaopacity
1.jQuery 效果 - animate() 方法 改变 "div" 元素的高度: $(".btn1").click(function(){ $("#box").animate({height:"300px
- springMVC学习笔记
caoyong
springMVC
1、搭建开发环境
a>、添加jar文件,在ioc所需jar包的基础上添加spring-web.jar,spring-webmvc.jar
b>、在web.xml中配置前端控制器
<servlet>
&nbs
- POI中设置Excel单元格格式
107x
poistyle列宽合并单元格自动换行
引用:http://apps.hi.baidu.com/share/detail/17249059
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:
先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder = wb.
- jquery 获取A href 触发js方法的this参数 无效的情况
一炮送你回车库
jquery
html如下:
<td class=\"bord-r-n bord-l-n c-333\">
<a class=\"table-icon edit\" onclick=\"editTrValues(this);\">修改</a>
</td>"
j
- md5
3213213333332132
MD5
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MDFive {
public static void main(String[] args) {
String md5Str = "cq
- 完全卸载干净Oracle11g
sophia天雪
orale数据库卸载干净清理注册表
完全卸载干净Oracle11g
A、存在OUI卸载工具的情况下:
第一步:停用所有Oracle相关的已启动的服务;
第二步:找到OUI卸载工具:在“开始”菜单中找到“oracle_OraDb11g_home”文件夹中
&
- apache 的access.log 日志文件太大如何解决
darkranger
apache
CustomLog logs/access.log common 此写法导致日志数据一致自增变大。
直接注释上面的语法
#CustomLog logs/access.log common
增加:
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-d.log 
- Hadoop单机模式环境搭建关键步骤
aijuans
分布式
Hadoop环境需要sshd服务一直开启,故,在服务器上需要按照ssh服务,以Ubuntu Linux为例,按照ssh服务如下:
sudo apt-get install ssh
sudo apt-get install rsync
编辑HADOOP_HOME/conf/hadoop-env.sh文件,将JAVA_HOME设置为Java
- PL/SQL DEVELOPER 使用的一些技巧
atongyeye
javasql
1 记住密码
这是个有争议的功能,因为记住密码会给带来数据安全的问题。 但假如是开发用的库,密码甚至可以和用户名相同,每次输入密码实在没什么意义,可以考虑让PLSQL Developer记住密码。 位置:Tools菜单--Preferences--Oracle--Logon HIstory--Store with password
2 特殊Copy
在SQL Window
- PHP:在对象上动态添加一个新的方法
bardo
方法动态添加闭包
有关在一个对象上动态添加方法,如果你来自Ruby语言或您熟悉这门语言,你已经知道它是什么...... Ruby提供给你一种方式来获得一个instancied对象,并给这个对象添加一个额外的方法。
好!不说Ruby了,让我们来谈谈PHP
PHP未提供一个“标准的方式”做这样的事情,这也是没有核心的一部分...
但无论如何,它并没有说我们不能做这样
- ThreadLocal与线程安全
bijian1013
javajava多线程threadLocal
首先来看一下线程安全问题产生的两个前提条件:
1.数据共享,多个线程访问同样的数据。
2.共享数据是可变的,多个线程对访问的共享数据作出了修改。
实例:
定义一个共享数据:
public static int a = 0;
- Tomcat 架包冲突解决
征客丶
tomcatWeb
环境:
Tomcat 7.0.6
win7 x64
错误表象:【我的冲突的架包是:catalina.jar 与 tomcat-catalina-7.0.61.jar 冲突,不知道其他架包冲突时是不是也报这个错误】
严重: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.dep
- 【Scala三】分析Spark源代码总结的Scala语法一
bit1129
scala
Scala语法 1. classOf运算符
Scala中的classOf[T]是一个class对象,等价于Java的T.class,比如classOf[TextInputFormat]等价于TextInputFormat.class
2. 方法默认值
defaultMinPartitions就是一个默认值,类似C++的方法默认值
- java 线程池管理机制
BlueSkator
java线程池管理机制
编辑
Add
Tools
jdk线程池
一、引言
第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
- 关于hql中使用本地sql函数的问题(问-答)
BreakingBad
HQL存储函数
转自于:http://www.iteye.com/problems/23775
问:
我在开发过程中,使用hql进行查询(mysql5)使用到了mysql自带的函数find_in_set()这个函数作为匹配字符串的来讲效率非常好,但是我直接把它写在hql语句里面(from ForumMemberInfo fm,ForumArea fa where find_in_set(fm.userId,f
- 读《研磨设计模式》-代码笔记-迭代器模式-Iterator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.Arrays;
import java.util.List;
/**
* Iterator模式提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象内部表示
*
* 个人觉得,为了不暴露该
- 常用SQL
chenjunt3
oraclesqlC++cC#
--NC建库
CREATE TABLESPACE NNC_DATA01 DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPA
- 数学是科学技术的语言
comsci
工作活动领域模型
从小学到大学都在学习数学,从小学开始了解数字的概念和背诵九九表到大学学习复变函数和离散数学,看起来好像掌握了这些数学知识,但是在工作中却很少真正用到这些知识,为什么?
最近在研究一种开源软件-CARROT2的源代码的时候,又一次感觉到数学在计算机技术中的不可动摇的基础作用,CARROT2是一种用于自动语言分类(聚类)的工具性软件,用JAVA语言编写,它
- Linux系统手动安装rzsz 软件包
daizj
linuxszrz
1、下载软件 rzsz-3.34.tar.gz。登录linux,用命令
wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz下载。
2、解压 tar zxvf rzsz-3.34.tar.gz
3、安装 cd rzsz-3.34 ; make posix 。注意:这个软件安装与常规的GNU软件不
- 读源码之:ArrayBlockingQueue
dieslrae
java
ArrayBlockingQueue是concurrent包提供的一个线程安全的队列,由一个数组来保存队列元素.通过
takeIndex和
putIndex来分别记录出队列和入队列的下标,以保证在出队列时
不进行元素移动.
//在出队列或者入队列的时候对takeIndex或者putIndex进行累加,如果已经到了数组末尾就又从0开始,保证数
- C语言学习九枚举的定义和应用
dcj3sjt126com
c
枚举的定义
# include <stdio.h>
enum WeekDay
{
MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay
};
int main(void)
{
//int day; //day定义成int类型不合适
enum WeekDay day = Wedne
- Vagrant 三种网络配置详解
dcj3sjt126com
vagrant
Forwarded port
Private network
Public network
Vagrant 中一共有三种网络配置,下面我们将会详解三种网络配置各自优缺点。
端口映射(Forwarded port),顾名思义是指把宿主计算机的端口映射到虚拟机的某一个端口上,访问宿主计算机端口时,请求实际是被转发到虚拟机上指定端口的。Vagrantfile中设定语法为:
c
- 16.性能优化-完结
frank1234
性能优化
性能调优是一个宏大的工程,需要从宏观架构(比如拆分,冗余,读写分离,集群,缓存等), 软件设计(比如多线程并行化,选择合适的数据结构), 数据库设计层面(合理的表设计,汇总表,索引,分区,拆分,冗余等) 以及微观(软件的配置,SQL语句的编写,操作系统配置等)根据软件的应用场景做综合的考虑和权衡,并经验实际测试验证才能达到最优。
性能水很深, 笔者经验尚浅 ,赶脚也就了解了点皮毛而已,我觉得
- Word Search
hcx2013
search
Given a 2D board and a word, find if the word exists in the grid.
The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or ve
- Spring4新特性——Web开发的增强
jinnianshilongnian
springspring mvcspring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- CentOS安装配置tengine并设置开机启动
liuxingguome
centos
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
Ubuntu上可以这样安装
sudo aptitude install libdmalloc-dev libcurl4-opens
- 第14章 工具函数(上)
onestopweb
函数
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Xelsius 2008 and SAP BW at a glance
blueoxygen
BOXelsius
Xelsius提供了丰富多样的数据连接方式,其中为SAP BW专属提供的是BICS。那么Xelsius的各种连接的优缺点比较以及Xelsius是如何直接连接到BEx Query的呢? 以下Wiki文章应该提供了全面的概览。
http://wiki.sdn.sap.com/wiki/display/BOBJ/Xcelsius+2008+and+SAP+NetWeaver+BW+Co
- oracle表空间相关
tongsh6
oracle
在oracle数据库中,一个用户对应一个表空间,当表空间不足时,可以采用增加表空间的数据文件容量,也可以增加数据文件,方法有如下几种:
1.给表空间增加数据文件
ALTER TABLESPACE "表空间的名字" ADD DATAFILE
'表空间的数据文件路径' SIZE 50M;
&nb
- .Net framework4.0安装失败
yangjuanjava
.netwindows
上午的.net framework 4.0,各种失败,查了好多答案,各种不靠谱,最后终于找到答案了
和Windows Update有关系,给目录名重命名一下再次安装,即安装成功了!
下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=17113
方法:
1.运行cmd,输入net stop WuAuServ
2.点击开