当前位置:首页 » 挖矿知识 » dag挖矿修复

dag挖矿修复

发布时间: 2023-07-26 15:53:18

A. 什么是DAG

参考 Explaining Directed Acylic Graph (DAG), The Real Blockchain 3.0

Bitcoin视为blockchain 1.0, Ethereum视为2.0, 那么3.0是什么? DAG可能会是.

DAG, 即Direct Acyclic Graph, 有向无环图. 它的特点是节点有先后次序, 可以有分叉, 但还不会有环. DAG常用语数据处理, 事务规划, 最优路径查找, 数据压缩

bitcoin之所以效率低是因为它的POW机制. 整个网络只有一个主链, 其上的新块只能有一个, 无法同时创建多个新块. 10分钟左右以内的所有交易记录都被记录到一个块中. Ethereum也是类似, 大概15-20秒产生一个新块.

NXT 是第一个想到用DAG替代blockchain单链表结构的组织.

有了DAG, 就可以同一时间创建多个块.

使用DAG的想法来自于侧链(side-chain). 不同类型的交易在不同的链上同时进行.

IoT Chain (ITC), IOTA , 和 Byteball 是没有block概念的项目.

如果每个block只有一个transaction, 那这个transaction就不用等待被打包, 跳过计算hash的过程(即挖矿), 直接上链了.

Bitcoin使用UTXO(Unspent Transaction output)模型.

DAG网络中, 降低网络宽度是比较重要的一个课题.

由于只有transaction, 没有打包的过程, DAG比基于PoW或PoS的区块链更快.

DAG网络里, 没有矿工. 交易的验证直接在交易时进行. 对于用户来说这意味着交易可以瞬间完成.

DAG可以有效降低交易费.

IoT Chain (ITC) 所基于的DAG的TPS达到10,000.

B. 以太坊多节点私有链部署

假设两台电脑A和B
要求:
1、两台电脑要在一个网络中,能ping通
2、两个节点使用相同的创世区块文件
3、禁用ipc;同时使用参数--nodiscover
4、networkid要相同,端口号可以不同

1.4 搭建私有链
1.4.1 创建目录和genesis.json文件
创建私有链根目录./testnet
创建数据存储目录./testnet/data0
创建创世区块配置文件./testnet/genesis.json

1.4.2 初始化操作
cd ./eth_test
geth --datadir data0 init genesis.json

1.4.3 启动私有节点

1.4.4 创建账号
personal.newAccount()
1.4.5 查看账号
eth.accounts
1.4.6 查看账号余额
eth.getBalance(eth.accounts[0])
1.4.7 启动&停止挖矿
启动挖矿:
miner.start(1)
其中 start 的参数表示挖矿使用的线程数。第一次启动挖矿会先生成挖矿所需的 DAG 文件,这个过程有点慢,等进度达到 100% 后,就会开始挖矿,此时屏幕会被挖矿信息刷屏。
停止挖矿,在 console 中输入:
miner.stop()
挖到一个区块会奖励5个以太币,挖矿所得的奖励会进入矿工的账户,这个账户叫做 coinbase,默认情况下 coinbase 是本地账户中的第一个账户,可以通过 miner.setEtherbase() 将其他账户设置成 coinbase。

1.4.8 转账
目前,账户 0 已经挖到了 3 个块的奖励,账户 1 的余额还是0:

我们要从账户 0 向账户 1 转账,所以要先解锁账户 0,才能发起交易:

发送交易,账户 0 -> 账户 1:

需要输入密码 123456

此时如果没有挖矿,用 txpool.status 命令可以看到本地交易池中有一个待确认的交易,可以使用 eth.getBlock("pending", true).transactions 查看当前待确认交易。

使用 miner.start() 命令开始挖矿:
miner.start(1);admin.sleepBlocks(1);miner.stop();

新区块挖出后,挖矿结束,查看账户 1 的余额,已经收到了账户 0 的以太币:
web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')

用同样的genesis.json初始化操作
cd ./eth_test
geth --datadir data1 init genesis.json

启动私有节点一,修改 rpcport 和port

可以通过 admin.addPeer() 方法连接到其他节点,两个节点要要指定相同的 chainID。

