p7.BTC-挖矿总结
全节点:
1 一直在线
2 在本地硬盘上维护完全的区块链信息
3 在内存里维护UTXO集合,以便快速检验交易的正确性
4 监听比特币网络上的交易信息,验证每个交易的合法性
5 决定哪些交易会被打包到区块里
6 监听别的矿工挖出来的区块,验证器其合法性
7 挖矿:a 决定沿哪条链挖下去 b 当出现等长的分叉的时候,选择哪一个分叉
轻节点
1 不是一直在线
2 不用保存整个区块链,只要保存每个区块的块头,比全节点文件大小小1k倍
3 不用保存全部交易,只保存与自己相关的交易
4 无法检验大多数交易的合法性,只能检验与自己相关的那些交易的合法性
5 无法检测网上发布的区块的正确性
6 可以验证挖矿的难度
7 只能检测哪个是最长链,不知道哪个是最长的合法链
8 占比大
由此可知:
1.如果你不是想挖矿,你存轻节点就可以了。
2.你挖到一半,突然有新的区块发布了,则你需要停止以有的挖矿,重新组装一个候选区块,以新发布的区块开始往后挖,由于挖矿的无记忆性,重新挖矿不影响挖矿成功的概率。
比特币的安全性由两方面保证:
1.密码学
非对称性加密,无法伪造前签名(前提是恶意算力不够强大)
2.共识机制
挖矿设备的进化
1.CPU挖矿
由于通用计算机的设备占用部分少(一少部分CPU指令,硬盘,大部分内存等其他部件都是闲置的)。随着挖矿难度越来越大,性价比越来越低。
2.GPU挖矿
擅长大规模并行计算,但是里面还是有很多部件是闲置的(如:浮点数计算的部件),随着挖矿难度越来越大,性价比也越来越低。
3.AISC芯片
专门为某一种加密货币设计的挖矿芯片(mining puzzle 一样的货币也行)
可知:挖矿设备的军备竞赛中,最赚钱的可能是矿机厂家。
矿池:由一个pool manager 带领多个miner 组成,能够稳定收益。pool manager负责监听网上新发布的交易打包成侯选区块,分配出块奖励,分配任务,miner 负责计算hash。
矿池的出现也使得51%攻击变动容易了,因为pool manager通过降低手续费,管理费等吸引miner,而自己不需要出算力。矿池算力占主导地位的时候还可以发动Boycott攻击。
p7.BTC-挖矿总结的更多相关文章
- Linux系统BTC挖矿傻瓜教程
[Linux系统BTC/比特币矿池挖矿方案一]cgminer矿池挖矿程序(Linux系统 比特币(BTC) 矿池挖矿/采矿/造币)cgminer矿池挖矿程序[查看这里有没有最新版]http://ck. ...
- todo:区块链????????
2018年这个春节,人人都在讲btc.ico.区块链. 恶补了几天区块链的知识和文章,一总结就是:一头雾水,没有哪个vc.创业者.技术人员 讲明白区块链到底是什么,技术上如何实现,就是哪些研读过中本聪 ...
- 挖矿程序的工作原理(BTC为例)
Mining时代进化:CPU挖矿 -> GPU挖矿 -> FPGA挖矿 -> ASIC挖矿CPU挖矿时代:SENGENERATEGPU挖矿时代:GETWORK Miner:挖矿的程序 ...
- 10年前错过比特币,如今有斯坦福区块链项目pi币,对标btc,手机免费挖矿详细教程。
这一个斯坦福几个博士创业者做一个项目,目前还处于早期阶段,除了每天点一下挖矿之外,貌似不需要其他的操作,不需要耗费流量资源和手机大量的运算能力,就是一个安静的App而已....国内目前知道的人还不太多 ...
- 莱特币ltc在linux下的多种挖矿方案详解
莱特币ltc在linux下的多种挖矿方案详解 4.0.1 Nvidia显卡Linux驱动Nvidia全部驱动:http://www.nvidia.cn/Download/index.aspx?lang ...
- Filecoin挖矿进展
预计Filecoin第一个版本发布最早在 2018.3月份(预计) Protocol Labs这次ICO拿到了2.05亿美元,已经富得流油了,相信开发进度会快很多,Filecoin论文发表最早 ...
- IPFS如何挖矿<Filecoin系统>?(一)
本来这篇文章应该晚一点写, 但是这几天一直有朋友在公众号留言, 迫切的想知道IPFS到底如何挖矿, 所以就提前写一篇关于IPFS挖矿的文章. 本文暂不涉及具体的技术细节, 只做大概的介绍. 首先, 好 ...
- 区块链基础认识-BTC
1.什么是区块链 a.定义: 从本质上来说区块链就是一种通过将用户的某种特定信息(比如交易信息),通过很多台计算机记录保存并同步的过程,每个区块都记录了对应的交易信息,将这些交易信息串联起来就形成了所 ...
- Bitcoin挖矿
目录 为什么要挖矿? 比特币挖矿 为什么要挖矿? 增加恶意行为的成本 增加记账权力,获取相应的奖励 比特币挖矿 每开采210000个区块,挖矿奖励减半 2009年1月-2012年11月,奖励50BTC ...
- 比特币 BTC本地测试节点
BTC本地测试节点 #环境 ubuntu 16.4 #客户端安装 #下载页面 #https://bitcoin.org/zh_CN/download cd /opt/ wget https://bit ...
随机推荐
- [转]详解Linux(centos7)下安装OpenSSL安装图文方法
OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境: 操作系统:CentO ...
- SQL 对decimal类型转换为int类型
) AS INT) CountQty select ISNULL( CAST(E.Qty AS INT),0 ) FROM OrderDetail E 空值 需要默认为0 即可
- Qt编写控件属性设计器10-导出xml
一.前言 能够导出控件布局和属性设置数据到xml文件或者其他文件,也是一个非常实用的功能,类似于QtDesigner中把页面设计好以后生成的.ui结尾的文件,其实就是xml文件,按照约定的规则存储好控 ...
- IDEA下同时使用Git和svn
使用Git时将文件改成Git,Svn时改成svn 修改项目下.idea目录的vcs.xml配置文件. <?xml version="1.0" encoding="U ...
- webbench源码学习笔记
学习内容 一共五百多行代码,其中包含了linux编程常用的API.可以通过学习源码,把不熟悉的API练习练习. 1 如何使用webbench (1)查看参数帮助 (2)运行方法 即以上模拟30个客户端 ...
- docker+k8s基础篇一
Docker+K8s基础篇(一) docker的介绍 A:为什么是docker B:k8s介绍 docker的使用 A:docker的安装 B:docker的常用命令 C:docker容器的启动和操作 ...
- 14 SpringMVC框架的基本概念
1.三层架构 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器.在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发. ...
- CF991E Bus Number
题意翻译 给你一个数字序列A(长度不超过18位),问有多少个序列B满足①A中所有数字都一定要在B中出现过:②B中所有数字也一定要在A中出现过:③序列B不能以0开头 输入 #1 97 输出 #1 2 解 ...
- P-R曲线深入理解
P-R曲线就是精确率precision vs 召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标轴.首先解释一下精确率和召回率. 解释精确率和召回率之前,先来看下混淆矩 ...
- 谈nginx配置
近日看<许式伟的架构课>中一段关于系统分解的描述所有思考,略记于此. 原文片段如下: 系统设计,简单来说就是 "对系统进行分解" 的能力.这个阶段核心要干的事情,就是明 ...