QuarkChain 测试网2.0简介
QuarkChain 测试网2.0版,是在1.0版严格按照标准的区块链系统打造、提供了包括网络、钱包、浏览器、虚拟机在内的各种完备设施的基础上升级的。除代币为测试币 (tQKC) 之外,各类环境均同主网标准一致。2.0版在增强了整个网络通信效率和安全性的基础上,进一步提高了网络的开放性。测试网2.0版将向社区开放记账和验证功能,社区成员参与挖矿将可获得测试网代币作为奖励。
2.0版的测试网,可以让多套主流挖矿算法同时在链上运行,目前支持的有:Ethash、Double SHA256,还将提供 QuarkChain 独家的 CPU 挖矿算法 Qkchash。并且依靠 QuarkChain 的主链—分片结构,不仅主链可以挖矿,而且每个分片也可以挖矿。矿工可以根据自身算力水平灵活选择入驻算力要求较高的主链,或者入驻分片挖矿。
1 活动目的
为了增强 QuarkChain 社区共识,让社区成员能够共同参与 QuarkChain 的网络之中,切实体验 QuarkChain 的高吞吐、更灵活的特点,共享项目成长带来的价值。同时在 QuarkChain 主网上线前,对我们的设计理念进行更深层次的检验,让社区能够进一步了解我们的算法功能、分片技术、治理结构等一系列特点。我们邀请您加入 QuarkChain 测试网2.0版挖矿活动,共享 QuarkChain 资源、共建QuarkChain基础设施。
今天,我们将隆重向社区开放CPU挖矿功能,每一位社区成员都可以参与挖矿,并可在主网上线后兑换奖励。随着我们测试网的升级,我们将陆续推出针对 Ethash 的GPU、针对 Double SHA256 的 ASIC 等多种挖矿接口 API,未来也会进一步推出可以兼容 QuarkChain 所有挖矿算法的矿池。
请各位 QuarkChain 社区成员和我们一起,共同完成里程碑的进步!
2 挖矿算法介绍
2.1 什么是挖矿?
挖矿是参与维护网络的节点,通过协助创造新区块来获取一定量新增的 QKC 的过程。QuarkChain 和大多数区块链技术一样,采用激励驱动的工作量证明模式 PoW(Proof of Work) 确保安全。所采用的共识基于选择具有最高难度的区块。挖矿计划中的矿工创造区块,其他矿工检测所创造的区块有效性。区块只有在包含特定的难度的工作量并满足共识中所有合格性条件时才有效。任何参与到网络的节点都可以成为矿工,预期的挖矿收益和其所拥有的哈希算力(每秒尝试的随机数数量)成正比。
2.2 QuarkChain 算法介绍及挖矿设置
根据我们的 QuarkChain 的双链结构和分配全网算力的核心算法–玻色子算法(https://medium.com/quarkchain-official/quarkchain-explained-part-4-sharding-in-quarkchain-consensus-8032704319bd),不同的分片可以运行不同的共识和挖矿算法。每条分片的哈希算力会根据激励的不同动态的进行调整。
为了充分测试验证在测试网2.0版本,我们采用三种不同类型的挖矿算法:Ethash、Double SHA256、以及 QuarkChain 自主研发的最新抵制 ASIC 的Qkchash,分别对应目前主流基于 GPU、ASIC 矿机、和 CPU 的挖矿算法。下面我们对三种挖矿算法进行一个简单的介绍:
I. Ethash
Ethash 是以太坊的 PoW 挖矿算法,它是一种改良版本 Dagger-Hashimoto 算法。Ethash 是内存难解,通过增加对内存的要求,即在进行挖矿的过程中,需要占用消耗大量的内存空间。使得挖矿的效率基本与 CPU 无关,却和内存大小和内存带宽相关,这使它能抵抗 ASIC。目前大多数矿工都采用 GPU 对 Ethash 算法进行挖矿。
关于算法的具体描述请参考:https://github.com/ethereum/wiki/wiki/Ethash
Double SHA256 是比特币的 PoW 的挖矿算法,可以简单地总结为对区块头做两次 SHA256 的哈希算法,得到的结果如果小于特定的工作量难度,即挖矿成功。目前比特大陆已经研制出基于该算法的 ASIC 矿机,大多数矿工都采用 ASIC 矿机对 Double SHA256 算法进行挖矿。
关于算法的具体描述请参考:https://en.bitcoin.it/wiki/Block_hashing_algorithm
III. Qkchash
PoW 的核心是哈希运算,谁更快挖掘出新的区块,就可以获得更多的激励。在比特币的发展过程中,挖矿设备经历了从 CPU => GPU => FPGA => ASIC 的演化过程,其中的动机是为了更快地进行哈希运算,随着矿机的门槛提高,挖矿参与者越来越少,这与区块链的去中心构想背道而驰。
为了可以抵御 ASIC 矿机对挖矿工作的垄断地位,我们对现有的挖矿算法进行研究, 自主研发的最新抵制 ASIC 的挖矿算法 Qkchash, 该算法基于顺序统计树的数据结构,哈希计算中需要对 DAG 进行多次的查找,添加和删除操作,使得挖矿的效率与 CPU 息息相关,从而更有效保证共识机制的公平和安全。
关于 Qkchash 算法的具体描述,请参考我们 CEO 周期博士发表的文章:
https://medium.com/quarkchain-official/order-statistics-based-hash-algorithm-e40f108563c4
非常欢迎社区对于 Qkchash 算法和代码给与指正!
2.3 测试网2.0挖矿配置
分片数: 8个
集群数: 根据实时在线挖矿节点决定
所对应的挖矿算法如下:
(Proof of Guardian 解释:由于测试网的哈希算力非常有限,为了确保主链有足够的算力来保证全网安全,我们启动了守护者计划。我们会指定一些守护者,守护者会对所挖出的主链区块进行签名,由守护者挖出的区块,难度系数将降低1000倍,但所有守护者挖出的区块将不计入奖励范畴。守护者计划只针对主链,各个分链挖矿难度完全由哈希算力决定。)我们将提供节点和相应的 CPU 挖矿程序,挖矿计划的矿工可以根据不同分片的工作量难度和激励,任意挑选一条或者多条分片进行挖矿。对于高级玩家,可以根据我们提供的 JSON RPC 接口,自行编写相应的 GPU / ASIC 挖矿程序。
QuarkChain 的双链结构,P2P 通讯安全和效率,分配全网算力的核心算法–玻色子算法,都将在在测试网2.0版本中得到充分的测试验证。
3 操作指南
为了激励社区全员参与我们测试网2.0的挖矿活动,我们针对社区成员的不同背景,贴心准备了三份难易程度不同的挖矿教程,供社区成员使用。
今天我们将向全网率先发布 Docker 挖矿教程, 该教程提供面向开发者的命令行配置指南和适用于多个平台的 docker 镜像,内容包括节点和挖矿设置的简明介绍。详细教程请访问:https://github.com/QuarkChain/pyquarkchain/wiki/Run-a-Private-Cluster-on-the-QuarkChain-Testnet-2.0#quick-start-use-docker-image-to-start-a-cluster-and-mining
接下来我们还将陆续推出:
- 针对不了解编程的社区成员,我们提供手把手教你在 AWS 平台上创建自己 QuarkChain 节点的教程,轻松实现 QKC 挖矿。该教程我们将在近日发布。
- 提供集成 GPU / ASIC 挖矿的程序和接口,便于矿工更加无缝的切换到 QKC 算力。
常见问题:
1. 可以用自己笔记本电脑挖矿吗?
可以,我们提供了节点和相应的CPU挖矿程序,参与挖矿计划的矿工可以根据不同分片的工作量难度和激励,任意挑选一条或者多条分片进行挖矿。
2. 挖矿对电脑的配置有什么要求吗?
只需要准备一台基于Linux或者MacOS的个人电脑,并对网络的IP进行配置。
3. 可以用显卡或者矿机挖矿吗?
目前我们只提供示例用 CPU 挖矿程序,对于高级玩家,可以根据我们提供的 JSON RPC 接口,自行编写相应的 GPU / ASIC 挖矿程序。随着我们测试网的升级,我们也会陆续开源相应的 GPU / ASIC 挖矿程序。
4. 用不同的挖矿算法会有什么差异?该如何选择?
Double SHA256 属于计算难解算法,但 Ethash 和 Qkchash 属于内存难解算法,对电脑的内存会有一定的要求。目前我们只开放了 CPU 挖矿程序,挖矿效率完全取决于你电脑的配置。
首先挖矿过程会对你的电脑内存进行占用,所以建议使用闲置电脑进行挖矿。目前主链出块时间是60秒,分链出块时间是10秒,挖矿过程是个完全随机过程,需要持续一段时间,并会对电量有一定消耗。
6. 测试网挖矿有哪些可能发生的风险?
目前我们的测试网还在开发阶段,尚未稳定。可能会发生 QuarkChain 主链分叉、软件升级和系统重启导致您的 tQKC 和出块记录丢失,但我们会尽力保障测试网的稳定和安全。如确实有这类事故发生,不用担心,我们会及时向大家提供相应的解决方案。
如有更多技术类问题,欢迎加入Discord程序员社区提问:http://discord.me/quarkchain。
4 奖励机制
4.1 挖矿奖励
- 奖金池
我们将建立五百万 QKC 奖池,用于激励所有参与测试网2.0挖矿计划的矿工。我们根据不同的挖矿算法对奖池进行了分配,具体如下:
总奖池:5,000,000 QKC
Ethash 算法奖池:2,000,000 QKC
Double SHA256 算法奖池:1,000,000 QKC
Qkchash 算法奖池:2,000,000 QKC
所有挖矿奖励将于 QuarkChain 主网上线后兑换。QuarkChain 主网上线后,我们将根据具体算法的奖池,以及每位矿工所使用的算法所得的 tQKC 占比,来共享奖金池内的奖金。
- 早期参与奖励
本次测试网2.0挖矿活动将一直持续到 QuarkChain 主网上线为止。为了鼓励更多人尽早加入我们的测试网挖矿活动,我们将为早期参与者提供额外的奖励。2018年12月(美国西部时间)参与挖矿的矿工将获得双倍积分奖励。此奖励将于2018年12月31日晚11:59(美国西部时间)中止。2019年1月1日(美国西部时间)起,将恢复正常奖励。
4.2 Bug 和漏洞提交奖励:
如有发现测试网 Bug 以及漏洞,欢迎大家在Github:https://github.com/QuarkChain/pyquarkchain/issues 页面给我们提交 issue,或者发 email 至[email protected],我们将依据发现 Bug 和漏洞的危害性,给予奖励。
4.3 奖励规则:
QuarkChain 官方团队有权对本次活动参与者的资格进行审核,一旦发现作弊行为,我们将取消参与资格。本次活动解释权归 QuarkChain 官方团队所有,我们保留根据活动反馈情况更新活动规则的权利。请关注我们官网或者微信公众号,获取最新消息。
关于 QuarkChain
QuarkChain 是一个基于分片技术来搭建的灵活、高拓展性且方便使用的区块链底层架构,是世界上首批成功实现状态分片的公链之一。QuarkChain 旨在提供每秒十万级链上交易处理能力。目前,测试网已经实现峰值为每秒14,000+笔交易的处理。QuarkChain 现有超过50个生态合作伙伴。通过灵活自由、全面可扩展和简单易用的设计,QuarkChain 技术普惠万家,随时随地,随想随用。
注:本文为英文译文,如与原文有任何不一致之处,以英文版为准。(英文原文:http://quarkchain.io/quarkchain-testnet-2-0-mining/)
注:本次活动的最终解释权归 QuarkChain 公司所有。