Go语言与区块链(一)

一、区块链相关概念

1、钱包

比特币钱包中保存了地址和密钥。地址相当于现实钱包中的银行卡,密钥相当于银行卡的密码。每一个地址都对应这一个密钥。钱包地址都保存在本地的wallet.dat文件中。

wallet.dat文件负责维护钱包的地址和私钥,所以必须要保存好该文件。

Bitcoin Core是官方发布的用于管理比特币私钥的客户端。官方下载地址:https://bitcoin.org/en/download

如果拥有了地址的私钥,就代表拥有了比特币。私钥一旦丢失将无法恢复。因此,备份钱包非常重要。

2、节点

每一个运行挖矿的软件都称为一个节点。

轻节点:只下载区块头和自己有关的交易,不下载所有账本。

全节点:拥有完整区块链账本的节点。全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。

3、分布式账本

区块链账本类似于企业会计账本,主要记录了每一本交易的收入和支出。在区块链中,每一个节点都会同步一个账本,该账本由全网所有节点共同维护。例如:A和B之间要发起一笔交易,A先发起请求——创建一个新的区块,这个区块就会被广播给网络里的所有用户,所有用户经过验证同意后,该区块就会被添加到主链上,这条链上便拥有了永久和透明可查的交易记录。全球一本账,每个人都可以查找。这样做,就能有效预防做假账和随意修改数据行为的发生,以保证会计工作的严谨、客观和透明性。

4、挖矿

假如A给B发起了一个比特币交易,那么在区块链中只有交易被确认之后,该笔交易才算成功。确认交易的过程称为“记账”或“挖矿”。请问谁负责记账呢?

答案是谁竞争到记账权利,谁就有资格记账,即挖到矿。为了得到奖励,每个人都想挖矿。但是挖矿是有门槛的,需要有设备、有电力。只有算力强的机器才有可能挖到矿,从而得到比特币系统的奖励。其实,挖矿过程也是比特币发行的过程。通过挖矿不断产生新的比特币,从而保证了系统的安全性和公平性。

通过计算,比特币大约到2140年全被挖完,到时候只能靠交易的手续费来获得奖励。

挖矿演示:https://anders.com/blockchain/tokens.html

5、算力

算力就是计算能力,它代表了矿工挖矿的能力。算力越大,挖到矿的可能性就越高。算力的计算单位为hash/s,即每秒计算哈希的次数。例如:10T算力的矿机,每秒计算哈希次数为10的13次方。

猜你喜欢

转载自blog.csdn.net/zhongliwen1981/article/details/89632616