资讯专栏INFORMATION COLUMN

CPU挖矿-利用VPS挖莱特币

galois / 3513人阅读

摘要:本文主要介绍了挖矿的概念,以及如何利用普通服务器的来实现莱特币挖矿。下载编译挖矿程序这里我们使用一个开源的挖矿程序,他可以挖比特币以及莱特币。

前段时间疯狂的WannaCry蠕虫病毒再一次将比特币带入大众视野,导致最近挖矿的人越来越多,AMD 显卡甚至都脱销还出现了专门的矿机。之前也还没有写过关于区块链技术的博客,后面打算有时间写两篇文章来介绍一下我对区块链技术的认识以及与比特币相关的一些东西。本文主要介绍了挖矿的概念,以及如何利用普通服务器的 CPU 来实现莱特币挖矿。

什么是挖矿

这里的挖矿不是挖煤,最早的 P2P 货币挖矿当然是出现在比特币中,如果还不知道什么是比特币的可以先看看这里。比特币包括其他山寨币的产生主要就是通过挖矿,对比特币有基础了解的都应该知道比特币的数量是有限的。其固定的总和不会超过 2100 万个,其实最开始在比特币网络中的比特币只有少数的,就是通过不断的挖矿来产生这些币,也就是说挖矿说得更加 official 的一种称法是“比特币的一次发行”。

在比特币网络中的每一次交易都需要被记录下来,那么谁来记录这些交易,将这些交易信息打包成一个区块放入比特币网络中那么他就会获得比特币奖励。这个过程中做这件事情的机器(可能是服务器、PC、矿机)就被称为矿工,那么矿工做这件事情的过程就被称为挖矿,每一次成功挖矿的背后就对应了一次比特币的发行,即对应了对矿工做这件事情的奖励。那么新的问题是,打包交易信息生成区块这种事情很简单,任何电脑都可以做,那么对于这么多的矿工,应该把这件事情交给谁来做?

其实单纯的生成一个区块这种事情是很简单的,但是比特币对区块编号格式具有严格的要求,所以不是任何区块编号都能满足编号格式要求。生成一个区块编号的大致步骤如下:

blcokX
######
交易 A
交易 B
交易 C
...
上一个区块编号: xxxxxx...
######

上面是一个区块的大致格式,现在要生成一个新的区块编号block_id:
block_id = hash(blockX);

即对交易内容做一次哈希计算就能得到一个hash值,这个值就对应了这个区块的区块编号,但是这样是不符合比特币区块编号格式的。比特币网络一般会要求生成的hash值的前n位为必须全是0,这个n是通过对全网的算力评估来进行调整的。比如:

00000000000000000005c679447164d75f6843b25d6cb89a5a3e1fce03d322a2

这个hash块就是比特币网络中一个合法的块,也是一个真实的块。我们知道对一个固定内容的信息取hash输出也一定是固定值,但是要获得不同的输出以满足前n位为0的要求,只能改变输入,但是又不能改变交易内容。所以在一个区块信息中会存在一个幸运数字来提供给矿工变更,矿工不断的更换这个值来做hash计算来获得不同的hash值,然后判断自己的计算是不是满足区块编号的格式要求。出现一位0的概率是2^4如果是10位,那么就可能存在2^40次hash计算。那么这2^40hash计算也对应了该矿工的工作证明,他成功的找到满足编号要求的值,所以挖矿大部分工作就是在不停的做hash计算...所以生成合法编号是需要一定的计算成本,计算速度就能影响到你是否能快速的找到这个合法编号。

挖矿的现状

在比特币历史上的第一次挖矿是比特币作者中本聪在自己电脑上挖出来的,现在来看用 PC 挖矿基本是不现实的,回顾挖矿历史已经经历了下面这些时代:

CPU(20MHash/s)→
GPU(400MHash/s)→
FPGA(25GHash/s)→
ASIC(3.5THash/s)→
大规模集群挖矿(3.5THash/s*X)

在挖矿中有一个术语被称为算力(hash/s),顾名思义即为计算能力,这里的能力指的是每秒能做多少次hash计算,上面我们已经提到挖矿的主要工作就是不停的做hash计算,所以算力越大代表挖矿成功率越高。到目前为止比特币的全网算力大约在7124520 TH/s可以超过世界上所有超级计算机加起来算力的总和,想想每天有那么多机器在做这些无聊的hash计算浪费电就觉得恐怖...

用我们的破笔记本去挖矿实现一个小目标的梦想是肯定行不通了,所以出现了矿池这种东西,也就是将计算任务分担出去给不同的机器,这里矿池并不会关心你是一个超级计算器还是矿机还是一个笔记本。这样矿池整体的算力就可能会变得很强大,每个人都能挖到矿也成为了可能,这样整个矿池就可以根具你算计的贡献程度来平分挖矿所得。

CPU挖矿

下面我们将会使用一个VPS来进行挖矿,因为服务器是没有显卡的所以我们只能通过CPU来进行挖矿。我们挖矿的对象是莱特币以前被认为是山寨的比特币,目前价值在$85一枚,现在已经有了比特金莱特银这种说法,比特币实在是太难挖所以我们选择一个稍微能看到成效的币种。

1 选择一个矿池


根据上图不知道可靠不可靠的信息可以看出,目前AntPool矿池是算力最强的,我们也选择加入这个矿池去AntPool.com注册一个账号。

2 下载编译挖矿程序

