比特币矿池协议
A. 比特币的 分裂性是什么
比特币是似意币在国内禁止交易,在国外是交易比较活跃的货币
B. 神秘的5.6万台矿机,老板娘拿走12亿元比特币,这场争端再升级
一场变故突然袭来,华铁应急被举报财务造假、老板娘拿走12亿元比特币。
这边,华铁应急向杭州公安局报了案,并召开新闻发布会,深夜反击!
而那边的亿邦通信 科技 发文称“华铁应急‘三宗罪’证据确凿,不容抵赖”,还拿出了录音等19页图文证据。
双方争论的焦点5.6万台矿机去哪了,已然成谜。但毫无疑问,这场对抗已经随着双方的回应再次升级!
举报,缘于三年前的一起交易
8月8日下午,美股矿机巨头亿邦国际(EBON.US)董事长胡东对外发声:
已于8月6日向浙江证监局实名举报华铁应急涉嫌 严重财务造假、严重信息披露违规 以及实控人胡丹锋及其 配偶潘倩涉嫌巨额职务侵占掏空上市公司资产 等违法违规行为,涉及华铁应急支付托管费金额、矿机及比特币资产归属等重重疑问。
这位矿机大佬的举报,缘于三年前的一起交易。
2018年,亿邦国际子公司浙江亿邦通信 科技 有限公司(下称“亿邦 科技 ”)与华铁应急原全资子公司新疆华铁恒安建筑安全 科技 有限公司(下称“新疆华铁”)签订了 总价4.032亿元、8万台“矿机”销售合同,如今这笔合同的货款交付产生了纠纷 。
单纯看亿邦国际与华铁应急的这笔货款交易本身,并不复杂。
2018年5月30日, 《合同补充协议》对货款支付的时间节点做了调整 ,约定华铁应急于2018年10月20日之前付清总计4.032亿元款项:其中约定5月7日支付8064万元;5月30日支付 1008万元,安排2万台矿机上线;6月15日支付2520万元,安排5万台上线;6月20日支付504万元,安排1万台上线;10月20日前支付剩余2.8224 亿元。
亿邦国际(EBON.US)董事长胡东表示,8万台矿机交付上线至今,新疆华铁仍有2.8224亿元余款未支付。
对此,华铁应急公开回应,“截至2018 年12月底, 新疆华铁实际收到云计算服务器2.4万台……亿邦 科技 未对新疆华铁履行剩余5.6万台云计算服务器的供货义务,新疆华铁不存在相应的支付义务,从而主张解除合同 ”。
华铁应急深夜召开媒体会
4400余枚比特币澄而不清
8月9日晚间,华铁应急(603300.SH)在杭州胜康路68号公司总部召开媒体说明会,公司实控人胡丹峰、董秘郭海滨、公司方面代理律师浙江泽大律师事务所陈加曹等人参与了情况说明。
公司已于当日向杭州公安局报案, 认为亿邦国际及其董事长胡东涉嫌构成寻衅滋事罪,有关不实言论导致公司股票大幅下跌,给公司及投资者造成了巨大经济损失。
对于8月8日亿邦国际的指控,华铁应急方面 在媒体说明会现场一一否认 。
第一,如针对涉嫌财务造假的指控,华铁应急称,亿邦方面已经多次对相关部门进行了举报, 相关部门已经进行了核查 。
第二,而对于事件争议焦点——5.6万台矿机设备,华铁应急称,未付款的剩余5.6万台设备的实际买受人并非浙江琪瑞机械设备有限公司(华铁应急原全资子公司新疆华铁恒安建筑安全 科技 有限公司更名后主体), 而是第三方浙江纽博实业有限公司,亿邦方面此前认同签收单改由纽博签收,合同主体发生了变更 。
“(5.6万台矿机设备)是亿邦方面的销售张浩签字,陈宝清签收确认,就是浙江纽博实业有限公司拿走的,不是公司拿走的”,华铁应急方面代理律师浙江泽大律师事务所律师陈加曹在现场解释。
此外, 华铁应急否认了和浙江纽博实业的关联关系 ,“对方的录音中说浙江纽博实业是我姐姐的公司,是断章取义,十年前,我姐姐在浙江纽博的确有入股,后来股份转掉了,和我们华铁应急没有关联关系。”
第三,针对公司实控人胡丹锋及其配偶潘倩涉嫌侵占4400多个比特币的指控,华铁应急方面仅表示,“浙江证监局此前也对公司作了专项核查,比特币矿池是任何人都可以用手机注册账号,查看设备是否在运行的状态,而比特币挖出来是直接到钱包账户, 这是(对方)混淆了概念,两个账户不是必然关联,相关部门的核查证明我们是不存在问题的 ”。
不过,现场多家媒体对于该问题进一步追问,华铁应急并没有在现场予以回复。
在媒体说明会最后,华铁应急实控人胡丹峰也坦承,“2018年,公司离开主业做的一些决策,付出了重大代价,的确是深刻的教训,给我们上了一课。”
胡丹峰强调,此前其在2019年承诺,“对上述合同纠纷可能给公司带来的损失,将由本人兜底承担连带偿付责任”。
纽博实业,是否存在关联关系?
此前,华铁应急此前曾在法庭上表示,双方存在争议的5.6万台矿机的实际收货方是浙江纽博实业有限公司,与自己无关。
据天眼查数据显示,纽博实业成立于2010年7月,注册资金1.47亿元,经营范围包括实业投资,建筑机械设备上门安装,建筑机械设备租赁,与华铁应急经营范围相近。 纽博实业公司成立时的注册资金为3000万元,其中,胡月婷出资2700万元,陶中华出资300万元 。
2011年4月, 胡月婷从纽博实业股东名单中消失,新增了吕东红等7名股东 。值得注意的是,在华铁应急的招股书上,实控人胡丹峰姐姐的名字恰巧也叫“胡月婷”,两者是否为同一人,是让人好奇的。
而胡月婷已经在2011年退出了纽博实业的股东名单,其明面上与华铁应急在业务上又没有明确的关系。
所以,在亿邦国际未能证实纽博实业与华铁应急存在关联关系之前,所提到5.6万台矿机货款的追偿问题是否由华铁应急承担还无法下结论。
阳谋:将上市公司列为成共同被告
上市公司子公司拖欠货款,亿邦国际发起法律诉讼非常正常,但把上市公司华铁应急列为共同被告的作法让很多人感到意外。
亿邦国际将上市公司华铁应急列为共同被告的理由是,“新疆华铁系华铁应急全资子公司,即一人有限责任公司……由华铁应急非公开发行股票募集资金成立,其注册资本1.7亿元全部由募集资金投入”,且在此次交易中,华铁应急员工胡丹峰、董君娜起到了核心作用”。
此外,值得一提的是,亿邦国际相关人士在8月8日的发布会上称,华铁应急实控人胡丹峰曾向其表示,“买亿邦的矿机后已经亏 30%,现在只能等币价(上涨),公司账上没(钱),如果要新疆华铁拿钱,那我只能把新疆华铁破产,上市公司是不会付这个钱,我们没有做这笔账。”
不过,华铁应急给出了截然不同的说法。
在8月9日早间的澄清公告中,华铁应急称,“根据立信会计师事务所出具的《新疆华铁恒安建筑安全 科技 有限公司验资报告》,新疆华铁1.7亿元注册资金出资到位且资产完全独立,与华铁应急财产可做明显区分。因此,两家公司相互独立,华铁应急不应当为新疆华铁承担连带责任。”
此外,华铁应急还在公告中提到,公司控股股东胡丹锋于2018年年报事后审核问询函回复中出具承诺,“对上述合同纠纷可能给公司带来的损失承担连带偿付责任,如果华铁恒安要求亿邦 科技 继续履行或行使合同解除权的过程中导致华铁应急的经济损失,胡丹锋兜底承担连带偿付责任”。
有分析人士表示, 亿邦国际之所以要把上市公司华铁应急列为共同被告,其目的就是为了给自己的诉讼索赔增加一个安全垫,在第一被告无力赔偿的情形下向支付能力强的上市公司进一步索赔 。
这场争端也波及了华铁应急的股价,在继昨日全天一字跌停后,8月10日,华铁应急再度开盘跌停。
来自:21世纪经济报道、证券时报、证券市场红周刊、网易 财经 等
C. 什么是比特币合约
比特币合约的基础
比特币合约,是指无需实际拥有比特币也可进行交易的合约。 它与必须实际持有数字货币才可进行的币币交易有很大不同。
比特币合约使你能够预测比特币的价格走势和对冲风险。 这种交易方式,意味着你投资的是价格趋势,而非资产本身。
在交易比特币合约时,你可以决定做空还是做多。 选择做多,表明你预计比特币价格将会上涨。 另一方面,选择做空表明你预计价格将会下跌。
杠杆交易
可以选择高杠杆率进行交易,是比特币合约的一项特性。 使用杠杆, 意味着你在进行合约交易时,不必投入100%的交易金额。 相反,你只需要存入初始保证金,而保证金额度仅占合约总价值的一小部分。
杠杆交易让你在风险管理的同时,用少量的资金占有较大敞口。
永续合约
虽然合约有许多不同类型,本文主要关注永续合约。 顾名思义,这些合约没有到期日。 使用永续合约做多或做空的交易者,可以无限期持有头寸,除非合约爆仓,这意味着他们遭受的亏损不会超过初始保证金。
永续合约中,比特币的定价以特定的指数价格为基础。 指数价格基于多个币币交易市场上比特币的平均价格。
比特币合约已成为一种非常流行的交易工具。 许多传统投资者尚未准备将资金分配到数字资产上,但仍希望从诱人的价格波动中受益,而合约交易为他们打开了大门。
如要开启比特币合约交易,需要找到提供合约交易的交易所。 AAX平台,在合规和安全的环境中,为你提供比特币合约交易服务。
D. 比特币究竟会不会分裂及币行应对比特币分叉方案
如果你一直在关注比特币社区的消息,你会知道在大约两周内,最快可能2天内,比特币网络可能会面临协议上的一些改变。
为了改进比特币的交易能力,解决比特币网络拥堵问题,各方一直争论不休,并且提出了多种解决方案。未来多则几周内短则几天比特币社区,可能会是迎来一次平滑的升级,也可能会出现链分裂,又或者只是简单地维持现状。
但最终哪种方案将会落地实施,还要看最终的投票结果。
截止到发稿前,已有88.2%的矿工投票支持SegWit2x(比特币分叉投票结果查询网址:coin.dance/blocks)
OKCoin币行作为一家致力于比特币应用的公司,我们的崇旨是服务好每一位客户,OKCoin币行并没有权力帮助用户选择哪一种比特币技术,因此OKCoin币行将支持所有了比特币技术发展路线,把选择权交给市场和客户。
OKCoin币行将在比特币出现分叉可能性的期间采取如下措施:
1?在可能出现分叉的时间点,2017-07-30 - 2017-08-02 ,为了防止比特币充值或提现被回滚和重放攻击,我们将停止比特币的充值和提现。
具体的停止提现的时间点,我们会另行通知。为了您分叉期间的交易便捷,建议您提前进行比特币的充值,以防止遇到突发行情无法交易。
2?如果没有出现分叉,网络稳定以后,我们将恢复充值和提现。
3?如果比特币分裂为一种或多种比特币,OKCoin币行将会把分裂出来的各种比特币按拥有权提供给所有客户,并且逐步上线所有新种类的比特币的交易。
4?对于用户来讲,最简单的方法提前充值比特币,我们会为您处理好分叉过程中的各种技术问题。
5?如果分叉过程出现了价格异常,OKCoin币行可能会临时中止交易。
我们相信,很多年后,经过长期的市场竞争,一个或多个版本的比特币将被广泛采用,让我们一起为比特币的未来努力。
E. 比特币合约是什么意思
比特币合约,是指无需实际拥有比特币也可进行交易的合约。 它与必须实际持有数字货币才可进行的币币交易有很大不同。
比特币合约使你能够预测比特币的价格走势和对冲风险。 这种交易方式,意味着你投资的是价格趋势,而非资产本身。
在交易比特币合约时,你可以决定做空还是做多。 选择做多,表明你预计比特币价格将会上涨。 另一方面,选择做空表明你预计价格将会下跌。
杠杆交易
可以选择高杠杆率进行交易,是比特币合约的一项特性。 使用杠杆, 意味着你在进行合约交易时,不必投入100%的交易金额。 相反,你只需要存入初始保证金,而保证金额度仅占合约总价值的一小部分。
杠杆交易让你在风险管理的同时,用少量的资金占有较大敞口。
永续合约
虽然合约有许多不同类型,本文主要关注永续合约。 顾名思义,这些合约没有到期日。 使用永续合约做多或做空的交易者,可以无限期持有头寸,除非合约爆仓,这意味着他们遭受的亏损不会超过初始保证金。
永续合约中,比特币的定价以特定的指数价格为基础。 指数价格基于多个币币交易市场上比特币的平均价格。
比特币合约已成为一种非常流行的交易工具。 许多传统投资者尚未准备将资金分配到数字资产上,但仍希望从诱人的价格波动中受益,而合约交易为他们打开了大门。
如要开启比特币合约交易,需要找到提供合约交易的交易所。 AAX平台,在合规和安全的环境中,为你提供比特币合约交易服务。
F. btcv是什么币
BTCV是一个pow机制挖的矿币,不是凭空发行的空气币。
BTCV币全称BitcoinVault,中文名称为比特币保险库,是一款致力于修改比特币原始协议缺陷的数字货币。BTCV币发行于2019年10月,发行总量为21,000,000BTCV。
BTCV币提供了基于三重密钥体系的高安全性区块链生态。它保留了比特币的所有便利,同时增加了交易透明度和自由度等重要的功能。BTCV币是集合过去十年数字货币领域经验教训,着力打造的新型数字资产。
(6)比特币矿池协议扩展阅读
BTCV币的设计试图尽可能与标准比特币协议兼容。基本目标是尽可能减少对现有比特币全部节点、钱包、矿池和矿机的必要代码改变。
但是,如果对已有的区块链做出了改变,则需要实施硬分叉。为了避免改变区块首部的格式,使加密货币与比特币专用矿机不兼容,提醒部分的Merkle根哈希值储存在标准coinbase交易的输入值中。
如果需要实施硬分叉,则我们的目标是使过渡对现有加密货币用户而言尽可能容易。所有的现有脚本类别不改变其行为,因此在硬分叉实施前存在的全部加密货币均可以通常方式支出。但我们强烈建议切换到新的更安全的脚本。
G. 莱特币110矿机一天能挖几个币
以现在的难度计算大概一天能挖1.012个莱特币,这是在矿池的平均计算结果,如果有高效矿池或者SOLO的话,也许要多点。
莱特币Litecoin(简写:LTC,货币符号:Ł)是一种基于“点对点”(peer-to-peer)技术的网络货币,也是MIT/X11许可下的一个开源软件项目。它可以帮助用户即时付款给世界上任何一个人。
莱特币受到了比特币(BTC)的启发,并且在技术上具有相同的实现原理,莱特币的创造和转让基于一种开源的加密协议,不受到任何中央机构的管理。莱特币旨在改进比特币,与其相比,莱特币具有三种显著差异。第一,莱特币网络每2.5分钟(而不是10分钟)就可以处理一个块,因此可以提供更快的交易确认。第二,莱特币网络预期产出8400万个莱特币,是比特币网络发行货币量的四倍之多。第三,莱特币在其工作量证明算法中使用了由Colin Percival首次提出的scrypt加密算法,这使得相比于比特币,在普通计算机上进行莱特币挖掘更为容易。每一个莱特币被分成100,000,000个更小的单位,通过八位小数来界定。
设计目的
它基于比特币(Bitcoin)协议,但不同于比特币的地方在于,即使在现阶段,通过消费级的硬件也可以高效地“挖矿”。Litecoin提供给您更快速的交易确认(平均2.5分钟),它使用硬内存以及基于scrypt(一种加密算法)的挖矿工作量证明算法,面向大多数人使用的普通计算机及图形处理器(GPU)。Litecoin网络预期将生产8400万个货币单位。
Litecoin的设计目的之一是提供一种挖掘算法,使它能够在挖掘比特币的机器上被同时运行。为挖掘比特币而设计的专用集成电路(ASIC)逐渐兴起的同时,Litecoin也紧跟着技术演变。但在Litecoin货币被广泛应用之前,不太可能会出现专门为Litecoin设计的专用集成电路(ASIC)。
相关网站社区
Litecoin官方网站
Litecointalk 官方论坛
莱特币中国社区
交易
由一个类似于比特币的点对点网络,通过Scrypt工作量证明方案来处理莱特币交易、结余以及发行(当一个足够小的哈希值被发现时,一个块就会被创建,此时莱特币就会被发行,而发现这个哈希值和创建块的过程被称作“挖矿”)。莱特币的发行速率按照等比数列,每四年(每840,000个块)减少一半,最终达到总量8400万个LTC。不同于比特币,Scrypt所具有的内存密集特性让莱特币更适合用图形处理器(GPU)进行“挖矿”。为Scrypt实施的FPGA(现场可编辑逻辑门阵列)和ASIC(专用集成电路),相比于比特币使用的sha256,更为昂贵。
莱特币当前可以交换法定货币以及比特币,大多数通过线上交易平台。可撤销的交易(比如用信用卡进行的交易)一般不用于购买莱特币,因为莱特币的交易是不可逆的,因此带来了退款风险。截止到2013年4月25日,一个莱特币价值大约3.97美元或者0.028比特币。这使得莱特币成为市值最高约35,000,000美元的第二大电子货币。
客户端
Litecoin是一款在MIT/X11许可下发布的免费软件项目,它让您能够根据自己的需要对软件进行运行、修改和复制。如果你愿意,你也可以发行软件的修改版本。
该软件以完全透明的形式发布,用户可以对二进制版本以及对应源代码进行独立验证。
矿池
莱特币是需要通过“矿工挖矿“产生的,挖矿是通过计算机显卡进行哈希运算,如果计算到”爆矿“的值,则系统会一次性奖励50个莱特币,目前莱特币的算力增长很快,矿工通过几台电脑已无法挖到矿,因此需要加入矿池,矿池集合了大家所有算力,估计计算到”爆矿“值的概率更大。
目前比较出名的矿池包括:BTCC(原比特币中国)矿池、 waltc.net 鱼池(F2POOL)、WeMineLTC、Coinotron、SilverFish、LiteGuardian、LitecoinPool.org等。但目前收益最高的是F2POOL,近期推出莱特币理论收益+矿池补贴 10%=您的实际收益,受到很多矿工和业内的关注。
全球主要活跃数字货币兑换利率
货币
符号
发行时间
作者
活跃
官网
市值
比特币基础
比特币
BTC
2009
SatoshiNakamoto
是
bitcoin/org
~$243亿美元
是
SHA-256
莱特币
LTC
2011
Coblee
是
litecoin/org
~$36亿美元
是
Scrypt
数据块链
Litecoin块链与其竞争对手——比特币比起来,能够处理更大的交易量。由于数据块的生成更加频繁,该网络可以支持更多的交易,并且无需在将来修改软件。
因此,商家可以获得更快的交易确认,而且在销售大额商品时依然能够等待更多的交易确认。
市场评价事实上,数字虚拟货币远非以上这几种。美国《福布斯》杂志列举出截至美国当地时间27日上午10时,按虚拟货币总市值和价格排出的市场上前30名,法国财经网和《创投邮报》则称,目前交易的虚拟货币至少有60种。《福布斯》该报道称,比特币高居市值第一和单价两项第一,获得“二连亚”的,是由前谷歌程序员李启威设计的莱特币,在截至27日的过去一周内,莱特币价格从6美元迅速涨至26美元,涨幅可观。总市值第三至第五名,是点点币、名币和质数币。该报道统计了截至27日的24小时涨幅,这30种货币几乎全线上涨,夸克币涨幅最大,达到278.55%。该报道也称,几乎所有虚拟货币都在本轮比特币升势中搭车上涨,但大多数经营惨淡,总市值在100万美元以下的有8家,单价在1美元以下的多达19家。
H. LBTC(闪电比特币)有投资价值吗
虚拟货币,或者更正式的叫法,数字货币。它虽然带着货币的字眼,但更准确的理解,应该是一种数字化的金融资产,它之所以有价值,是源自背后区块链技术在支付、清算、公证、数字验证等方面的应用,带来效率提升、成本降低的结果。
你可以这样理解,它就像是这些技术服务商们的股票。当这些技术应用越来越广时,这些虚拟币就越来越值钱了。
2009年出现的比特币,是世界上第一种虚拟币,也正是它,第一次应用了如今全世界大红大紫的区块链技术。
在比特币之后,市场上模仿者不断。它们或在比特币基础上改良,或提出了比比特币更宏大的技术设想。其他市场上常见且被业内人士认为是“正规军”的虚拟币,被统称为竞争币,跟比特币一起组成了整个数字货币市场,总市值接近1千亿美元。
市场上虚拟币成千上万种,绝大多数风险很大;另外还有很多干脆就是以骗人为目的的传销币。
为了帮大家避免上当受骗,下面简单介绍一下最主要的几种“正规军”:
1. 比特币(BTC)
比特币是世界上第一种虚拟币,全部总量设定为2100万个。目前已经“挖”出的比特币超过1600万个,总市值约450亿美元,相当于全部虚拟币总市值的一半,是目前当之无愧的币圈老大。
比特币目前已被全球几十万个商家接受为支付币种;另外在各种区块链技术的创业中,比特币也成了通用的筹集资金的货币。因此,随着对比特币的需求加大,从长期看,比特币的价值可能会越来越大。
2. 以太币(ETH)
以太币被视为“比特币2.0版”,也是最有可能超越比特币市值的竞争币。前段时间市值一度接近比特币,不过最近一个月来的价格下调,目前市值只有比特币的一半左右。
以太币于2014年夏天诞生,它是在以太坊区块链上发行的,跟比特币不一样。以太坊区块链是一个去中心化的应用平台,解决了比特币自身技术上局限于货币应用、功能扩展性不足的问题,因此有着较大的技术优势。
3.比特现金(BCH)
BCH继承了少部分比特币遗产,比特币现金的名字也不错,形象logo也继承到了比特币的一部分。BCH的生态也是不错的。
BCH追求做一个世界货币,和一个链上应用底层平台。BCH正在积极部署主链扩容和发展二层网络来实现理想。
整个生态主要从两方面努力。第一个方向是做主链扩容、支付体验和功能完善。扩容是保持货币交易手续费确定性很低的保证。提高支付体验,包括普及零确认,预共识,以及可能的缩短区块时间,等,都是朝着更好的支付体验方向进化。主链功能完善包括OP_Return扩容,发代币,添加新操作码这些。
虽然BCH主链功能的扩展,基于BCH的应用就可以发展起来。最著名的是memo这样的去中心化微博,JoyStream这样的付费下载种子的应用,keyport这种去中心化加密通信等等。
第二个方向是发展二层网络。基于BCH网络来搭建新的区块链,比如虫洞和Kenoken都是基于BCH的类似以太坊的网络。BCH通过二层网络来承接更复杂的区块链功能,如通知合约。BCH二层网络的竞争方向是和BTC的侧链相竞争。
4.闪电比特币(LBTC)
比特币发展到今天已经有10个年头了,在这十年的发展中,比特币一共经历了三次重要的分裂,现在变成了四种货币,第一种是目前继承了比特币绝大多数遗产的BTC;第二种是BCH;第三种是BSV,第四种是LBTC。
LBTC的诞生是为了破除大矿工和Bitcoin Core对比特币的权力垄断,为比特币引入更多的新特性和功能,并大幅度提升性能。闪电比特币(Lightning Bitcoin, LBTC)是一种点对点的电子现金系统,是基于比特币的创新实验,它使用基于UTXO的DPoS共识机制,将投票权和记帐权分开,使代币不再被任一方绑架,是一种极高速度、低手续费、高扩展性的全球价值互联网传输协议。由于采用了DPoS共识机制,用户不用专业矿机也能够参与,达到真正的去中心化。
上面这4种,就是当前最主流的比特币协议分叉版本,也是能够实现你财富暴涨愿望的投资品,老司机们可以玩玩,不过前提是,你需要做好巨亏的准备——因为他们的波动非常大。
对于小白,我想说:虽然虚拟币是普通人逆袭暴富的秘密武器,不过这玩意大起大落,你要想从中赚到大钱,其实很难。
另外,目前来看,虚比特币的价位算是处于高位的,不排除是2019年以横盘为主。这个时候,我觉得可以抄底一些其他主流分叉币,比如BCH,BSV和LBTC是不错的选择。
I. 比特币矿池的协议stratum
转自: https://zhuanlan.hu.com/p/23558268
getblocktemplate协议诞生于2012年中叶,此时矿池已经出现。矿池采用getblocktemplate协议与节点客户端交互,采用stratum协议与矿工交互,这是最典型的矿池搭建模式。
与getwork相比,getblocktemplate协议最大的不同点是:getblocktemplate协议让矿工自行构造区块。如此一来,节点和挖矿完全分离。对于getwork来说,区块链是黑暗的,getwork对区块链一无所知,他只知道修改data字段的4个字节。对于getblocktemplate来说,整个区块链是透明的,getblocktemplate掌握区块链上与挖矿有关的所有信息,包括待确认交易池,getblocktemplate可以自己选择包含进区块的交易。
挖矿有两种方式,一种叫SOLO挖矿,另一种是去矿池挖矿。前文所述的在节点客户端直接启动CPU挖矿,以及依靠getwork+cgminer驱动显卡直接连接节点客户端挖矿,都是SOLO挖矿,SOLO好比自己独资买彩票,不轻易中奖,中奖则收益全部归自己所有。去矿池挖矿好比合买彩票,大家一起出钱,能买一堆彩票,中奖后按出资比率分配收益。理论上,矿机可以借助getblocktemplate协议链接节点客户端SOLO挖矿,但其实早已没有矿工会那么做,在写这篇文章时,比特币全网算力1600P+,而当前最先进的矿机算力10T左右,如此算来,单台矿机SOLO挖到一个块的概率不到16万分之一,矿工(人)投入真金白银购买矿机、交付电费,不会做风险那么高的投资,显然投入矿池抱团挖矿以降低风险,获得稳定收益更加适合。因此矿池的出现是必然,也不可消除,无论是否破坏系统的去中心化原则。
矿池的核心工作是给矿工分配任务,统计工作量并分发收益。矿池将区块难度分成很多难度更小的任务下发给矿工计算,矿工完成一个任务后将工作量提交给矿池,叫提交一个share。假如全网区块难度要求Hash运算结果的前70个比特位都是0,那么矿池给矿工分配的任务可能只要求前30位是0(根据矿工算力调节),矿工完成指定难度任务后上交share,矿池再检测在满足前30位为0的基础上,看看是否碰巧前70位都是0。
矿池会根据每个矿工的算力情况分配不同难度的任务,矿池是如何判断矿工算力大小以分配合适的任务难度呢?调节思路和比特币区块难度一样,矿池需要借助矿工的share率,矿池希望给每个矿工分配的任务都足够让矿工运算一定时间,比如说1秒,如果矿工在一秒之内完成了几次任务,说明矿池当前给到的难度低了,需要调高,反之。如此下来,经过一段时间调节,矿池能给矿工分配合理难度,并计算出矿工的算力。
矿池通过getblocktemplate协议与网络节点交互,以获得区块链的最新信息,通过stratum协议与矿工交互。此外,为了让之前用getwork协议挖矿的软件也可以连接到矿池挖矿,矿池一般也支持getwork协议,通过阶层挖矿代理机制实现(Stratum mining proxy)。须知在矿池刚出现时,显卡挖矿还是主力,getwork用起来非常方便,另外早期的FPGA矿机有些是用getwork实现的,stratum与矿池采用TCP方式通信,数据使用JSON封装格式。
先来说一下getblocktemplate遗留下来的几个问题:
矿工驱动:在getblocktemplate协议里,依然是由矿工主动通过HTTP方式调用RPC接口向节点申请挖矿数据,这就意味着,网络最新区块的变动无法及时告知矿工,造成算力损失。
数据负载:如上所述,如今正常的一次getblocktemplate调用节点都会反馈回1.5M左右的数据,其中主要数据是交易列表,矿工与矿池需频繁交互数据,显然不能每次分配工作都要给矿工附带那么多信息。再者巨大的内存需求将大大影响矿机性能,增加成本。
Stratum协议彻底解决了以上问题。
Stratum协议采用主动分配任务的方式,也就是说,矿池任何时候都可以给矿工指派新任务,对于矿工来说,如果收到矿池指派的新任务,应立即无条件转向新任务;矿工也可以主动跟矿池申请新任务。
现在最核心的问题是如何让矿工获得更大的搜索空间,如果参照getwork协议,仅仅给矿工可以改变nNonce和nTime字段,则交互的数据量很少,但这点搜索空间肯定是不够的。想增加搜索空间,只能在hashMerkleroot下功夫,如果让矿工自己构造coinbase,那么搜索空间的问题将迎刃而解,但代价是必要要把区块包含的所有交易都交给矿工,矿工才能构造交易列表的Merkleroot,这对于矿工来说压力更大,对于矿池带宽要求也更高。
Stratum协议巧妙解决了这个问题,成功实现既可以给矿工增加足够的搜索空间,又只需要交互很少的数据量,这也是Stratum协议最具创新的地方。
再来回顾一下区块头的6个字段80字节,这个很关键,nVersion,nBits,hashPrevBlock这3个字段是固定的,nNonce,nTime这两个字段是矿工现在就可以改变的。增加搜索空间只能从hashMerkleroot下手,这个绕不过去。Stratum协议让矿工自己构造coinbase交易,coinbase的scriptSig字段有很多字节可以让矿工自由填充,而coinbase的改动意味着hashMerkleroot的改变。从coinbase构造hashMerkleroot无需全部交易,
如上图所示,假如区块将包含13笔交易,矿池先对这13笔交易进行处理,最后只要把图中的4个黑点(Hash值)交付给矿工,同时将构造coinbase需要的信息交付给矿工,矿工就可以自己构造hashMerkleroot(图中的绿点都是矿工自行计算获得,两两合并Hash时,规定下一个黑点代表的hash值总是放在右边)
。按照这种方式,假如区块包含N笔交易,矿池可以浓缩成log2(N)个hash值交付给矿工,这大大降低了矿池和矿工交互的数据量。
Stratum协议严格规定了矿工和矿池交互的接口数据结构和交互逻辑,具体如下:
1. 矿工订阅任务
启动挖矿机器,使用mining.subscribe方法链接矿池
返回数据很重要,矿工需本地记录,在整个挖矿过程中都用到,其中:
Extranonce1,和 Extranonce2对于挖矿很重要,增加的搜索空间就在这里,现在,我们至少有了8个字节的搜索空间,即nNonce的4个字节,以及 Extranonce2的4个字节。
2. 矿池授权
在矿池注册一个账号 ,添加矿工,矿池允许每个账号任意添加矿工数,并取不同名字以区分。矿工使用mining.authorize方法申请授权,只有被矿池授权的矿工才能收到矿池指派任务。
3. 矿池分配任务
以上每个字段信息都是必不可少,其中:
有了以上信息,再加上之前拿到的Extranonce1 和Extranonce2_size,就可以挖矿了。
4. 挖矿
1) 构造coinbase交易
用到的信息包括Coinb1, Extranonce1, Extranonce2_size 以及Coinb2,构造很简单:
为啥可以这样,因为矿池帮矿工做了很多工作,矿池已经构建了coinbase交易,系列化后在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定信息,比如coinb1包含区块高度,coinb2包含了矿工的收益地址和收益额等信息,但是这些信息对于矿工来说无关紧要,矿工挖矿的地方只是Extranonce2 的4个字节。另外Extranonce1是矿池写入区块的指定信息,一般来说,每个矿池会写入自己矿池的信息,比如矿池名字或者域名,我们就是根据这个信息统计每个矿池在全网的算力比重。
2) 构建Merkleroot
利用coinbase和merkle_branch,按照上图方式构造hashMerkleroot字段。
3) 构建区块头
填充余下的5个字段,现在,矿池可以在nNonce和Extranonce2 里搜索进行挖矿,如果嫌搜索空间还不够,只要增加Extranonce2_size为多几个字节就可轻而易举解决。
5. 矿工提交工作量
当矿工找到一个符合难度的shares时,提交给矿池,提交的信息量很少,都是必不可少的字段:
矿池拿到以上5个字段后,首先根据任务号ID找出之前分配任务前存储的信息(主要是构建的coinbase交易以及包含的交易列表等),然后重构区块,再验证shares难度,对于符合难度要求的shares,再检测是否符合全网难度。
6. 矿池给矿工调节难度
矿池记录每个矿工的难度,并根据shares率不断调节以指定合适难度。矿池可以随时通过mining.set_difficulty方法给矿工发消息另其改变难度。
如上,Stratum协议核心理念基本解析清楚,在getblocktemplate协议和Stratum协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。