科普:以太坊挖矿原理
以太坊,和所有区块链技术一样,使用激励驱动的安全模式。任何在网络上宣称自己是矿工的节点都可以尝试创建和验证区块。世界各地的很多矿工都在同一时间创建和验证区块。
一、以太坊挖矿基本原理:
以太坊,和所有区块链技术一样,使用激励驱动的安全模式。任何在网络上宣称自己是矿工的节点都可以尝试创建和验证区块。世界各地的很多矿工都在同一时间创建和验证区块。每个矿工在提交一个区块到区块链上的时候都会提供一个数学机制的“证明”。这个证明就像一个保证:如果这个证明存在,那么这个区块一定是有效的。
为了让一个区块添加到主链上,一个矿工必须要比其他矿工更快的提供出这个“证明”。通过矿工提供的一个数学机制的“证明”来证实每个区块的过程称之为工作量证明(proof of work)。证实了一个新区块的矿工都会被奖励一定价值的奖赏。奖赏是什么?以太坊使用一种内在数字代币—以太币(Ether)作为奖赏。每次矿工证明了一个新区块,那么就会产生新的以太币并被奖励给矿工。
二、以太坊和比特币的不同
相同点:
比特币和以太坊都是成功的区块链技术应用,通过比特币人们认识到了区块链技术,有了以太坊人们才意识到区块链还可以独立出来。它们都是建立在区块链的基础之上的,其中的交易都会公开记录,货币及资产交易更加便捷优惠,去除了繁琐的中间人。
不同点:
比特币是点对点的去中心化数字支付系统,类似一家可以全球结算的银行。而这个银行是没有中心化组织成员的,没有CEO,没有管理员,只有代码和共识的基础原则。点对点价值传输,不需要其他第三方,或者信任机构。
比特币总量2100W,每生产21W个区块,一个区块产生的比特币数减半,约每10min产生一个区块,总体来说是一种通货紧缩的电子货币。以太坊的定义是点对点的去中心化虚拟机,可以理解为一种平台,使用代币实现价值分配,吸引各方共建生态。以太币的总量无上限。
三、智能合约与ERC20协议
智能合约首先它是一种合约,通过代码的形式约定了交易执行的双方,以及约定了合约执行的一些触发条件,一旦这些条件被触发,就会自动执行约定好的相关操作,一般是一些交易,这些交易会被矿工挖取,最终合入公链,不可抵赖,不可回退。
例如,ICO相关的智能合约,约定了要众筹的以太币,以及会返给用户的代发币,一旦众筹到足够的以太币触发了设定的条件,智能合约就会把相应的代发币发送到用户的相关账户。
以太坊上的智能合约基本都是在网上开源的,任何用户都可以看到,里面定义了相关的接口,以及触发时间,如果没有一个统一的标准,一堆的智能合约会让大家很难了解到这个智能合约具体是做什么的,这时候就出了ERC20协议,开发人员通过查看别的智能合约就能很方便的知道它相关接口的作用,进而去在自己的合约中调用。标准化非常有利,也就意味着这些资产可以用于不同的平台和项目,否则只能用在特定的场合。
四、以太坊为什么能用于发币
因为有智能合约的存在,可以通过合约来约定众筹的代发币最终会进入用户账户,并且因为代币使用相同的标准ERC20,这样代币直接的兑换和DAPP支持在以太坊生态上就会变得容易。
五、以太坊的交易限制
每笔交易,交易发起方都要设置交易的Gas Limit和 Gas Price,不同的操作会产生不同的Gas成本,Gas用完时矿工将停止执行,使用的Gas会作为奖励,奖励给挖矿的矿工,如果有剩余Gas,会退还给交易发起方或智能合约创建者,如果用户设置的限制值太低,或者账号中的eth不足以支付Gas消耗,那么这笔交易会因为Gas不足而被取消,并且用于计算的Gas不会退到账户。
六、以太坊全网算力
以太坊上当前所有矿机的总算力,目前矿池上的是根据当前区块的难度值计算出来的。
七、以太坊挖矿难度
区块的难度是被用来在验证区块时加强一致性。创世纪区块的难度是131,072,有一个特殊的公式用来计算之后的每个块的难度。如果某个区块比前一个区块验证的更快,以太坊协议就会增加区块的难度。通过调整区块难度,就可以调整验证区块所需的时间,即爆块速度。验证时间的自我调节来保持以恒定的速率产生新块。
八、单卡算力与挖矿收益的关系
单卡算力越高,能进行的验证次数就越多,得到符合公式的结果的几率就越大,如果是使用矿池的话,也就是提交的share数会越多,那么挖矿收益会越高。
相关阅读