这里我们使用一个开源的CPU挖矿程序https://github.com/pooler/cpuminer,他可以挖比特币以及莱特币。矿工是一个搬瓦工的VPS,配置如下:

SSD: 10 GB RAID-10
RAM: 512 MB
CPU: 1x Intel Xeon
Transfer: 500 GB/mo
Link speed: 1 Gigabit
Multiple locations
0x00 下载依赖
# Ubuntu
$ sudo apt-get install make libcurl4-openssl-dev

# centOS
$ sudo yum install gcc make curl-devel
0x01 编译
$ wget https://github.com/pooler/cpuminer/releases/download/v2.5.0/pooler-cpuminer-2.5.0.tar.gz
$ tar xzf pooler-cpuminer-*.tar.gz
$ cd cpuminer-*
$ ./configure CFLAGS="-O3"
$ make
3 创建一个矿工

4 连接矿池
$ ./minerd -o stratum+tcp://stratum-ltc.antpool.com:8888 -u Jiavan.01 -p 1234

连接矿池的地址以及输入矿工的名字,密码是一个可选项,因为矿池只需要知道是谁在给他工作就行了,不需要确认这个人是不是本人,所以只要矿工名字对了就ok了,没有人傻到帮别人工作还把自己的银行卡账号说成其他人的吧。

5 开始挖矿


连接上矿池后我们就开始做hash计算,可以看出我们这个CPU好像不是很给力啊只有5khash/s.


看看Server的状态,CPU几乎被跑得满满的。

6 获得收益


挖了一段时间我们可以看到VPS在不同时间段为矿池分担的算力。


通过过去几个小时的挖矿我们获得了 0.00000011 个莱特币,兑换成人命币大约是 ¥0.0000498806 也就是说按照我现在这个VPS的CPU算力挖到价值一元的莱特币需要 9.2814232981 年的时间。以前听说用CPU挖矿的人电费都交不起,现在来看已经不仅仅是交不起电费的问题了...


如果你觉得这个博客对你有所帮助,可以给博主捐赠。

Bitcoin: 1N3ZHuPTAPFePgTWWTYAyZ1MSzdoAXnQtw

Litecoin: Lh4ULyR5iWBNCiJj8apfejX8gCE1UsB6sJ

Dogecoin: DTPi4nXQtmLJPWoTdE9SPVmWwLhjhQ2JpL

参考文章:

https://bitcointalk.org/index...

https://www.zhihu.com/questio...

原文出处 https://github.com/Jiavan/jia... 觉得对你有帮助就给个star吧

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23919.html

相关文章

  • 漫谈 | 小雪的第38次相亲,和一个矿工

    摘要:小雪又问你到底挖的啥矿呀比特币。据说,世界上第一个区块链矿工叫中本聪。但随着以比特币为首的虚拟货币暴涨,挖矿成为了一个完整的产业链,有专门的矿机矿场矿池等。 某个夏日,晴。某闹市区的一个咖啡厅里,一男一女对桌而坐。两人相看无言,不太自在,于是各自开始看自己的手机。 女孩叫小雪,大学毕业5年了,至今还没对象,父母急得团团转,到处找人安排她相亲。这是小雪的第38次相亲。爸妈说这人是挖矿的,...

    B0B0 评论0 收藏0
  • 区块链概念 That You Must Know 第四期(1)

    摘要:挖矿是什么挖矿是将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上形成新区块的过程。而成功抢到记账权的矿工,会获得系统新生的比特币奖励。矿机只执行单一的计算程序,实际是矿工之间比拼算力,拥有较多算力的矿工挖到比特币的概率更大。 第四期 有关挖矿和获取比特币(1) 卡酷少Wechat:13260325501 了解了这么多,大家是否想获取一些属于自己的比特币呢?之前我们在第一...

    evin2016 评论0 收藏0
  • 关于,你知道多少?

    摘要:挖矿工具专业化在比特币诞生的早期,由于挖矿难度小,矿工数量比较少,拥有足够的计算能力,几乎任何人都可以轻松地挖出一些比特币。 showImg(https://segmentfault.com/img/bVbtC68?w=1080&h=458); 随着 Nervos CKB 测试网 Rylai 上线,我们整理了一些挖矿的知识普及,emmm......这里不是山西采矿,而是区块链的挖矿!因...

    DataPipeline 评论0 收藏0
  • 回归大众:En-Tan-Mo黄皮书解读之矿工篇

    摘要:在共识机制中,挖矿则是大众的权利。抑制权益降低寡头权为了防止大户形成垄断,用上凸函数转换持币数量和投票权,这就是上述的抑制权益系数。 showImg(https://segmentfault.com/img/bVbt6br?w=800&h=534); 前言:矿工对于区块链来说意味着什么?为什么ETM的共识机制将对矿工规则重新洗牌?怎样的机制让矿工享受公平与效益?本篇文章为星球日报对En...

    jsyzchen 评论0 收藏0
  • 回归大众:En-Tan-Mo黄皮书解读之矿工篇

    摘要:在共识机制中,挖矿则是大众的权利。抑制权益降低寡头权为了防止大户形成垄断,用上凸函数转换持币数量和投票权,这就是上述的抑制权益系数。 showImg(https://segmentfault.com/img/bVbt6br?w=800&h=534); 前言:矿工对于区块链来说意味着什么?为什么ETM的共识机制将对矿工规则重新洗牌?怎样的机制让矿工享受公平与效益?本篇文章为星球日报对En...

    hiYoHoo 评论0 收藏0

发表评论

0条评论

galois

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<