tmining区块链
转自: 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协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。
❷ 区块链专业有哪些词汇英文(区块链技术翻译成英文)
区块链英文区块链的英文是Blockchain。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链起源于比特币,近年来,世界对比特币的态度起起落落,但作为比特币底层技术之一的区块链技术日益受到重视。
区块链是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
超详细整理区块链和加密货币行业术语(建议收藏)比特币词汇表:你需要知道的每一个区块链和加密货币短语
尽管困难重重,区块链技术已成为主流。比特币已成为家喻户晓的词,世界各地的金融机构都投资于加密货币或允许其客户这样做。与此同时,NFT吸引了各路名人的加入和赞赏。
但尽管如此,区块链技术仍然非常神秘。只有才华横溢的工程师才能真正理解这些——其中许多人是比特币和以太币等加密货币的早期采用者,而对于外行来说可能仍是很困难的。
以下是您可能会觉得有用的区块链术语的词汇表。(所有短语按英文字母顺序排列)
空投(Airdrop)
空投是指公司将加密货币或NFT直接放入您的钱包中。区块链服务将推出代币并空投给曾使用过该服务的用户,而不是首次公开募股。这样做有几个原因:它可以是纯粹的营销,因为空投提高了人们可以投资的代币的意识,或者可以为DAO提供治理代币。
最近的一个例子:以太坊名称服务允许用户将他们的钱包号码更改为钱包名称(如CNET.eth)。去年12月,它推出了自己的ENS代币,向所有使用该服务的人空投了一定金额。使用以太坊名称服务的人越多,他们被空投的代币就越多——在某些情况下价值数万美元。
山寨币(Altcoin)
任何不是比特币或以太币的加密货币都被称为山寨币(Altcoin)。有时候也被称为“shitcoins。”
币安(Binance)
世界上最大的加密货币交易所,人们在这里购买和交易加密货币。它正在接受美国司法部和美国国税局的逃税和洗钱调查。
区块链(Blockchain)
区块链是“分布式数据库”。简单来说,它是一个去中心化的账本,将信息记录在数字“块”中。一旦一个块被挖掘并添加到链中,它就不能被更改,因此区块链提供了不可更改数据的公共记录。
有许多不同的区块链具有不同程度的去中心化、效率和安全性。许多人拥有自己的加密货币——例如,以太币是一种建立在以太坊区块链上的加密货币。
比特币(Bitcoin)
比特币是第一个加密货币,建立在比特币区块链之上。它是由一个人或一群人以中本聪的笔名于2009年创建的。只能铸造2100万枚,其中大约1890万枚已经在流通。
销毁(Burning)
加密货币通过发送到只能接收而不能发出的钱包而被“烧毁”。销毁机制通常被用来造成通缩影响:流通中的代币越少,投资者持有的代币就越稀缺。
买跌(Buythedip)
这是指在价格下跌后购买更多资产。例如,如果价格下跌10,000美元,比特币持有者可能会“逢低买入”。
冷钱包(ColdWallet)
未连接到互联网的加密货币钱包。这些钱包更安全,更不容易受骗。
跨链(Cross-chain)
将数据、代币或资产从一个区块链发送到另一个区块链的能力。这不同于为在多个区块链上工作而构建的“多链”服务。
密码学(Cryptography)
一种信息加密形式,其中数据只能使用密钥进行解密。使用工作量证明协议的区块链依赖于解决极其复杂的密码学难题,以便挖掘和验证新区块。
加密货币(Cryptocurrency)
加密货币是区块链原生的代币。加密货币通常随着每个新区块的开采而铸造。例如,每挖出一个新的以太坊区块,都会获得两个以太币作为对矿工的补偿。
加密货币是一种代币。它们的诞生是它们的决定性因素:其他代币是使用构建在区块链之上的平台和应用程序创建的,而加密货币则内置于区块链的协议中。
去中心化应用(Dapps)
去中心化应用程序的缩写。
道(DAO)
一个去中心化的自治组织。DAO是一个通过共识做出决策的组织:所有治理代币的持有者都在组织决策中获得投票权,投票最多的解决方案是DAO的行动方案。想象一个去中心化的投资银行,但不是由基金经理做出投资决定,而是由其治理代币的持有者投票决定如何投资其国库中的资金。
去中心化交易所(Decentralizedexchange)
去中心化交易所用于购买和交易加密货币。与典型的交易所不同,这些交易所使用绕过任何中心化权威的点对点交易。其中包括Uniswap和Sushiswap。
去中心化金融(DeFi)
“decentralizedfinance”的缩写。DeFi是使用区块链技术绕过中心化机构任何金融工具,例如智能合约或DAO。
钻石手(DiamondHands)
钻石手是长期或在价格动荡期间持有金融资产的人。
DYOR
“DoYourOwnResearch”的缩写。
以太币(ETH)
在以太坊区块链上开采的加密货币。以太币的市值仅次于比特币,但却是一种更常用的加密货币。大多数山寨币也是基于以太坊构建的,因此与以太币挂钩。大多数NFT也建立在以太坊上,这就是为什么以太是NFT交易中使用的主要代币。
以太坊(Ethereum)
与比特币竞争的区块链。它旨在采用比特币开发人员开创的区块链技术,并将其用于更复杂的金融工具,如智能合约。
闪贷(Flashloan)
闪电贷是一种DeFi工具,允许在没有抵押品的情况下进行贷款。闪电贷允许您借钱购买资产,但前提是可以购买资产并在同一区块内偿还利息。想象一下,使用贷款购买一栋100万美元的房子,但只有当您已经排好另一个愿意支付足够费用让您偿还贷款和利息的买家时,贷款才会被批准。
这些贷款使用智能合约技术。
FUD
“fear,uncertaintyanddoubt”的缩写。这可能是合法的,例如人们对代币或NFT项目的安全性或合法性或安全性表示担忧,例如鼓励人们出售、降低资产价格的有组织的举动。
Gas
Gas是您使用以太坊网络所要支付的价格。每笔交易都需要支付gas费,这取决于区块链的过载程度。每笔交易的价格通常在50美元到500美元之间,但在网络负载过重时价格可能会飙升。
治理代币(Governancetoken)
治理代币是赋予所有者对给定项目投票权的加密货币。另请参阅:DAO。
GWEI
gas的成本以GWEI表示。作为粗略的指导,当gwei低于50时,gas会很便宜,而当gwei高于100时,gas会很贵。
HODL
“hold”的故意拼写错误,用于鼓励人们在价格下跌期间持有他们的代币。
Layer1和Layer2
如果您涉足加密货币,您会听说Layer1和Layer2解决方案。Layer1是区块链架构本身,而Layer2是指建立在区块链之上的架构。
例如,以以太坊的高gas成本问题为例。Layer1解决方案是让以太坊区块链更高效,例如通过采用权益证明协议。Layer2解决方案的一个例子是ImmutibleX,这是一个建立在以太坊之上的交易所,它使用智能合约技术允许无气体、碳中和的交易。
流动性市场(LiquidMarket)
流动性市场是一个拥有大量买家和卖家的市场,它允许几乎立即完成买卖订单。加密货币市场具有流动性,而NFT市场则不然。大多数合法的加密货币可以随时买卖,因为NFT交易者需要列出待售物品,希望买家手动购买。
主网(Mainnet)
一个供公众使用的区块链协议将被放入主网。这将它与测试网区分开来,后者更像是区块链协议的测试版发布。
模因币(Memecoins)
许多加密货币旨在提供实用程序或服务为目的。Memecoins不提供实用前景,纯粹作为投机资产存在。狗狗币是最知名的,但还有很多很多。
元掩码(MetaMask)
一种基于浏览器的在线数字钱包,主要用于以太坊区块链上的交易。
矿业(Mining)
挖矿是验证交易并将区块添加到区块链的过程。这通常涉及解决复杂密码问题的强大计算机。至关重要的是,这也是将新的加密货币添加到流通中的方式。
矿机(MiningRig)
为挖掘加密货币的特定目的而设置的功能强大的计算机。
矿场(MiningFarm)
全天运行的采矿设备仓库(或房间),用于挖掘加密货币。
铸币(Mint)
在区块链上,铸币意味着验证信息并将其作为区块链上的一个块。
“铸造”NFT意味着在公开发售期间从其创建者那里购买它。“铸币价格”是指它的创造者出售它的价格——例如无聊猿游艇俱乐部的“铸币价格”是0.08以太币。在一个集合中的所有NFT都被铸造之后,想要接触该集合的交易者需要从OpenSea等二级市场购买它们。
多链(Multi-chain)
设计用于多个区块链的应用程序或服务。这与跨链应用程序和服务不同,跨链应用程序和服务旨在将数据或资产从一个区块链发送到另一个区块链。
月球(MOON)
价格的急剧飙升被称为“mooning”或“amoon”。“Tothemoon(去月球)”是一个常见的短语。
NFT
不可替代的代币(Non-fungibletoken)。这些是证明数字资产所有权的数字契约。目前,它们与艺术相关,但NFT可以证明任何数字的所有权。
链下/链上(Off-Chain/On-chain)
链上是指存在于区块链上的东西,链下是指存在于区块链之外的东西。加密货币是链上货币,法定货币是链下货币。
OpenSea
它是最大的NFT市场,专门研究基于以太坊的NFT。(建立在不同区块链上的NFT通常在专门的市场上出售。例如,SolanaNFT在Solanat上出售。)
PlaytoEarn(P2E)
PlaytoEarn(P2E)游戏集成了区块链,并以游戏内加密货币奖励玩家。这些游戏中的加密货币可以兑换成比特币或以太币。最突出的例子是AxieInfinity,玩家可以获得SmoothLovePotion($SLP)。
工作量证明(ProofofWork)
工作量证明(POW)是一种共识机制,通过该机制将块添加到区块链中。工作量证明要求矿工解决复杂的密码学难题,这需要强大的采矿设备提供大量能源,以验证新的区块链交易。
工作量证明是一种安全且去中心化的共识机制,但效率低下是出了名的。这就是比特币和以太坊区块链的运作方式,尽管以太坊很快就会转向更高效的权益证明(ProofofStake)。
权益证明(ProofofStake)
面对工作量证明的巨大能源需求,权益证明(POS)是一种更新的共识机制,可以更有效地挖掘区块。权益证明允许加密货币持有者在相关区块链上验证新区块。
他们通过抵押他们的加密货币来做到这一点。网络用户质押他们的加密货币,如果他们的股份是通过随机算法选择的,他们就有机会验证一个新区块——为此他们将获得更多加密货币形式的奖励。质押的加密货币越多,选择用户验证新区块的机会就越大。
工作证明奖励那些花费最多计算能力来解决密码难题的人,而权益证明奖励那些长期投资加密货币的人。
抽水和倾销(Pumpandmp)
抽水和倾销计划涉及对产品的人为刺激,从而导致人们购买并提高其价格。然后,抽水和倾销协调者以高价出售其资产,从而导致价格急剧下跌。
这些存在于传统市场中,但在加密货币交易中更为常见,因为微市值加密货币的低流动性使其价格更容易操纵。
地毯拉动(Rugpull)
地毯拉动是指加密货币的创造者消失,并带走资金。最近的一个例子是伪造的SquidGame硬币,尽管这些硬币远非罕见。“地毯”本质上是“骗局”的简写。
中本聪(SatoshiNakamoto)
比特币创造者的化名。解释去中心化金融的必要性和解释比特币如何运作的白皮书由中本聪签署,但没有人知道真实的人是谁。据推测,中本聪实际上是几个人。
助记词(SeedPhrase)
当你创建一个加密货币钱包时,你会得到一个12字的种子短语。每次在新设备上登录钱包时,都需要使用助记词。永远不要把你的助记词给任何人。
分片(Sharding)
分片在区块链上分配网络负载,允许每秒处理更多事务。这听起来很枯燥,但它非常重要。以太坊将在明年整合分片,这将使使用它更便宜,对环境的破坏也更小。
垃圾币(Shitcoin)
Shitcoin是一种不提供任何效用的山寨币,无论是memecoin还是无效的山寨币。
丝绸之路(SilkRoad)
SilkRoad是一个在线黑市,于2013年被FBI关闭。这是许多人第一次接触加密货币的地方,因为比特币是该网站非法商品的流行支付方式。
智能合约(Smartcontract)
智能合约是在满足所需条件时自行执行的数字合约。例如,如果WalletX向WalletY发送0.08ether,WalletY向WalletX发送NFTZ。它们最常用于自动交易,但也可用于更复杂的用途,例如快速贷款。
稳定币(Stablecoin)
稳定币是与美元挂钩的加密货币。其中包括Tether和USDC。他们的目的是让加密货币交易者将他们的代币保存在加密生态系统中,而不会经历比特币和以太币价格波动的波动。
质押(Staking)
权益质押是在加密货币钱包中锁定持有资金,从而支持区块链网络运营。从本质上讲,它包括锁定加密货币以获得奖励。在大多数情况下,该流程需要用户使用个人加密钱包参与到区块链活动中。
权益质押的概念与权益证明(PoS)机制密切相关。它被用于许多基于PoS或相类似的其他区块链系统中。
TLT
“thinklongterm”的缩写。
代币(Token)
代币是多种形式的区块链资产。像比特币这样的加密货币是一种代币。其他类型包括治理代币,它授予持有者在DAO或服务中的投票权,或实用代币,其中根据持有的代币数量授予对服务的访问权限。
TXN
交易(transaction)的缩写。
实用代币(UtilityToken)
旨在提供某种功能的代币。这些可以是对应用程序、服务或游戏的访问。示例包括Filecoin,它授予对基于区块链的数字存储的访问权限,以及Link,它连接了链下类型数据的智能合约。
虚荣地址(VanityAddress)
由EthereumNameService等公司提供的个性化钱包地址。它允许您将钱包地址更改为您选择的单词或短语,例如CNET.eth。
Vaporware
承诺但从未真正进入市场的产品。该术语在90年代后期随着最初的互联网繁荣而流行起来,并且由于阴暗的加密货币创造者而得到了复兴。
维塔利克·布特林(VitalikButerin)
以太坊区块链背后的创造者。
钱包(Wallet)
加密货币钱包是您可以存储加密货币和NFT的地方。这些钱包可以是热钱包或冷钱包——即连接到互联网的浏览器钱包或未连接到互联网的物理硬件。钱包可以读写,这意味着它们可以接收信息,也可以作为签名或在线ID。
Web3
Web3是区块链爱好者想象的互联网的下一次迭代。从互联网发明到2005年左右,Web1是只读互联网。Web2指的是用户能够制作内容并将其上传到互联网上的出现。Web3将是一个集成了区块链的互联网。想象一下,将您的社交媒体帖子作为NFT拥有,使用像以太币这样的加密货币作为通用货币,并将您的钱包作为一种ID形式而不是电子邮件/密码组合。
鲸(Whale)
持有大量加密货币的人。
白名单(Whitelist)
加密货币和NFT的预售清单。列入白名单的投资者可以在公开发行前购买资产,有时以折扣价购买。
WAGMI
“we'reallgoingtomakeit”的缩写。
“区块链”用专业的英语翻译出来应该是什么?为您解答
区块链(blockchain)
首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。