假设有两个节点:节点一和节点二,chainID 都是 1024,通过下面的步骤就可以从节点二连接到节点一。

首先要知道节点一的 enode 信息,在节点一的 JavaScript console 中执行下面的命令查看 enode 信息:

admin.nodeInfo.enode
" enode://@[::]:30303 "

然后在节点二的 JavaScript console 中执行 admin.addPeer(),就可以连接到节点一:

addPeer() 的参数就是节点一的 enode 信息,注意要把 enode 中的 [::] 替换成节点一的 IP 地址。连接成功后,节点一就会开始同步节点二的区块,同步完成后,任意一个节点开始挖矿,另一个节点会自动同步区块,向任意一个节点发送交易,另一个节点也会收到该笔交易。

通过 admin.peers 可以查看连接到的其他节点信息,通过 net.peerCount 可以查看已连接到的节点数量。

除了上面的方法,也可以在启动节点的时候指定 --bootnodes 选项连接到其他节点。 bootnode 是一个轻量级的引导节点,方便联盟链的搭建 下一节讲 通过 bootnode 自动找到节点

参考: https://cloud.tencent.com/developer/article/1332424

C. GHOST,DAG,SPECTRE,PHANTOM和CONFLUX技术原理

  DAG概念,当做继比特币,以太坊后新的一代区块链技术(区块链3.0),那么DAG区块链是什么?DAG的由来是什么?它的技术理念是怎么样的?运行在DAG区块链上的协议有哪些?

  要想解释DAG,离不开Yonatan Sompolinsky 和 Aviv Zohar两位以色列人,他们是DAG区块链这一概念的提出者。在DAG之前,Aviv Zohar提出了一个GHOST协议(以太坊初期就采用了GHOST协议),该协议解决的是链分叉带来的安全性问题,而分叉的区块链 在GHOST协议下数据结构就从一条链变成了一个树(Tree),而之后Aviv Zohar进一步提出了一个inclusive协议,在inclusive协议规则下,区块的结构就变成了有向无环图(DAG)。

接下来本文将:

  1.介绍 GHOST协议,DAG由来 背后的 设计原理
  2.介绍三种针对DAG型区块链设计的协议,SPECTRE、PHANTOM和CONFLUX。

  GHOST协议是为了解决 分叉 导致 链安全性降低 的一个协议。
  下边将通过解释什么是 分叉 ,为什么 分叉会降低链的安全性 链上扩容 为什么会导致更多分叉来详细介绍GHOST协议。

