区块链入门

最近比较火的SERO匿名币CPU挖矿详细教程

2019-01-23  本文已影响277人  踏雪寻她

SERO系统是全球首创的,基于零知识证明技术实现隐私保护,并且能支持图灵完备智能合约运行的区块链基础平台。

当前去中心化的区块链系统,比如比特币和其它公链系统,作为价值互联网的基础设施,已经迅速得到普及。像这样的公链系统,由于其去中心化的性质,不仅需要在数据流上达到共识,而且需要在涉及到该数据的计算上达到共识。在比特币系统中,数据包括用户提出的汇款交易、涉及到交易验证的计算和UXTO的更新,这类数据结构需要不断跟踪用户的账户余额。另外一类区块链系统,比如以太坊,采用基于账户的模型,构建了一个富有表现力的去中心化智能合约系统。

 尽管支持智能合约的区块链系统强大并且已经富含表现力,但这些技术现在的实现缺乏交易隐私保护。在智能合约中,整个行为序列通过网络传播并记录在区块链上,因此是公开可见的。即使参与交易的各方可以创建新的假名公钥以增加其匿名性,但是每个公钥所有交易和余额的值都是公开可查的,有很多区块链分析项目的工作已经证明,通过分析这些区块链数据的交易图结构可以进行用户行为的去匿名化。

 现实世界中组织的经济活动行为表明,缺乏隐私是广泛采用去中心化智能合约的主要障碍。比如企业供应链管理、金融交易、暗标拍卖、社交或网络购物行为等,有很多行为的过程其使用者认为是需要保密的。当前的匿名区块链系统,比如Zcash、Monero等,尽管在设计隐私保护加密虚拟资产方面取得了一些进展,但是这些系统放弃了可编程性,并且没探索出如何在不把交易数据以明文方式暴露给交易验证者或者矿工的情况下实现可编程性。

 当前上线的这一版SERO系统解决了上述问题,这个公链系统有如下突出特点:

 1、NIZK(非交互式零知识证明)相关算法改进

工程化实现了基于Ben-Sasson, Eli等密码学专家关于2014年发表的"Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture."论文内容,并对算法加以优化,以更适用于分布式网络中对于区块链数据结构的加密场景。

 2、加密流程优化

针对Zcash的加密性能的诟病(往往整个交易完成需要1-2分钟),为了削减安全生成私密交易的时间,SERO CHAIN重新定义优化了整个加密过程,这个方面比Zcash当前线上版本有数十倍的性能提升。

 3、清晰、易于扩展的区块链结构

SERO CHAIN重构了以太坊的存储结构,改为基于历史与状态混合的方式,同时,为了让基于SERO CHAIN发布的虚拟资产具备安全隐私特性,SERO CHAIN作出了部分差异化的设计,使整个结构具备强大的扩展能力。整个数据块加密流程清晰简洁,并增加了数据块的链下存储结构。

 4、图灵完备的匿名智能合约

通过零知识证明和同态加密协议,区块链上的智能合约支持不同模式图灵完备的运行过程,DApp开发者可以自由选择,是否要进行带隐私保护属性的资产发行,计算细节是否公开。资产包括虚拟资产以及可以存储复杂数据结构的票据,通过这些匿名虚拟资产,利用图灵完备的线上智能合约,DApp可以实现例如发行隐私虚拟资产,进行暗标拍卖之类有趣的应用。

 5、实现同一智能合约调用多种虚拟资产

SERO CHAIN当前版本可以用智能合约进行匿名的线上虚拟资产的发行和交易,并且支持在同一个智能合约中实现对在SERO CHAIN发⾏的多个不同数字虚拟资产之间的交换,这样SERO CHAIN的智能合约可以实现对不同的数字虚拟资产进行去中心化交易的功能。

 6、可控的隐私审计⽅方案

