零知识证明平台libsnark的搭建过程(超详细,失败了十几次最终成功)

   由于论文需要使用零知识证明,经过从网上查找资料,感觉libsnark现在比较流行,所以进行搭建,但是本人比较菜,搭建

了差不多一周左右,前后搭建了十几次,ubuntu系统安装了5个,反正各种的问题,其实过程是简单的,但是就是会遇到问题,最终搭建好了,我把详细的过程说一下,有图讲解,直接复制,按照步骤来肯定可以,如果大家又什么问题,欢迎留言。
本人之间参照博客上的其它几篇文章,结果老是出错,最终还是完成了。
@TOC **首先的配置信息:**

电脑我用的虚拟机,且win10,这个没多大用
linux我用的是ubuntu 20.4.1这个很重要,大家一定要看清楚自己的版本,因为下面有一个步骤版本不一样,执行过程是不一样的
   下面我来讲解一下步骤(*由于我的是新安装的虚拟机,所以从头开始,如果有人装过一些东西,可以跳过*):

1.准备github环境

  因为libsnark需要从github上面克隆下来,所以必须准备github环境,如果你们已经做好了,这一步可以跳过,说一下,前面的这几步是按照博客https://blog.csdn.net/m0_37592397/article/details/78664757上面来的,用到了一部分。
  安装之前需要先去github官网申请一下账号,这个没多大难处,注册一下就好了,注册完成之后,下面是大头。

(1)安装ssh:sudo apt-get install openssh-server openssh-client
在这里插入图片描述
(2)启动ssh服务:sudo /etc/init.d/ssh restart
在这里插入图片描述
(3)安装git服务器:sudo apt-get install git-core
在这里插入图片描述
(4)本地生成ssh公钥:ssh-keygen -C ‘你的邮箱地址’ -t rsa

      注:需要输入你的注册的那个邮箱地址才行(**下面的这个qq是假的,别加**)。

在这里插入图片描述
(5)使用如下命令会进入到密钥的那个文件中,然后复制

   注:路径一定要正确,是在**~/.ssh**文件夹下面。

在这里插入图片描述
打开之后,把下面文件内容复制。
在这里插入图片描述
打开github官网,登录进去,然后点击Your organizations
在这里插入图片描述
之后点击SSH and GPG keys
在这里插入图片描述
点击添加新的ssh,随便起个标题,再把之前复制的东西粘贴上去,点击Add SSH key。
在这里插入图片描述
之后返回ubuntu,输入ssh -T git@github.com,如果出现你的账号名就证明成功了!
在这里插入图片描述

2.我们需要把libsnark从github上面克隆下来

(1)先建个文件夹来放我们克隆的东西
在这里插入图片描述
(2)克隆,执行命令git clone --recursive git@github.com:StarLI-Trapdoor/libsnark_sample.git
注:不要使用git clone https://github.com/StarLI-Trapdoor/libsnark_sample.git命令,虽然都是克隆的意思,但是上面那个是克隆完整的文件,下面这个只是克隆一部分,我就是被害惨的那一个
接下来大家静静等待即可。
在这里插入图片描述
至此,克隆完成。
在这里插入图片描述

3.这一段大家什么都不需要做,我来讲解一下。

大家看一下面这张图片,这是libsnark官网,大家可以打开看看,大家看一下下面的那几个sudo语句,我来解释一下意思。
在这里插入图片描述
因为libsnark环境要想搭建成功,需要一些其它的安装包。但是我们的ubuntu版本是不一样的,比如我的是ubuntu 20.4.1版本的,在座的各位绝对有其它版本的
大家在开始之前先看一下自己的ubuntu版本,因为版本不一样,接下来的这一步就是不一样的,懂了吗???

4.大家的ubuntu版本号不一样,执行的语句是不一样的。