一笔比特币交易为什么要等6个区块的交易时长呢?
  等待不是为了 防范51%攻击 的。落后6个区块,如果拥有超过51%的算力,只要足够长的时间,一定能够产生更长的链完成攻击。它是为了防止 分叉 带来的风险。
  比特币在 理想情况 下,不同节点之间有相同的一条区块链,全部节点都是基于 同一个区块 进行挖矿,但当两个挖矿节点 几乎同时 挖到一个新的区块,当它们接收到对方产生的区块时,不同的节点将选择基于 其中一个 区块挖矿, 分叉 产生了。之后节点会根据哪条 分叉更长 ,选择哪条是主链进行挖矿,而不是主链的分叉区块全部被 抛弃
  比特币每天都会发生 二分叉 ,但出现连续的 六次分叉 几乎不可能,于是要等待6个区块的确认时间。(这种分叉不是来自恶意攻击,是 偶然性以及网络延迟 导致的。

分叉将‘攻击不超过51%算力,比特币就是安全的’这一理论推翻。
  在比特币中,当链有 分叉 时,将选择分叉 最长 的链作为主链,恶意攻击就是产生一条比主链更长的链 代替主链。
  下图中蓝色区块代表诚实区块,红色代表攻击区块。2号、3号蓝色区块产生 分叉 ,此时攻击节点产生5个攻击区块(红色)就能产生一条 更长 的链完成攻击。虽然蓝色区块总数更多(有6个), 但分叉的区块没有增加链的长度 ,这种情况下,红色攻击方在算力(假设每个区块代表算力相同)没有超过51%的情况下攻击成功。
  比特币当前安全的原因在于10分钟的区块时间降低了分叉可能性,但其实际安全算力仍低于51%,也就是说,不需要51%的算力也能攻击成功。

  采用 大区块 以及 小的产出时间 将导致链有 很多分叉。   
  比特币当前处理交易量很低,改进这个缺陷一个可行方法就是 增大区块的大小和减小区块的产出时间 。大区块需要更多的网络传输时间、单位时间更多的区块数都会导致 更多的分叉 。   
   链上扩容的方案对比特币处理交易能力提升是巨大的 ,假如每个区块大小变为原来的八倍(8M),出块时间缩短为原来的五分之一(2分钟),理想情况下,比特币的处理交易量将变为原来的 40倍 ,实际情况会产生分叉,交易量不会有这么高。

   主链选择中,采用计算最大子树来代替比特币中的最长链规则。   
  比特币的最长链规则在有分叉情况下,将降低链的安全性,分叉越多,安全性越低。链上扩容将导致更多分叉,导致链不安全。
  Yonatan Sompolinsky提出GHOST规则, 当有分叉时,通过计算最大子树,也就是每条分叉拥有的所有区块数来决定哪条链是主链 。图0中,链在区块0后分叉了,上边分叉总计有6个蓝色区块,下边分叉有5个红色区块,蓝色区块1是主链,所以 红色攻击失败 。   
   在有大量分叉的情况下,GHOST规则将链安全性直接提到了51%,分叉对采用GHOST协议的链安全性没有影响。

  根据GHOST规则,上图中虽然诚实节点产生了12个区块,但加入主链的只有4个区块,大量区块 被丢弃 ,假定比特币每个区块大小变为原来的八倍(8M),出块时间缩短为原来的十分之一(1分钟),分叉率为0.33(产生的区块加入主链的概率),比特币的处理交易能力将变为原来的 26.6倍
GHOST协议解决了链上扩容导致分叉带来的安全性问题。
区块的结构类型就从一条链变为树

  在GHOST的提出后,Yonatan Sompolinsky提出一种新的设想,新产生的区块指向所有已知的分叉末端区块,即一个区块有多个父亲,此时 区块链就从一条链变为多条分叉链共同组成的的结构,这样的链结构就被叫做DAG(有向无环图)

Yonatan Sompolinsky进而提出了在DAG上运行的 inclusive协议 ,原理如下:

遗憾的是, Yonatan Sompolinsky之后并没有详细介绍补充该协议 ,而是提出了一种新思路的DAG协议——SPECTRE。

  看完上边内容之后,你会发现, 最长链规则下,分叉的区块对比特币安全性和交易量没有任何贡献 ,白白的浪费了算力,而 GHOST通过计算分叉区块个数来提升链的安全性 ,但分叉区块除了纳入区块计数外,区块内包含的交易信息却全部 被丢弃
  这种新的区块结构带来了新的特性,当然,比特币的 最长链规则 也可以在DAG上实施,只不过安全性和处理交易能力不佳,而GHOST协议可以提高安全性和处理交易能力,为了 最大化 利用DAG区块链特性,社区提出了不同的协议,接下来介绍Yonatan Sompolinsky 提出的 SPECTRE协议 ,以及 PHANTOM协议 ,以及国内某社区提出的 CONFLUX协议

丢弃主链概念,所有产生的区块共同构成账本,不丢弃任何一个区块
  只要是产生的区块就不会被丢弃,所有的区块都是有效的,所有区块共同组成账本,这样进一步提高了区块链的处理交易能力, 该设计的关键在于设计算法来保证区块链不会被恶意攻击成功。   
  SPECTRE协议较为复杂,下边将从其如何产生区块、如何处理冲突交易以及产生可信交易集三个方面进行描述。

SPECTRE协议中,当产生区块时,要指向之前所有分叉的末端区块。
  
下图中,左边为比特币产生区块时,当有分叉出现,新区块将选择基于其中一个产生新的区块,而SPECTRE中,将基于所有分叉末端区块产生新的区块。同时,当有新区块产生时,节点要立刻将新区块(包含基于哪些区块产生这一信息)发送给与自己相连接的节点。

  仔细观察,GHOST协议中虽然有分叉,但每个区块都只基于前边某一个区块产生,而SPECTRE协议中要基于当前节点知道的所有末端区块产生下一个区块。

SPECTRE协议将矿工维持交易不冲突的要求剥除   
  比特币就像一本 权威 的账本,只要是里边记录的,就一定是真的(不考虑分叉和恶意攻击),而SPECTRE产生的DAG就像一本 不权威 账本,里边的交易信息可能冲突(上边图1中两个1区块中可能包含冲突交易信息)。   
  该协议下,挖矿节点只 负责迅速挖区块 (能够达到1秒一个区块),而对分叉中可能包含的冲突交易在挖矿阶段并 不做任何处理 ,将记录交易速度最大化,让DAG这种区块链有着恐怖的处理交易能力。

  是时候解决挖矿不解决的 冲突交易 问题了,SPECTRE的思路是设计一个计算投票的算法,让诚实区块会投票给诚实的区块,后边的诚实区块会给前边的 堆叠算力 ,从而让恶意攻击失败,其安全算力也是 51% 。   
  拿双花举例,下图中,X和Y区块中包含着两条冲突交易会导致双花,此时DAG中的区块会对X和Y进行投票, 决定哪一个交易有效。

投票规则如下,投X的标蓝,投Y的标红,X<Y代表X先于Y:

  根据投票结果,X中的那条交易信息 有效 ,Y中对应的那条交易信息 无效 。   Yonatan Sompolinsky也对 不指向前边区块 以及 产生区块不发给邻居节点的恶意攻击 有进行分析,在投票规则中,低于50%算力的攻击者会失败。   
   投票听起来像是一个主动地中心化行为,实际上不是,程序根据当前DAG区块所处的状态自发完成这一区块投票计算过程,就相当于,给定一个DAG数据,输入为两条冲突信息,运行该规则算法,将得出一对冲突交易的哪一个为有效。

SPECTRE可信交易集就相当于超过当前6个区块的比特币链里组成的交易集合。   区块链从数字加密货币的角度来说,就是一个 账本 ,从账本上的交易信息中得出每个 账户 所拥有的货币,所以,得出 确定的、不可能更改 的交易信息就至关重要,SPECTRE可信交易集产生过程如下:

SPECTRE并不会对所有区块进行排序,所有区块没有一个完整的线形顺序,有的只是决定冲突信息先后的区块顺序对。   
  比特币中的高度代表的就是 线形顺序 ,高度低的区块中交易信息先于高度高的区块里的信息,高度高的区块就不能 包含和高度低的区块冲突的交易 ,而SPECTRE有大量的分叉,区块高度不能代表线形顺序,前边的区块交易信息不一定先于后边的分叉区块交易信息,交易信息的有效性要由投票算法来决定,区块投票算法很快,再加上它将 所有分叉区块 都包含进来,也就没有了比特币所面临的 分叉风险 (等待6个区块),交易确认时间可以达到10秒。
至此,和比特币相比,SPECTRE对应的DAG区块链有三个特点:

  SPECTRE协议非常 适合DAG型数字加密货币 ,但当它用于智能合约时,它的缺陷就出来了,智能合约需要一个 严格的线性顺序 ,对此Yonatan Sompolinsky新设计了 PHANTOM 协议来对DAG区块形成一个 线性顺序 ,下边将详细介绍PHANTOM协议。
SPECTRE和PHANTOM是两个完整的独立的协议,不是一个对另一个的补充。

  PHANTOM的挖矿机制和SPECTRE一样,会产生同样类型的DAG,不同的是PHANTOM通过对 区块连通度分析 ,判定区块诚实还是恶意,按照分类对区块排序,对DAG区块产生一个严格的 线性顺序 ,通过线性顺序来判断 冲突交易有效性

DAG中,攻击者有两种攻击手段, 一产生的区块不基于已知的末端区块,二不立即发布自己产生的区块 ,前者会让自己区块指向的区块变少,后者让其他节点产生的区块不会指向自己的区块,这两种情况都会导致这些恶意区块的与其它区块的 连接度低
   诚实区块在考虑网络最大延迟下,经过一定时间一定会传遍整个网络,一定会被后边的区块所指向,诚实节点在产生新区块时也一定会指向自己所知道的末端区块。
  通过对 区块指出去的边和指向该区块的边 进行分析,也就是区块的 连通度 ,当考虑最大的网络延迟,连通度会有一个 极限值K ,低于该值的区块可以被认定为恶意区块,在排序中要处于 劣势

接下来,进行区块 诚实和恶意 判定,判定分两步,第一步最重要, 实现复杂也耗费时间 ,主要为通过对区块连通度的判定,将强连通度的区块标为蓝色视为诚实区块,弱的标为红色视为恶意区块。

  第二步 先对蓝色区块集排序 ,拓扑排序,然后对 红色区块集排序 。红色区块的顺序要处于弱势,例如上图中C,它处于A和I之间,那么它的顺序会排在I的前一个区块,而D、H都会排在C前。 注意通过考虑最大延迟时间设定连通度的值,几乎所有正常诚实节点产生的区块都会被标记为蓝色
  至此,PHANTOM协议实现了对DAG的 线性排序 ,通过线性顺序就可以提取 无冲突交易集 ,进而提取 可信交易集 ,虽然耗时较长,满足智能合约的要求。

  Yonatan Sompolinsky在PHANTOM协议论文结尾,提出一种将PHANTOM + SPECTRE结合起来的可能协议,没有详细展开介绍。下图是几种协议的对比:

  至此,介绍了Yonatan Sompolinsky一开始从分叉导致不安全提出的GHOST,到后来将DAG引入区块链,设计了SPECTRE协议,以及为智能合约考虑的PHANTOM协议。接下来,介绍国内某社区提出的CONFLUX协议。

  GHOST有 主链但丢弃分叉区块 ;SPECTRE 没有主链,包含所有分叉,但没有线性顺序 ;PHANTOM 没有主链,包含分叉且有线性顺序 ,而CONFLUX 即有主链,又是DAG,利用主链让DAG产生线性排序 ,下面将从挖矿机制和区块排序两方面来说明CONFLUX协议。

  CONFLUX协议定义了根源边和参考边。 新区块是基于前一个主链区块产生的,新区块用根源边(实线)指向前一区块,用参考边(虚线)指向分叉的其他区块末端 ,如下图最后一个新区块实线指向H,虚线指向分叉末端区块K。 根源边用于代表区块基于哪个区块产生,给哪个区块堆叠算力,参考边用于表示分叉的其它区块产生在该区块之前。

挖矿过程如下:

根源边只能有一条,参考边可多条(视情况而定)

以主链区块为分割点,将DAG分段,段间段内设计简单排序算法
  CONFLUX协议下产生的区块链如上(图2),接下来对其进行线性排序,排序算法如下:

  通过上述排序,DAG有了一个 线性顺序 ,上图DAG区块顺序为 Genesis, A, B, C, D, F, E, G, J, I, H, and K 。接下来对该线性顺序的区块里的交易信息进行交易排序, 单一区块 里可能包含的冲突交易将直接按照该区块内交易信息排列 先后顺序 决定。
  至此,CONFLUX对DAG所有区块产生一个 线性顺序 ,进而可以对区块内交易信息排序,产生 无冲突交易集 ,超过一定时间的无冲突交易组成 可信交易集 主链只是排序的标尺,作为分割时段的标准,CONFLUX包含所有分叉区块。

GHOST论文
Inclusive论文
SPECTRE论文
PHANTOM论文
CONFLUX论文
DAGlabs 相关讲解视频合集

D. 什么才是中本聪心目中理想的比特币扩容方案

图形结构账本是最符合中本聪理想的区块链扩容方案,DAG技术的设定是要能接受无法无限扩容以及区块中交易重复的问题。该方案的典型代表是就是HLC公链团队研究的DAG技术。DAG技术解决的是出块时间和传播时间的矛盾, 因为出块时间过快, 必然会增加分叉, 长时间的分叉会导致网络的不一致, 所以DAG技术归根结底也是解决分叉的问题。

DAG技术解决的是上述提到的出块时间和传播时间的矛盾, 因为出块时间过快, 在传播时间不得不考虑的情况下, 必然会增加分叉, 长时间的分叉会导致网络的不一致, 所以DAG归根结底也是解决分叉的问题。目前DAG技术的知名项目有IOTA, ByteBall以及NANO,这些项目都是采用偏中心化的共识方案解决分叉问题, 造成许多用户误会DAG的共识方案只能用中心化的方案解决。

事实上, DAG技术是目前最符合中本聪的理想的区块链设定的扩容方案, 自然DAG技术也是可以解决中心化的问题。DAG技术目前看来最大的问题跟多区块技术和混合共识技术一样, 由于每个节点需要处理所有交易, 无法解决理论上的无限扩容, 所以采用DAG技术的设定是要能接受无法无限扩容以及区块中交易重复的问题

E. XDAG(匕首币)——未来pow+dag货币之王

Dagger(代币简称XDAG)是一个全新的基于有向无环图(DAG)的加密货币,替代了区块链技术。没有预挖,也没有ICO计划,是一个真正由社区推动、公平开放的项目。而且不同于其它DAG方向的币,Dagger可以进行挖矿,目前CPU、GPU都可以进行挖矿。

Xdag总量为4, 294, 967, 296个(2的32次方),分 160 年挖完,明年预计大幅度减产,总量减少至8亿。一天产量为 138 万,每 64 秒产生一个块,一个块 1024 枚 Xdag。目前是 4 年递减,每隔 4 年挖出矿的数量减半。目前Xdag已经挖出近2亿枚,流通量约一亿八千枚。

Xdag于2017年11月被设计出来,内部测试两个月后,也就是2018年1月正式上线主网。它的作者是俄罗斯莫斯科国立大学的高级研究员,数学研究背景。Xdag的目标是创建一个能够允许每秒进行成千上万笔交易的去中心化的支付系统。

Dagger (XDAG)是全世界第一个实现pow+dag的加密货币,既拥有pow的去中心化和高安全性,又加入了dag的高并发,从bitcointalk.com 创世以来,就受到全世界的关注,被誉为dag中的比特币。每一个块包含一个交易,块同时也是一个地址。Xdag是仅可以通过挖矿获取,目标是成为全球性的超主权支付货币。完全没有预挖也没有ICO,主网络已经稳定运行五个月,算力上涨异常迅速。

DAG或直接非循环是在分布式、分散式环境中的人之间发送数据的另一种方法。这是在没有区块链的情况下完成的,可以提供更高的可扩展性。目前来看,XDAG网络在POW这种目前最优的去中心化方案下,依然能够拥有1000~10000tps,且整个转账系统零手续费。

XDAG(匕首币)已经于2018年04月22日,晚上6点整(UTC+8),正式登陆Coinbat.com。此为国内交易量最大交易所。

区块=交易=钱包

Xdag中所有的钱包地址、交易记录均是块(Block)。因为这种特性,所有的钱包都需要在网络上有独一无二的block。换而言之,你不可以向不存在的wallet转账。这意味着,不用再担心像其他加密货币一样,打到黑洞地址的情况。之前加密货币最不人性的一点就是容易手误打到错误地址。这一切在xdag中,不会出现。因为只有已经存在的钱包,才在xdag网络上有独一无二的区块。同时Xdag转账是没有任何费用的。

第一个基于DAG技术可挖矿(PoW)的公链

Xdag 是采用PoW(工作量证明)的 DAG 技术,是目前业界唯一个可以进行挖矿的DAG网络。相较于区块链技术Xdag有更高的 TPS,同时相对于其他DAG技术,Xdag则采用已经广为认可的 PoW共识机制,确保去中心化和公平性。

解决了双花问题

在Xdag中,主块(Main Block)在每个帧间隔(Frame Time)中生成,Xdag中所有交易均是块(Block),当发生交易产生交易块(Transaction Block)发送到主网中,见证者会按照规则验证交易,并将交易块链接到主块上,一个交易块会有自己的链接关系,见证者会依据规则确保先到的交易块被链接到主块,后到的块将不会被链接到主块,只有被主块链接的块才是有效的。

高TPS,转账速度快

到目前为止,整个系统已经稳定运行接近5个月,转帐速度极快,基本都在几十秒即可到达,远远超过 ETH、BTC。之后可以缩短到十几秒。

目前最好的不可能三角解决方案

Xdag通过pow来保证去中心化和安全性,同时保留了dag的高并发。这是目前市场最完美的不可能三角(高并发、安全性、去中心化不可兼得),具备非常大的区块链三点零潜质。

目前xdag的开发由社区自治,目前开发进度正常,版本更新快。前阵子曾因为算力上涨导致主网出现过两次不同步的现象,经过社区开发人员的开发,目前项目已经很大提升了其稳定性。现在转移开发重点为RPC接口、移动钱包的开发。RPC接口开发完成后意味着能实现交易平台自动冲提功能,届时也会一些交易平台进行对接,如果能够顺利上线一些流通性更好的平台,对项目本身的意义也是非常正面的。也许在未来,会有更科学的技术能够实现点对点交易、安全、匿名、高效的完美整合。但至少在接下来的一段时间里,XDAG绝对会是发展潜力无穷的金子。

xdag打赏address:ZBJ9BLTG+knstcKzwSiNfof9hDoDtdko

F. 一文了解以太坊矿机及挖矿原理

在以前的文章中,我们分别了解了比特币挖矿和以太坊挖矿的区别。本文重点介绍以太坊挖矿及矿机部分。

以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币ETH提供去中心化的以太虚拟机来处理点对点合约。目前ETH的挖矿主要是通过显卡矿机,所谓显卡矿机,其实就是类似家用台式机,只不过每台机器里面有6-10张显卡,并且没有显示器(如图)。

图:显卡矿机

之所以以太坊没有发展出类似于BTC一样的ASIC矿机,主要是由于ETH的特殊挖矿机制决定的。

在ETH挖矿过程中,会产生一个DAG文件,该文件需要一直被调用,因此必须有专门的存储空间放置。这个对于存储空间的硬性需求会导致即使生产出来了ASIC芯片,也并不能大幅度降低单位算力的成本。简单来说,就是性价比很差。

以太坊的DAG大小自2016年6月份引入Dagger-Hashimoto 算法时的1GB开始,以每年约520MB的速度增大到了现在的 3.7G,预计2020年底以太坊的DAG大小将增加至4G。届时,显存小于4G的显卡都将被陆续淘汰。

还需要介绍一点的是,由于显卡矿机的体积通常是比特币矿机的2-4倍,而消耗的电力却只有比特币矿机的1/2甚至更低,这就导致一般人不愿意修建专门的显卡矿机矿场(因为矿场主要赚取的是电费差价,同样面积的场地,可以放置的显卡数量少,消耗的电量更少)。即使有少量的显卡矿场,收取的电费成本通常也比比特币矿机矿场的高。

G. 挖矿文件后缀

挖矿文件后缀为DAG。
比特币挖矿机就是用于赚取比特币的计算机。这类计算机一般有专业的挖矿芯片,多采用安装大量显卡的方式工作,耗电量较大。

H. ETH挖矿提示VRAM不足

换内核软件。
4G显存挖ETH出现DAG显存不足报错的,换成15.0内核软件都可以解决问题,此故障过段时间会大面积报错。
更新一下显卡驱动或者虚拟内存弄大一点,把ETH删掉试试,我的就是这个问题,打上ETH补丁魅力吗跳出你这个提示,只能设置成窗口模式玩,把ETH删除掉就可以了。

热点内容
trx4可以调轴距吗 发布:2025-06-22 12:13:21 浏览:700
你对比特币是怎么认识和理解的 发布:2025-06-22 12:12:37 浏览:353
元宇宙多久到来 发布:2025-06-22 12:04:55 浏览:427
区块链的币有哪些 发布:2025-06-22 12:04:17 浏览:640
iot区块链国内 发布:2025-06-22 12:00:51 浏览:200
shib上不去了 发布:2025-06-22 11:51:27 浏览:762
涨乐财富通区块链 发布:2025-06-22 11:45:28 浏览:409
trx4组装后轮子不转 发布:2025-06-22 11:43:56 浏览:161
蚂蚁矿机t15拆 发布:2025-06-22 11:38:18 浏览:532
比特币怎么囤币 发布:2025-06-22 11:28:46 浏览:411