0x00 引言
加密货币作为一种新兴的金融产品,吸引了越来越多的投资者和矿工的关注。在这个复杂的市场中,初学者可能会感到迷茫和无措,不知道从何入手。本指南旨在为新手提供基础知识。
0x01 基础知识
1 | 1 加密货币算法 |
1、加密货币算法
| 算法 | 加密货币 | 用途 |
|———-|———-|————————–|
| SHA-256 | 比特币 | 验证交易和挖矿 |
| Scrypt | 莱特币 | 验证交易和挖矿 |
| Ethash | 以太坊 | 增加GPU矿工的参与 |
| X11 | Dash | 提高挖矿的难度,保护安全 |
| Equihash | Zcash | 保护用户隐私和匿名性 |
2、挖矿协议
挖矿最常使用的协议是”Stratum”协议,它是一种轻量级的挖矿协议,旨在使矿工与矿池之间的通信更加高效和可靠。该协议由比特币核心开发者Matt Corallo于2011年开发,并已成为几乎所有加密货币矿池和矿工之间的标准协议。
Stratum协议使用JSON-RPC进行通信,并将矿池服务器与矿工之间的数据传输最小化,从而降低了网络延迟和带宽消耗,提高了挖矿的效率和稳定性。它还允许矿工动态地调整挖矿难度,以确保他们能够在网络上保持一定的挖矿速度。
除了Stratum协议之外,还有一些其他的挖矿协议,如GetBlockTemplate(GBT)和Ethereum Mining Protocol(ETHASH),它们分别用于比特币和以太坊等不同的加密货币。
3、区块链的含义
当你进行数字货币交易时,你的交易信息将被打包成一个区块并添加到区块链中。一个区块由多个交易组成,并且包含了这些交易的信息、时间戳、随机数和其他元数据。每个区块都包含了一个指向前一个区块的哈希值,这样就把多个区块连接成了一条链状结构,即区块链。
一旦一个块被创建出来并被添加到区块链中,它就不能被更改或删除。这是因为每个块都包含了前一个块的哈希值,这样就形成了一个不可篡改的数据结构。如果任何一个块被篡改或删除,整个区块链的结构都会被破坏,从而导致整个系统失效。
区块链的数据库是分布式存储的,它被保存在网络中的多个节点上。每个节点都拥有一份完整的区块链副本,因此在整个网络中不存在一个单一的、中心化的存储节点。
4、挖矿与燃气费
在实际的区块链系统中,矿工挖矿的过程就是不断尝试计算一个符合区块链协议规定的哈希值(消耗的计算机资源即用于计算哈希值),一旦计算出这个哈希值,矿工便可以将该哈希值和交易信息等元数据打包成一个新的块,最后将这个块广播到整个网络中。
燃气费是由交易发起者支付的,矿工会根据交易所支付的燃气费用来决定是否打包这个交易与打包的优先级,燃气费最终会被打包该笔交易的矿工获得。因此,矿工的实际收益主要来自于两部分,一部分是挖矿协议规定的区块奖励,另一部分是交易燃气费。
挖矿涉及到的计算量非常庞大,计算出相同的哈希值的概率非常小。如果同时有多个节点挖掘出了新的区块,就会出现分叉现象(区块链被分成了两条或更多条链),此时每个节点会选择自己认为最长的链,也就是包含最多区块的链作为当前的有效链,而其它的分支链会被抛弃(无法获得奖励)。
5、矿池
矿池是由多个矿工组成的集合。在矿池中,所有矿工合作挖掘,将自己的算力贡献到整个矿池中,共同尝试计算符合规定的哈希值,并且矿池将按照矿工的贡献比例分配奖励。矿池可以提高整个挖矿过程的稳定性,还可以提供更多的服务,比如实时统计矿工的算力、调整挖矿难度、提供挖矿软件、安全监测等
6、钱包
在加密货币中,钱包是由一个公钥和一个私钥组成的。公钥是用于接收加密货币的地址,私钥是用于签署交易以及管理该地址中加密货币的安全性的密码。
钱包主要分为在线钱包、本地钱包与硬件钱包。
在线钱包 | 本地钱包 | 硬件钱包 | |
---|---|---|---|
安全性 | 低 | 高 | 极高 |
管理方式 | 第三方管理 | 用户自行管理 | 用户自行管理 |
联网方式 | 始终联网 | 无需联网 | 仅在交易时联网 |
手续费 | 高 | 低 | 极低 |
代表性钱包 | Okx | Bitcoin Core Wallet | Ledger |
监管部门溯源 | 看平台是否合作 | 不可溯源 | 不可溯源 |
0x02 XMRig
XMRig是一款开源的挖矿软件,主要用于挖掘Monero等加密货币。
1 | 1 常用参数 |
1、常用参数
| 参数 | 描述 |
| ——————– | ———————————- |
| -x, –donate-level=N | 设置贡献级别,N为0时表示禁用贡献。 |
| -o, –url=URL | 设置矿池地址。 |
| -u, –user=USERNAME | 设置矿工用户名。 |
| -p, –pass=PASSWORD | 设置矿工密码。 |
| –coin=COIN | 设置加密货币类型。 |
| –tls | 使用TLS加密连接。 |
| –gpu | 启用GPU挖矿。 |
| –opencl | 启用OpenCL挖矿。 |
| –cuda | 启用CUDA挖矿。 |
2、使用示例
这里以一次挖矿病毒溯源到的进程执行命令为例:
1 | ./xmrig --donate-level 0 -o pool.supportxmr.com:443 -u 8AigoRTXK19E9gM2RZi5Ez3fky9cpJtbuWmfhfL8xVZA62c5wJydMaW2EZFfCKQHiw2Y2zEqrsNNMjayWoLKt1jGMsBkisY -k --tls -p Voltage |