如果大家和我的一样属于上图中的18.04-20.04版本的,就执行第一条语句,懂了吗?
就执行sudo apt install build-essential cmake git libgmp3-dev libprocps-dev python3-markdown libboost-program-options-dev libssl-dev python3 pkg-config
如果大家的版本属于16.04的,那么就执行sudo apt-get install build-essential cmake git libgmp3-dev libprocps4-dev python-markdown libboost-all-dev libssl-dev
如果大家的版本属于14.04的,就执行sudo apt-get install build-essential cmake git libgmp3-dev libprocps3-dev python-markdown libboost-all-dev libssl-dev
我的是20.04版本的,所以我执行第一个语句,如下图所示
在这里插入图片描述
注:一定要事先看看自己的ubuntu版本,因为我十几次都是死在这个上面。

5.接下来我们搭建build环境。

(1)我们需要进入我们之前克隆的那个包,执行git submodule update --init --recursive。
在这里插入图片描述
(2)然后我们需要建一个build包,执行命令mkdir build,这样我们就在libsanrk_sample下面建了一个build包。
在这里插入图片描述
(3)之后我们执行cd build,进入build包,再执行cmake …命令。
在这里插入图片描述
如果出现最后这一句Build files have been 布拉布拉,就说明成功了。
在这里插入图片描述
(4)执行make命令
在这里插入图片描述
达到100%,环境就搭建好了。
在这里插入图片描述
(5)之后我们执行make doc,有错误,不影响的,大家看看,我的也有,所以没事。
在这里插入图片描述
(6)执行make check命令。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ok,至此完成。
在这里插入图片描述

(7)之后我们来试一下,我们搭建的这个环境能不能用。
我们进入build下面的那个merkle包,cd merkle
在这里插入图片描述
之后执行./merkle setup初始化命令。
在这里插入图片描述
最后出现这个。
在这里插入图片描述
之后我们输入如下图所示的语句./merkle prove 111 22 33 44 55 66 77 88 3,然后回车,零知识证明开始启动。
在这里插入图片描述
在这里插入图片描述
(8)大家把上面的root复制下来
在这里插入图片描述
(9)我们来verify一下。
执行./merkle verify 你复制的root根的值
在这里插入图片描述
我们可以看到证明通过了。
在这里插入图片描述
(10)如果我们稍微修改一下root根的值,那么肯定通过不了。
大家看一下我把root根最后少了个0a,结果验证 failed!
说明我们的过程没有问题,至此,libsanrk搭建全部完成!!!

在这里插入图片描述

libsnark的安装可以按照以下步骤进行: 1. 首先,在你想要建立libsnark文件夹的位置,比如在Desktop上,使用命令行进入该位置并创建文件夹。例如,使用命令`cd Desktop`进入Desktop文件夹,然后使用命令`mkdir libsnark`创建libsnark文件夹。\[1\] 2. 进入libsnark文件夹,使用命令`cd libsnark`。\[1\] 3. 根据你的Ubuntu版本执行相应的命令来安装所需的依赖项。如果你的版本是18.04-20.04,执行命令`sudo apt install build-essential cmake git libgmp3-dev libprocps-dev python3-markdown libboost-program-options-dev libssl-dev python3 pkg-config`。如果你的版本是16.04,执行命令`sudo apt-get install build-essential cmake git libgmp3-dev libprocps4-dev python-markdown libboost-all-dev libssl-dev`。如果你的版本是14.04,执行命令`sudo apt-get install build-essential cmake git libgmp3-dev libprocps3-dev python-markdown libboost-all-dev libssl-dev`。\[3\] 4. 安装子模块ate-pairing,可以参考官方文档或博客中的指南。\[2\] 5. 搭建build环境,具体步骤可以参考官方文档或博客中的指南。\[2\] 请注意,根据你的具体情况和Ubuntu版本,可能需要进行一些调整。确保在安装过程中遵循指南中的步骤,并根据需要进行必要的更改。 #### 引用[.reference_title] - *1* *2* [零知识证明C++库libsnark的安装经验](https://blog.csdn.net/matlabdd1/article/details/123637302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [零知识证明平台libsnark搭建过程详细失败十几次最终成功)](https://blog.csdn.net/weixin_44565944/article/details/112250664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值