对于某些较为复杂的商业应用领域,用户可能需要有完全信任的第三⽅对他发⽣的所有交易进⾏财务方面的审计,SERO生态的用户可以做出自主选择,决定是否给予第三⽅跟踪相关交易具体信息以便于进行审计的权限。

 SERO团队经过长时间的努力,让图灵完备的智能合约真正运行在了匿名区块链系统上,极大的拓展了业界对于区块链系统的应用领域。至此开始,安全匿名虚拟资产的发行权不再为少数对密码学有深厚造诣的极客组织所独享。普通系统开发者,只要有发行匿名虚拟资产的业务需要,都可以在SERO链上发行自己的匿名虚拟资产,建立自己的隐私生态。除此之外,因为当前版本SERO链上智能合约的图灵完备性,对于发行和交换复杂数据结构的隐私票据也是支持的。匿名票据支持丰富的数据结构,极大的拓展了隐私智能合约的应用范围,让区块链应用开发者可以把业务相关数据安全的放在链上,而不用担心相关数据的隐私泄露问题。

 在匿名性支持方面,SERO团队采用的是非交互式零知识证明Super-zk(Super-zk是在主流的NIZK技术基础上研发的)技术。Super-zk技术可以让完全加密的交易也可以验证其有效性,在此过程中交易各方的地址和相关的交易数据都是保密的。Super-zk相比于其他的匿名手段,比如各类混币器或者环形签名技术,有其突出的优点,其最大的特色是其匿名化算法有极高的安全性并且不受环境的影响。目前计算机科学领域面世的匿名类库有zk-SNARKs,zk-STARKs,Bulletproofs等几类。综合算法的成熟度和加密执行性能,当前版本的SERO系统采用libsnarks框架进行构建,并且为了进一步增强Super-zk系统的实用性,SERO团队对libsnarks库进行了增强,在proof生成速度上相对于现有匿名区块链系统有了一个数量级的提高。其改进方面包括采用效率更高的椭圆曲线和进一步改进其底层散列算法的效率等多个层面。

 随着当前SERO测试系统的成功发布,SERO系统的研发和围绕其生态的拓展工作将进入一个新的阶段。SERO的智能合约系统兼容Solidity开发语言,广大生态开发者可以在SERO的IDE和测试网络上进行隐私相关DApp应用的开发和测试。在系统研发上,SERO团队将按照白皮书的时间路线进行持续的开发工作,在隐私保护的各项领域持续进行生产力输出,并欢迎广大开发者加入SERO开源研发共同进行系统建设。

关于SERO挖矿指南

新手秘籍:https://wiki.sero.cash/zh/index.html?file=home-Home挖矿问题合集!目前是使用CPU挖矿,人人都可以参与,普通家用电脑即可!

1. 国内矿工钱包下载链接如下:已更新最新版!!

各位矿工好!

1. 我们最新版的钱包和全节点程序发布了,请确认和升级自己的钱包和节点。

### Wallet

版本号是: 0.1.3

下载地址是:https://github.com/sero-cash/wallet/releases/tag/0.1.3-BETANET-RELEASE

**国内的矿工请下载亚洲版本(在github下载页面的最下方)**

windows:

https://sero-media-1256272584.cos.ap-shanghai.myqcloud.com/wallet/v0.1.3/SERO-Wallet-installer-0-1-3-BETANET-RELEASE-ZH.exe

Mac:

https://sero-media-1256272584.cos.ap-shanghai.myqcloud.com/wallet/v0.1.3/SERO%20Wallet-0.1.3-BETANET-RELEASE-ZH.dmg

linux:

https://sero-media-1256272584.cos.ap-shanghai.myqcloud.com/wallet/v0.1.3/SERO-Wallet-linux64-0-1-3-BETANET-RELEASE-ZH.deb

### Gero

版本号是:v0.5.0-beta.r5

下载地址是:https://github.com/sero-cash/go-sero/releases/tag/v0.5.0-beta.r5

2. 本次更新修复和新增了非常重要的功能,并在130000块的时候进行软分叉,增加矿工奖励。

本次主要新增特性有下面几个:

* 矿工奖励计划(SIP1)

* 缩减硬盘空间

* 钱包体验优化

3. 在wiki上有比较详细的关于此次更新的说明

https://wiki.sero.cash/zh/index.html?file=News/Release/SERO-BETANET-R5

2. 启动钱包

第一次启动钱包,会自动查找节点

