zcash windowszcash挖矿软件 地址怎么看

LOADING...
LOADING...
> Zcash挖矿教程 匿名区块链项目Zcash挖矿教程分享
Zcash挖矿教程 匿名区块链项目Zcash挖矿教程分享
  挖矿专栏文章:
  一文帮你读懂Zcash:
  现在在仍然是测试版,Zcash钱包仅仅可以在Linux使用,这个简易教程是指零基础学习Zcash挖矿教程。
  如果你有linux基础,请从linux部分看起,如果是Windows,装个最新的VM虚拟机,下载地址:/。下载最新Ubuntu,地址:/download/desktop。我用Ubuntu是因为对新手来说比较好入门。
  Linux部分:
  如果到不了这里建议还是不要挖了,我假设你已经安全到达这里了,这是Ubuntu桌面:
  Ubuntu桌面
  点击左侧任务栏最上面的图标:
  跟windows的运行栏类似,输入&terminal& 你会看到这个程序:
  跟Windows的CMD类似。
  在terminal上输入
  sudo apt-get upgrade
  sudo apt-get update
  要花一会时间来更新,耐心等待
  更新完后可以参考:/zcash/zcash/wiki/Public-Alpha-Guide
  继续开始,更新Zcash安装环境,继续输入:
  sudo apt-get install \
  build-essential pkg-config libgtest-dev libc6-dev m4 \
  g++-multilib autoconf libtool ncurses-dev unzip git python \
  zlib1g-dev wget bsdmainutils automake
  下载Zcash,继续输入:
  git clone /zcash/zcash.git
  运行fetch-params.sh,继续输入:
  cd zcash/
  git checkout v0.11.2.z9
  ./zcutil/fetch-params.sh
  软件不小,最少硬盘和内存空间要大点才好运行,虚拟机不要少于8GB。
  编译:
  ./zcutil/build.sh -j$(nproc)
  测试:
  ./qa/zcash/full-test-suite.sh
  RPC测试:
  ./qa/pull-tester/rpc-tests.sh
  运行:
  在当前文件夹下创建一个&.zcash&的文件夹,在建之前按CTRL+H可以显示所有隐藏文件。在&.zcash&的文件夹内建一个空文档,命名为zcash.conf,在里面输入:
  testnet=1
  addnode=alphatestnet.z.cash
  rpcuser=username
  rpcpassword=password
  zcash.conf配置文件建好后就可以运行zcash了,输入:
  ./src/zcashd -daemon
开始挖矿:
  想要挖矿在前面配置zcash.conf文件加一行:
  关闭zcash:
  ./src/zcash-cli stop
  打开zcash:
  ./src/zcashd -daemon
  这是挖到矿的页面:
  挖到Zcash的交易界面
  至此开关zcash和挖矿大家都会了,想学高级命令可以和我们联系!QQ群:
币圈大佬都在关注!
编译者/作者:zcashfans
玩币族申明:我们将尊重作者/译者/网站的版权,促进行业健康发展,如有错误或不完整之处请与我们联系。
LOADING...
相关阅读:
LOADING...
LOADING...LOADING...
LOADING...
> Zcash技术分析:zcash币挖矿教程,Zcash算法等介绍
Zcash技术分析:zcash币挖矿教程,Zcash算法等介绍
  挖矿系列文章:
  Zcash是bitcoin的分支,保留了bitcoin原有的模式,基于0.11.2版代码修改的。Zcash钱包资金分2种:透明资金、私有资金,透明资金类似资金;私有资金加强了隐私性,涉及到私有资金的交易是保密不可查的,透明资金与透明资金的交易是公开可查的。
  Zcash被称为零币,与&灵&同音,不好听,且有归零的感觉,统一称为Z币。Zcash主链的币叫ZEC,等同于BTC,测试链的币称为TAZ。
  目前zcash仅支持linux系统(推荐ubuntu),不支持Windows、MAC,且只支持命令行,没有图形界面(zcash团队没人擅长GUI)。
  Zcash中含有2种地址,实现bitcoin和zcash的兼容。
  1、 透明资金地址taddr
  类bitcoin地址,保存在UTXOs中,长度为34位。
  命令./src/zcash-cli getnewaddress可以生成新的taddr地址。
  例如:msFgKsVAia4aFB1qFGX7iJ3XjMZv6c26Ab
  2、 私有资金地址zaddr
  保存在notes对象中,长度为96位,前2位为标记,主链地址前2位是&zc&,spendingkey的前2位是&SK&,测试链的地址前2位是&tn&。
  notes对象是加密的,解密才能查看,用的是chacha20-poly1305算法。
  命令./src/zcash-cli z_getnewaddress可以生成新的zaddr地址。
  例如:tngBSug9xvpqudziMc3QbfReHG6BeufHDbv4vEZDmnYqSpRbqu5USZqBTXENQGdUbYMkxqHbb9j3RmE r7Lza8q7hbTQxZnM
  具体生成过程看z_getnewaddress函数。
  命令z_listaddresses获取节点钱包中的zaddr列表。
  命令./src/zcash-cli zcrawkeygen可以查看地址、key等。
  地址taddr实现了原有的bitcoin的功能,zaddr实现了zcash的功能。
  taddr可以发送交易给taddr、zaddr,zaddr可以发送交易给taddr、zaddr。taddr与taddr的交易是透明可查的,涉及到zddr的交易就保密了。
  零证明
  零知识证明是在不泄漏信息的情况下,生成证明,验证者通过验证证明确定是否正确。
  Zcash使用了SCIPR实验室的零知识证明库libsnark,在此基础上做了修改。Zcash团队成员包含多个libsnark开发人员(不是全部)。修改如下:
  1、 libsnark支持4种语言:&R1CS&、&BACS&、&USCS&、&TBCS&,zcash使用了&R1CS&。
  2、 libsnark支持3种椭圆曲线:&edwards&、&bn128&、&alt_bn128&,zcash使用了&alt_bn128&。
  3、 libsnark支持2个库:gadgetlib1、gadgetlib2,zcash使用了gadgetlib1,gadgetlib1是底层库,支持所有的R1CS预处理特征。
  SCIPR实验室的libsnark:
  Zcash修改后的libsnark:
  当zcash交易涉及到私有资金时,使用零知识证明生成证明(函数r1cs_ppzksnark_prover),保存到类JSDescription的proof中,校验交易时校验证明(函数r1cs_ppzksnark_verifier_strong_IC)。
  libsnark看了看,知道怎么用的,但详细的也没看懂。
  零知识证明白皮书:
  透明资金发送到透明资金地址,可以调用bitcoin的RPC命令发送交易,涉及到私有资金、地址,只能用zcash的RPC命令了,目前是z_sendmany命令。
  格式:
  z_sendmany &fromaddress& [{&address&:... ,&amount&:...},...]
  交易分3种情况:
  1、 透明资金发送到透明地址
  延用bitcoin的交易方式,仅仅打签名即可。
  2、 透明资金发送到透明地址、私有地址
  透明资金发送到透明地址,依然延用bitcoin的方式,发送到私有地址的需要构造证明,对整个交易签名发送。
  3、 私有资金发送到透明地址、私有地址
  每笔交易需要生成证明,涉及到找零、矿工费的处理,最后再签名发送。
  交易中的透明地址、私有地址的输入、输出是不同的结构,涉及到私有地址的采用了新增的结构(JSInput、JSOutput),涉及到的私有地址的数据需要先签名解密解析数据。
  详细过程参考函数z_sendmany:
  生成证明参考函数perform_joinsplit:
  交易签名
  Zcash私有资金交易时,不仅仅依靠零知识证明,而且对交易打签名,采用了ed25519算法。
  zcash交易的零知识证明、签名需要的公钥、密钥使用ed25519算法生成的,详细参考函数crypto_sign_keypair。
  签名参考函数sign_send_raw_transaction。
  挖矿算法
  Zcash的挖矿算法是EquiHash,理论依据是广义生日悖论,目前有2个实现:BasicSolve、OptimisedSolve,BasicSolve主要用于测试用例,现在用的OptimisedSolve是优化后的,但依然存在优化空间。
  EquiHash算法需要高内存,最优算法每个挖矿线程需要1G内存,短时间内很难出现低成本的矿机。
  Zcash使用EquiHash计算解决方案,保存到区块头的nSolution,接收区块时校验。
  BasicSolve实现:
  OptimisedSolve实现:
  块奖励
  zcash总量是2100万个币,每隔2.5分钟出一个块,每天576个块。
  区块奖励分2个阶段:
  1、 慢慢开始挖矿阶段
  为了照顾在开始阶段不懂挖矿的,zcash采用了慢慢开始挖矿机制,前20000个块的奖励比较少,线程递增到12.5个币。
  慢慢开始挖矿阶段也分2个阶段:
  (1) 前10000个块,
  块1的奖励是0.000625币,随着高度线性递增,增加幅度是0.000625币,块9999的奖励是6.249375币。
  (2) 块1
  块10000的奖励是6.250625,随着高度线性递增,增加幅度是0.000625币,块19999的奖励是12.5币。
  前20000个块的奖励总量是125000币,相当于10000个块奖励是12.5个币的总量。产生10000个块需要的时间大约是17.3天,缓慢挖矿的时间周期(20000个块)大约是34.7天。
  2、 正常块奖励
  从块20000开始,奖励是12.5个币,奖励按照每840000个块(每4年)减半,计算块奖励时块高度减少10000,即940000块是第一次减半,每隔840000个块减半,以此类推。
  不懂挖矿的矿工也不必着急,因为即使懂了,前20000个块的奖励很少,有1个月的时间搞定挖矿。
  创始人奖励
  前4年(区块0~840000)产生的区块奖励的20%归zcash公司(总量的10%),80%归矿工。4年后的区块奖励全部归矿工。
  创建区块时,构造2个输出,分别给矿工、创始人,当广播区块后,其他节点接受区块时,检验区块有效性,当高度小于840000时,检验是否有对创始人的20%的输出。
  创始人奖励地址采用2/3多重签名FOUNDERS_REWARD_SCRIPT。
  难度调整
  每产生一个区块都需要重新计算难度,难度计算基于前17个块(42.5分钟),前17个区块的难度是固定的(powLimit),从第18个区块开始调整难度,最大值是powLimit。
  详细计算过程参考GetNextWorkRequired函数。
  Bitcoin是每隔2016个块调整难度,关于zcash的每个块都要重新调整难度,有个讨论,参考:
  CoinBase保护
  矿工挖矿的奖励不能直接发送给透明资金地址,只能发送给私有资金地址,然后才可以发送给透明资金地址。
  币成熟期是100。
  创建新块
  Zcash每个挖矿线程都有自己的地址、计数器,每个线程挖出来的新块的块奖励的地址是不同的,做矿池的需要注意,改成一个地址。
  参考函数BitcoinMiner(
  区块大小是2M。
  挖矿工具
  Zcash目前仅支持CPU挖矿,GPU的挖矿工具在研发中,尚未有人公开。
  zcash支持2种挖矿方式:solo、矿池。
  1、 Solo挖矿
  在zcash.conf设置gen=1,启动zcashd即可挖矿。
  2、 矿池
  Zcash开发者str4d做了个矿池和挖矿工具,矿池地址:
  zcash-miner是zcash的分支,主要添加了stratum协议、cpu挖矿。
  (1) stratum协议
  采用了cpp-ethereum的stratum的实现,V2版,做了些修改,移除了eth协议中的命令。
  参考commit:
  (2) cpu挖矿
  把equihash算法做了些修改,接受矿池下发的难度来计算。
  参考文件standaloneminer.cpp。
  参数文件
  Zcash有2个参数文件,包含了证明、验证key,分别是:z9-proving.key、z9-verifying.key,在~/.zcash-params目录下。z9-proving.key大概900M,z9-verifying.key大约14K。使用./zcutil/fetch-params.sh可以下载这2个文件。
  程序启动初始化时(AppInit2),读取这2个文件中的证明、验证key,生成证明时需要证明key,验证证明时需要验证key。
  API和RPC
  Zcash保留了bitcoin的API、RPC,涉及到透明资金、地址的可以使用bitcoin的接口,涉及到私有资金、地址的只能用zcash新增的接口。
  Zcash新增的接口包括查询余额、生成地址、发送交易等,如下:
  & Accounting: z_getbalance, z_gettotalbalance
  & Addresses : z_getnewaddress, z_listaddresses
  & Keys : z_exportkey, z_importkey, z_exportwallet, z_importwallet
  & Operation: z_getoperationresult, z_getoperationstatus, z_listoperationids
  & Payment : z_listreceivedbyaddress, z_sendmany
  详细信息参考文档
  挖矿硬件
  EquiHash白皮书讲了2点:
  1、 GPU比CPU快4倍,
  2、 ASIC是否可能实现
  详细信息参考白皮书第10页。
  加密库
  Zcash使用了开源加密库libsodium(
  chacha20-poly1305算法:
  blake2b算法:
  ed25519算法:
  保护隐私技术比较
  目前市场上有3种保护隐私的币,分别是达世币DASH、门罗币XMR、Z币Zcash。
  1、 达世币(暗黑币改名叫达世币)
  DASH采用的混币CoinJoin的方案,把一些交易混合在一起,增加追踪的难度。
  CoinJoin参考DASH币白皮书
  2、 门罗币XMR
  XMR采用了环签名,签名者利用自己的私钥以及环成员的公钥进行签名,验证者只能确定该签名来自环中的某个成员,但无法确定签名者的真实身份。
  参考文档
  3、 Z币
  Zcash的交易采用了零知识证明,隐藏交易信息。
  这3种技术相比较来看,zcash的隐私保护性更好。
  1、 zcash目前是由公司开发的,公司具有绝对的话语权,后续公司会成立基金会,zcash的开发交给基金会推进。如果zcash社区与公司、基金会出现意见分歧,而代码是开源的,可以硬分叉。
  比如:有人对创始人奖励不满意,已经提议去掉创始人奖励。
  2、 zcash的顾问包括:前任比特币核心开发人员Gavin、eth创始人Vitalik Buterin,zcash的发展会受到这2个人的影响。
  比如:区块大小2M源于bitcoin classic。
  参考Github:
  zcash的有些技术点,我也一知半解,如果有不对的地方请指出来,对zcash技术有兴趣的可以加入QQ群一起讨论。()
  作者:龙少
  微博:007龙少
  BTC打赏地址:3Eg3A5tVK3TRyetYfkk7ASasFdbzuMHVHc
币圈大佬都在关注!
编译者/作者:龙少
玩币族申明:我们将尊重作者/译者/网站的版权,促进行业健康发展,如有错误或不完整之处请与我们联系。
LOADING...
相关阅读:
LOADING...
LOADING...Zcash零币挖矿教程Windows系统N卡 - 简书
Zcash零币挖矿教程Windows系统N卡
Zcash零币挖矿教程Windows系统N卡。最近Zcash零币由1600元一个币升价到3000元一个币。假如你想用电脑赚点钱,可以加入挖矿队列里面准备一台有N卡的电脑,作者是6张N卡的1070显卡组成,大约有430*6 的算力一台。1.先在Zcash零币交易网站注册一个账号,获得属于你的零币Zec地址。点击这个链接注册。
2.注册之后,在刚才的网站点击“我的账号”,选择Zcash Zec,点击“充值”,稍等一会儿,就会看到专属你的Zcash 钱包地址,t1开头的一串字母和数字。复制钱包的地址,用文本存储到电脑或者手机上面,以后用到。我的Zcash地址是t1UfxBS54canaAEAPLHP6EVNAPcTWdA8Yec ,假如你觉得这篇文章帮到你可以打款到这个地址。
3.电脑下载Zcash零币挖矿的软件,我上传到网盘:
4.解压刚才的挖矿软件,替换你的Zcash 钱包地址,然后就可以挖矿了。默认选星火中国的矿池,扣手续费小点。
5.点击界面上面的“查看矿产算力”,就可以看到你的收益,6张1070显卡收益大概一天是200人民币一天。最后要设置达到多少收益就让矿池给你转账,一般是0.02Zec 。还有填邮箱地址,还有你的公网IP,百度搜索ip就可以知道你的公网ip,填上就可以了,再保存。
6.假如挖了一两天之后,矿池会自动转账到你的Zcash钱包地址,你就可以到步骤一的Bter 交易网站进行交易,网址: 。到我的账号,选择Zcash,选择适当的价格卖出。成功卖出之后就可以提现人民币到你的银行卡。
教程结束,不懂可以加微信问我:
长期关注比特币,以太币,区块链投资。数字货币玩家,矿工。CNY Markets
BTC Markets
ETH Markets
ETH/CNY1994.60 &+20.88 %QTUM/CNY72.95 &+39.48 %LTC/CNY457.08 &+20.33 %BTC/CNY27180.00 &+12.58 %OMG/CNY68.00 &+48.63 %PAY/CNY18.80 &+34.29 %ETC/CNY110.40 &+20.32 %SNT/CNY0.2050 &+28.13 %BCC/CNY3396.40 &+21.98 %BTS/CNY0.7890 &+33.28 %STORJ/CNY3.80 &+33.38 %CVC/CNY2.44 &+38.64 %XRP/CNY1.36 &+20.39 %ZEC/CNY1411.58 &+19.24 %DOGE/CNY0.0123 &+17.64 %ZRX/CNY1.50 &+35.14 %BAT/CNY1.37 &+47.68 %TNT/CNY0.7000 &+7.03 %XMR/CNY711.29 &+35.46 %NXT/CNY0.6003 &+45.42 %DASH/CNY1990.02 &+22.16 %DNT/CNY0.4400 &+38.36 %XPM/CNY2.15 &+51.24 %IFC/CNY0.000399 &+89.07 %XEM/CNY1.81 &+21.71 %XTC/CNY0.0373 &+18.79 %FTC/CNY0.3310 &+7.82 %NMC/CNY11.14 &+33.41 %REP/CNY125.60 &+10.54 %PPC/CNY10.70 &+32.92 %XCP/CNY124.00 &+39.33 %TIX/CNY0.0000710 &+41.72 %TIPS/CNY0.0000650 &+61.29 %BTM/CNY0.4490 &+0.00 %CNC/CNY0.0417 &+0.00 %DOC/CNY0.2270 &+0.00 %EOS/CNY6.52 &+0.00 %ETP/CNY12.93 &+0.00 %ICO/CNY1.59 &+0.00 %LLT/CNY0.4100 &+0.00 %LRC/CNY0.3580 &+0.00 %PST/CNY1.17 &+0.00 %
0.0721 &+4.46 %BTM/BTC0.0000124 &-51.18 %QTUM/BTC0.002739 &+35.26 %LTC/BTC0.0170 &+4.87 %PST/BTC0.0000207 &-10.00 %MG/BTC0.0000015 &-16.67 %BCC/BTC0.1260 &+7.69 %EOS/BTC0.000169 &-3.76 %DOGE/BTC0. &+9.76 %SNT/BTC0.0000081 &+37.29 %ZEC/BTC0.0517 &+4.23 %OMG/BTC0.002599 &+51.99 %XMR/BTC0.0245 &-11.76 %BTS/BTC0.0000320 &+9.22 %ETC/BTC0.004090 &+12.58 %DOC/BTC0.0000053 &-44.21 %CVC/BTC0.0000997 &+42.43 %STORJ/BTC0.000145 &+13.28 %BAT/BTC0.0000512 &+11.79 %XRP/BTC0.0000490 &+15.57 %DNT/BTC0.0000170 &+32.81 %HKG/BTC0.0000038 &+66.96 %PAY/BTC0.000700 &-2.10 %PPC/BTC0.000410 &+24.24 %XCN/BTC0. &+10.96 %CNC/BTC0. &+1.09 %ZRX/BTC0.0000601 &+16.93 %ICO/BTC0.0000222 &-78.86 %OAX/BTC0.0000381 &-61.74 %XPM/BTC0.0000798 &+15.12 %REP/BTC0.004100 &+0.00 %DASH/BTC0.0600 &+0.00 %ETP/BTC0.000240 &+0.00 %FTC/BTC0.0000133 &+0.00 %NMC/BTC0.000430 &+0.00 %NXT/BTC0.0000238 &+0.00 %UBC/BTC0.0000029 &+0.00 %XCP/BTC0.004550 &+0.00 %XEM/BTC0.0000718 &+0.00 %XTC/BTC0. &+0.00 %
Zcash 基础知识普及帖,Zcash 技术分析
<font color='#16-10-31 21:29:09 && Author: BTEREDITOR &&
Category: && Tags: &&
ZCash 是 bitcoin 的分支,保留了 bitcoin 原有的模式,基于比特币 0.11.2 版代码修改的。 ZCash 钱包资金分 2 种:透明资金、私有资金,透明资金类似比特币资金;私有资金加强了 隐私性,涉及到私有资金的交易是保密不可查的,透明资金与透明资金的交易是公开可查的。
被称为零币,与&灵&同音,不好听,且有归零的感觉,统一称为 Z
主链 的币叫 ZEC,等同于 BTC,测试链的币称为 TAZ。
目前 ZCash 仅支持 linux 系统(推荐 ubuntu),不支持 Windows、MAC,且只支持命令行, 没有图形界面(zcash 团队没人擅长 GUI)。
ZCash 中含有 2 种地址,实现 bitcoin 和 ZCash 的兼容。
1、 透明资金地址 taddr
类 bitcoin 地址,保存在 UTXOs 中,长度为 34 位。
命令./src/zcash-cli getnewaddress 可以生成新的 taddr 地址。 例如:
msFgKsVAia4aFB1qFGX7iJ3XjMZv6c26Ab
2、 私有资金地址 zaddr
保存在 notes 对象中,长度为 96 位,前 2 位为标记,主链地址前 2 位是&zc&,spendingkey 的前 2 位是&SK&,测试链的地址前 2 位是&tn&。 notes 对象是加密的,解密才能查看,用的是 chacha20-poly1305 算法。 命令./src/zcash-cli z_getnewaddress 可以生成新的 zaddr 地址。 例如: tngBSug9xvpqudziMc3QbfReHG6BeufHDbv4vEZDmnYqSpRbqu5USZqBTXENQGdUbYMkxqHbb9j3 RmEr7Lza8q7hbTQxZnM
具体生成过程看 z_getnewaddress 函数。
命令 z_listaddresses 获取节点钱包中的 zaddr 列表。
命令./src/zcash-cli zcrawkeygen 可以查看地址、key 等。
地址 taddr 实现了原有的 bitcoin 的功能,zaddr 实现了 zcash 的功能。
taddr 可以发送交易给 taddr、zaddr,zaddr 可以发送交易给 taddr、zaddr。taddr 与 taddr 的交易是透明可查的,涉及到 zddr 的交易就保密了。
零知识证明
零知识证明是在不泄漏信息的情况下,生成证明,验证者通过验证证明确定是否正确。
Zcash 使用了 SCIPR 实验室的零知识证明库 libsnark,在此基础上做了修改。
Zcash 团队 成员包含多个 libsnark 开发人员(不是全部)。修改如下:
1、 libsnark 支持 4 种语言:&R1CS&、&BACS&、&USCS&、&TBCS&,zcash 使用了&R1CS&。
2、 libsnark 支持 3 种椭圆曲线:&edwards&、&bn128&、&alt_bn128&,zcash 使用了&alt_bn128&。
3、 libsnark 支持 2 个库:gadgetlib1、gadgetlib2,zcash 使用了 gadgetlib1,gadgetlib1 是底层 库,支持所有的 R1CS 预处理特征。
SCIPR 实验室的 libsnark:/scipr-lab/libsnark。
Zcash 修改后的 libsnark:/zcash/libsnark。
当 zcash 交易涉及到私有资金时,使用零知识证明生成证明(函数 r1cs_ppzksnark_prover),保存到类 JSDescription 的 proof 中,校验交易时校验证明(函数 r1cs_ppzksnark_verifier_strong_IC)。
libsnark 看了看,知道怎么用的,但详细的也没看懂。
零知识证明白皮书:https://eprint.iacr.org/.pdf
透明资金发送到透明资金地址,可以调用 bitcoin 的 RPC 命令发送交易,涉及到私有资 金、地址,只能用 zcash 的 RPC 命令了,目前是 z_sendmany 命令。
z_sendmany &fromaddress& [{&address&:... ,&amount&:...},...]
交易分 3 种情况:
1、 透明资金发送到透明地址
延用 bitcoin 的交易方式,仅仅打签名即可。
2、 透明资金发送到透明地址、私有地址
透明资金发送到透明地址,依然延用 bitcoin 的方式,发送到私有地址的需要构造证明, 对整个交易签名发送。
3、 私有资金发送到透明地址、私有地址
每笔交易需要生成证明,涉及到找零、矿工费的处理,最后再签名发送。
交易中的透明地址、私有地址的输入、输出是不同的结构,涉及到私有地址的
采用了新 增的结构(JSInput、JSOutput), 涉及到的私有地址的数据需要先
签名解密解析数据。
详细过程参考函数 z_sendmany: /zcash/zcash/blob/master/src/wallet/asyncrpcoperation_sendmany.cpp#L126
生成证明参考函数 perform_joinsplit: /zcash/zcash/blob/master/src/wallet/asyncrpcoperation_sendmany.cpp#L804
ZCash 私有资金交易时,不仅仅依靠零知识证明,而且对交易打签名,采用了 ed25519 算法。
ZCash 交易的零知识证明、签名需要的公钥、密钥使用 ed25519 算法生成的,详细参考 函数 crypto_sign_keypair。
签名参考函数 sign_send_raw_transaction。
/zcash/zcash/blob/master/src/wallet/asyncrpcoperation_sendmany.cpp#L660
ZCash的挖矿算法是 EquiHash,理论依据是广义生日悖论,目前有 2 个实现:BasicSolve、 OptimisedSolve,BasicSolve 主要用于测试用例,现在用的 OptimisedSolve 是优化后的,但依 然存在优化空间。
EquiHash 算法需要高内存,最优算法每个挖矿线程需要 1G 内存,短时间内
ZCash 使用 EquiHash 计算解决方案,保存到区块头的 nSolution,接收区块时校验。 BasicSolve 实现: /zcash/zcash/blob/master/src/crypto/equihash.cpp#L323 OptimisedSolve 实现: /zcash/zcash/blob/master/src/crypto/equihash.cpp#L494
ZCash 总量是 2100 万个币,每隔 2.5 分钟出一个块,每天 576 个块。
区块奖励分 2 个阶段:
1、 慢慢开始挖矿阶段
为了照顾在开始阶段不懂挖矿的,ZCash 采用了慢慢开始挖矿机制,前 20000 个块的奖 励比较少,线程递增到 12.5 个币。
慢慢开始挖矿阶段也分 2 个阶段:
(1) 前 10000 个块
块 1 的奖励是 0.000625 币,随着高度线性递增,增加幅度是 0.000625 币,块 9999 的奖励是 6.249375 币。
块 10000 的奖励是 6.250625,随着高度线性递增,增加幅度是 0.000625 币,块 19999 的奖励是 12.5 币。
前 20000 个块的奖励总量是 125000 币,相当于 10000 个块奖励是 12.5 个币的总量。产 生 10000 个块需要的时间大约是 17.3 天,缓慢挖矿的时间周(20000 个块)大约是 34.7 天。
2、 正常块奖励
从块 20000 开始,奖励是 12.5 个币,奖励按照每 840000 个块(每 4 年)减半,计算块 奖励时块高度减少 10000,即 940000 块是第一次减半,每隔 840000 个块减半,以此类推。
不懂挖矿的矿工也不必着急,因为即使懂了,前 20000 个块的奖励很少,有 1个月的时 间搞定挖矿。
创始人奖励
前 4 年(区块 0~840000)产生的区块奖励的 20%归 zcash 公司(总量的 10%),80%归 矿工。4 年后的区块奖励全部归矿工。
创建区块时,构造 2 个输出,分别给矿工、创始人,当广播区块后,其他节点接受区块 时,检验区块有效性,当高度小于 840000 时,检验是否有对创始人的 20%的输出。
创始人奖励地址采用 2/3 多重签名 FOUNDERS_REWARD_SCRIPT。
每产生一个区块都需要重新计算难度,难度计算基于前 17 个块(42.5 分钟),前 17 个区块的难度是固定的(powLimit),从第 18 个区块开始调整难度,最大值是 powLimit。
详细计算过程参考 GetNextWorkRequired 函数。
Bitcoin 是每隔 2016 个块调整难度,关于 zcash 的每个块都要重新调整难度,有个讨论, 参考:/zcash/zcash/issues/147
CoinBase 保护
矿工挖矿的奖励不能直接发送给透明资金地址,只能发送给私有资金地址,然后才可以 发送给透明资金地址。
币成熟期是 100。
ZCash每个挖矿线程都有自己的地址、计数器,每个线程挖出来的新块的块奖励的地址 是不同的,做矿池的需要注意,改成一个地址。
参考函数BitcoinMiner(/zcash/zcash/blob/master/src/miner.cpp#L442) 。
区块大小是 2M。
ZCash 目前仅支持 CPU 挖矿,GPU 的挖矿工具在研发中,尚未有人公开。 ZCash支持 2 种挖矿方式:solo、矿池。
1、 Solo 挖矿
在 ZCash.conf 设置 gen=1,启动 zcashd 即可挖矿。
Zcash 开发者 str4d 做了个矿池和挖矿工具,矿池地址:http://zmine.io/,挖矿工具 地址:/str4d/zcash/tree/standalone-miner。
zcash-miner 是 zcash 的分支,主要添加了 stratum 协议、cpu 挖矿。
(1) stratum 协议
采用了 cpp-ethereum 的 stratum 的实现,V2 版,做了些修改,移除了 eth 协 议中的命令。
参考 commit:
/str4d/zcash/commit/c5ea2cfb190944dfacb37dcb 116833
(2) cpu 挖矿
把 equihash 算法做了些修改,接受矿池下发的难度来计算。
参考文件 standaloneminer.cpp。 /str4d/zcash/blob/standalone-miner/src/standaloneminer.cpp
ZCash有 2 个参数文件,包含了证明、验证 key,分别是: z9-proving.key、z9-verifying.key,
在~/.zcash-params 目录下。z9-proving.key 大概 900M,z9-verifying.key 大约 14K。使 用./zcutil/fetch-params.sh 可以下载这 2 个文件。
程序启动初始化时(AppInit2), 读取这 2 个文件中的证明、验证 key,生成证明时需要 证明 key,验证证明时需要验证 key。
API 和 RPC
ZCash 保留了 bitcoin 的 API、RPC,涉及到透明资金、地址的可以使用 bitcoin 的接口, 涉及到私有资金、地址的只能用ZCash 新增的接口。
ZCash 新增的接口包括查询余额、生成地址、发送交易等,如下:
? Accounting: z_getbalance, z_gettotalbalance
? Addresses : z_getnewaddress, z_listaddresses
? Keys : z_exportkey, z_importkey, z_exportwallet, z_importwallet
? Operation: z_getoperationresult, z_getoperationstatus, z_listoperationids ? Payment : z_listreceivedbyaddress, z_sendmany
详细信息参考文档 /zcash/zcash/blob/master/doc/payment-api.md。
EquiHash 白皮书讲了 2 点:
1、 GPU 比 CPU 快 4 倍,
2、 ASIC 是否可能实现
详细信息参考白皮书第 10 页。 https://www.internetsociety.org/sites/default/files/blogs-media/equihash-asymmetric-proof-ofwork-based-generalized-birthday-problem.pdf
ZCash使用了开源加密库
libsodium(/jedisct1/libsodium),ZCash 使用 了其中的 chacha20-poly1305、blake2b、ed25519 算法。
chacha20-poly1305 算法: /jedisct1/libsodium/blob/master/src/libsodium/include/sodium/crypto_aead_ chacha20poly1305.h
blake2b 算法: /jedisct1/libsodium/blob/master/src/libsodium/include/sodium/crypto_gener ichash_blake2b.h
ed25519 算法: /jedisct1/libsodium/blob/master/src/libsodium/include/sodium/crypto_sign.h
保护隐私技术比较
目前市场上有 3 种保护隐私的币,分别是达世币 DASH、门罗币 XMR、Z 币 ZCash。
1、 达世币(暗黑币改名叫达世币) DASH 采用的混币 CoinJoin 的方案,把一些交易混合在一起,增加追踪的难度。 CoinJoin 参考 DASH 币白皮书 /dash-whitepaper
2、 门罗币 XMR XMR 采用了环签名,签名者利用自己的私钥以及环成员的公钥进行签名,验证者 只能确定该签名来自环中的某个成员,但无法确定签名者的真实身份。 参考文档 /p-8.html
3、 Z 币ZCash的交易采用了零知识证明,隐藏交易信息。
这 3 种技术相比较来看,ZCash 的隐私保护性更好。
1、ZCash 目前是由公司开发的,公司具有绝对的话语权,后续公司会成立基金会,ZCash 的 开发交给基金会推进。如果ZCash 社区与公司、基金会出现意见分歧,而代码是开源的, 可以硬分叉。 比如:有人对创始人奖励不满意,已经提议去掉创始人奖励。
2、ZCash 的顾问包括:前任比特币核心开发人员 Gavin、eth 创始人 Vitalik Buterin,zcash 的 发展会受到这 2 个人的影响。 比如:区块大小 2M 源于 bitcoin classic。 参考 Github: /zcash/zcash/issues/765
本文由ZCash爱好者-龙少撰写。如需转载请标明作者和来源。
来源:/ttarticle/p/show?id=
网址:/szb/zcash/12301.html免责声明:本文转自互联网,已注明出处。对于文字内容或者图片如有异议请联系我们核实后删除。转载文章仅用于分享币圈资讯,不代表比特儿观点。市场有风险,投资需谨慎。
Submit a request
&&Copyright (C) 2017&&Address: British Virgin Islands &&Phone : + 86 400-007-0955&&}

我要回帖

更多关于 zcash cpu挖矿 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信