挖矿显示无法写入dag
1. 什么是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.
在以前的文章中,我们分别了解了比特币挖矿和以太坊挖矿的区别。本文重点介绍以太坊挖矿及矿机部分。
以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币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甚至更低,这就导致一般人不愿意修建专门的显卡矿机矿场(因为矿场主要赚取的是电费差价,同样面积的场地,可以放置的显卡数量少,消耗的电量更少)。即使有少量的显卡矿场,收取的电费成本通常也比比特币矿机矿场的高。
3. 以太坊gpu挖矿程序是怎样的
GPU挖掘
硬件
算法是内存难解的,为了使DAG适合内存,每个GPU需要1-2GB内存,如果你得到错误提示:Error GPU mining. GPU memory fragmentation? 说明你没有足够的内存。GPU挖矿软件是基于OpenCL实现的,AMD GPU会比同一水准的NVIDIA GPU更快。ASIC和FPGA相对低效因而被阻拦。要给芯片集成平台获取openCL,尝试:
AMD SDK openCL
NVIDIA CUDA openCL
Ubuntu Linux设置
对于这个快速指南,你会需要Ubuntu 14.04或15.04以及fglrx图像驱动器。你也可以使用NVidia驱动器和其他平台,但是你必须要找到自己的方式来获得有效的OpenCL安装,比如Genoil的ethminer分叉。
如果你在用15.04,到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。
如果你在用14.04,到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。很遗憾,对于一些人来说,这种方法可能不管用,因为Ubuntu 14.04.02中有个已知的程序错误会阻止你转换到GPU挖矿所必须的专属图形驱动器。
所以,如果你遇到这个程序错误,先到"软件与更新〉更新"选择"预发行的可靠更新提议"。然后,回到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。重启之后,值得检查一下现在确实正确安装了驱动器(例如通过再到"额外驱动器")。
不管做什么,如果你在用14.04.02,一旦安装之后,就不要改变驱动器或者驱动器配置。例如,aticonfig –initial的使用(尤其是-f, –force选项)会"破坏"你的设置。如果你偶然改变了配置,会需要卸载驱动器,重启,再次安装驱动器并重启。
4. hd7990显卡3G挖矿软件报错怎么解决
挖矿一般都需要比较高端,性能比较强的显卡,挖矿是比较消耗显卡的性能的。
建议重新更换或者显卡驱动版本看下是否一样,如果还是一样的话重新安装下系统,建议使用win10最新版本的。
5. 以太坊多节点私有链部署
假设两台电脑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
6. 什么是DAG区块链技术
DAG全称是“有向无环图”,没有区块概念,不是把所有数据打包成区块,再用区块链接区块,而是每个用户都可以提交一个数据单元,这个数据单元里可以有很多东西,比如交易、消息等等。数据单元间通过引用关系链接起来,从而形成具有半序关系的DAG(有向无环图)。DAG的特点是把数据单元的写入操作异步化,大量的钱包客户端可以自主异步地把交易数据写入DAG,从而可以支持极大的并发量和极高的速度。同时,使用DAG技术的TrustNote还支持声明式智能合约,声明式的智能合约要表达的意思是可以直接按照用户想要的结果去写、去描述,以很简单的语言,让大家都能看懂的语言去描述他要干的事情。
截止到2017年年底,“高流量应用”越来越多,除了主流电商平台外,还有直播平台、P2P理财、今日头条、陌陌等崭露头角,如果“高流量应用”与DAG区块链技术结合,将会给行业带来哪些变革呢?除区块链自身的特点去中心化、分布式账本、不可篡改之外,DAG区块链技术不但可以支持高并发,结合双层共识机制,使用工作量证明共识算法,还能够防止“双花”问题。
那么,DAG如何支持高并发的呢?第一,数据不像比特币和以太坊一样强同步,而是弱同步,允许节点在同一时刻数据不一样,数据可以有一些微小的差别。第二,可以通过数据单元之间的引用来完成交易的确认,就是后面发生的单元去引用前面的单元,这样不需要我们把数据传给矿工,整个过程都是由自己去完成的,这个过程很快。DAG是解决高并发比较优美的方法,比起之前的闪电网络,还有其他一些方面,DAG有其先天优势。
再来看看DAG是如何防止“双花”?在有向图里如果能选出一个MainChain,这个时候会发现所有图里面的节点都可以用一种方法来给它做排序,把这个序号连接起来在一排,这张图将会变成跟区块链一样的序列结构,就是排完序的节点,而且每个节点是一个交易,而不是一个区块。所以,确定了主链,通过主链,可以形成全序。最后达到的结局就是在某一个逻辑状态里,交易还是被排序了,这是DAG最关键核心的部分。
“高流量应用”是随着节点数和交易数的增加平滑扩展,当这个节点数超过1亿或交易数超过并发100万时,DAG的特性刚好是交易越多越快,节点越多越快。
7. ETH挖矿提示VRAM不足
换内核软件。
4G显存挖ETH出现DAG显存不足报错的,换成15.0内核软件都可以解决问题,此故障过段时间会大面积报错。
更新一下显卡驱动或者虚拟内存弄大一点,把ETH删掉试试,我的就是这个问题,打上ETH补丁魅力吗跳出你这个提示,只能设置成窗口模式玩,把ETH删除掉就可以了。
8. 币印矿池打不开
币印官网都打不开了 app也打不开,可能实在维护阶段。
拓展资料:
1、今日币印矿池发文指出,2月24日,2miners团队爆出,距离比特大陆旗下E3矿机被迫停止开采ETH、ETC还有一个月的时间,在ETC网络中,E3矿机的算力从日常180MH/S骤降到30MH/S。目前的主流币种,ETH、ETC的DAG文件大小均已接近4GB,而expanse项目由于上线时间较晚,所以当前DAG文件还不大。
2、相比在ETC网络上已经无法正常工作的E3,在ETH网络中,还有近两个月的时间可以正常运转。与E3形成鲜明对比的是芯动的A10矿机,高达500MH/S的算力,功耗却比E3还要低。 Innosilicon芯动官方客服称:A10因为其设计原理不同,所以不受目前DAG文件过大导致显存不足的问题。
3、据外媒消息,Poolin副总裁Alejandro De La Torre在接受采访时就减半表示:“我确信,短期内哈希率会下降。但是,我认为减半是让新玩家进入比特币挖矿领域的绝佳时机。新矿工现在能够预测未来四年内新的奖励方案同时回顾过去,我们看到比特币价格在每次减半后都上涨了。更别说,现在有许多两年前还行不通的新方法来资助矿场/矿机的运行。”他还指出,自从2016年7月9日发生的最近一次减半以来,比特币挖矿领域已经有了巨大的进步。
4、业内已经有更多大玩家、更好的矿机,也有了更激烈的竞争,这一切都可能推动比特币矿业的全球扩张:“此外,几年之前还不存在的许多新的运行系统工具和管理工具也提高了挖矿的便利性和盈利能力。我预计比特币矿业将会继续向全球扩张。”Alejandro补充道:“并不只有小矿工才受到了挑战。任何类型的矿场,不论规模大小,如果其电力成本足够低而且拥有最新型的矿机,那么尽管在短期内其盈利能力会受损,他们最终将会安全过渡。如果矿工的电力成本高昂且矿机型号老旧,那么他们毫无疑问将遇到麻烦,将不得不关机。这就是现实。”
9. 求助 挖矿dag错误报错
遇到过这样的问题,是权限方面的原因。比如:权限设置的交货地点或是装运点应该不只是限于他所在的地点。
10. 挖矿文件后缀
挖矿文件后缀为DAG。
比特币挖矿机就是用于赚取比特币的计算机。这类计算机一般有专业的挖矿芯片,多采用安装大量显卡的方式工作,耗电量较大。