注意:如果一直停留在“正在查找节点”的状态,请先检查你的PC时间是否为最新。(此步骤可以跳过,直接点击—使用公测网络

点击「使用公测网络(BETANET)」,进入导入账户或License界面

注意:进入钱包主界面后也可以导入,此处非必须操作的步骤(此步骤点击—跳过

点击「跳过」进入新建账号目录

注意:请勿重复创建账号,进入钱包主界面后也可以新建账号,此处非必须操作的步骤(此步骤点击—跳过

点击「跳过」或 「下一步」,在你等待下载区块的的时候,可以看看关于Token代码.

点击「启动应用程序」,进入主界面。你可以看到当前的节点数以及同步区块的进度条。

注意:在打开钱包之前请做好Windows时间同步,推荐使用时间校准器小工具!

https://www.114time.com

再耐心等待区块同步完成,尽量不要中途关闭钱包客户端(此步骤根据区块高度决定的大约10-15分钟左右)


3. 新建账户

点击「新增账户」输入密码后,新建账户成功

注意:如果需要删除账户,请在区块数据目录的keystore文件夹中,找到对应的账户文件并进行删除。删除前请做好备份(keystore文件夹中的为个人私钥JOSN文件以及主帐号信息)

请做好—第二次确认,以免造成损失。

标记为“Serobase”的账户为主账户,请用此账户申请License挖矿授权码。

注意:一个钱包只能用一个账户进行挖矿。

4. 导入许可证(License)

接下来我们需要向SERO团队申请许可证,需要进行下面几个步骤:

加入SERO的gitter社区 ——(可以忽略)

社区的链接是(此社区是国外社区,用户有兴趣的可以进入参与讨论)

https://gitter.im/sero-cash/miner

gitter是 github.com 免费的即使通讯工具,跟github具有很好的集成度,可以通过 github/gitlab/twitter 账号登录。关于miner的一些重要通知会在这儿发布。

发申请邮件

上面已经生成了账户,请将标记Serobase的公钥地址通过邮件发送给license@sero.vip,并说明你的情况。

官方邮箱地址:license@sero.vip

申请主题:申请挖矿并加入SERO超零协议超级工会

申请内容模版如下:

A: 自己的公钥:

B: 公会名称:SERO超零协议超级工会

C: 公会ID:3SYDAxZYbqzRuwWtbFaSd25xs6rxTqWzizzxd8o43WsqSCG8bP6jG1PhrpHMZLTPHj7FcWuDjdcwhPwHyWykYaay

注意:公钥可以作为资产接受地址,提供给第三方生成交易,泄露公钥并不会泄露你在SERO的信息。

安装许可证

SERO团队在48小时内会为你生成BetaNet的挖矿许可证,并回信给你。

回信中,你的许可证在正文和附件中各有一份,这两份是一致的。

点击菜单"账户">"导入账户或挖矿License",如下图,打开导入界面,此时只需要将名称为BLIC.DATA的文件拖拽到框中。(请将官方回复你的邮件文件下载下来,并保存好,做好备份)

5. 开启挖矿

点击菜单"开发">"开启挖矿"当出现下图,没有任何提示错误信息时!

出现节点 高度 区块都在跳动的时候,恭喜你!挖矿成功!

注意事项:电脑控制面板—电源和显示器设置如下:

参考附录:

匿名交易

因为我没有AlphaNet或是BetaNet的测试许可证,无法通过挖矿来确认交易,因此我用Dev模式测试了一下匿名交易,在我的机器上,确实能看到交易生成时间是7s。从交易数据看,交易证明采用Commitment模式,可以确定是匿名交易。

智能合约

智能合约的安装步骤也与以太坊一致,社区的宣传信息中提到,SERO与以太坊智能合约的指令集是兼容的。我将部署代码从以太坊的Remix编辑器拷贝过来,将代码中的eth改为sero后进行测试,结果安装和运行都没有问题。智能合约可以发行匿名的Token和Ticket。这样的话,应该可以实现匿名版本的ERC20与ERC721智能合约了。

https://explorer.web.sero.cash/blocks.html 区块链浏览器

https://remix.web.sero.cash/#optimize=true&version=builtin 智能合约编辑器

https://github.com/sero-cash/go-sero 源代码

扫码进QQ群:

上一篇下一篇

猜你喜欢

热点阅读