主页 > imtoken最新版官网 > 什么是比特币节点 Bitcoin
什么是比特币节点 Bitcoin
比特币详情项目图
图片
1.回答
比特币是一种安全可靠的软件和电子支付系统。 解决了政府随意发行纸币的问题,避免了通货膨胀。
2. 那么它是怎么做到的呢?
要想人民当家作主,就必须避开当权者!
2. 集权与分权 1. 集权
寡头垄断
图片
单点故障问题
2.权力下放
平等和连通性
P2P(点对点):端到端
图片
三、为什么要去中心化 1、去中心化能解决什么问题?
防篡改,更稳定可靠。
2.如何实现去中心化
一人数据备份一份。你很重要,大家都是主角(配角),主人翁意识
3.去中心化与比特币有什么关系
比特币是一个具有转移支付功能的去中心化系统。
4. 比特币
目前理解:比特币=区块链,比特币:底层技术是什么 比特币节点,比特币:流通数
[图片上传失败...(image-bb8c05-1592881698282)]
1 概述
比特币系统是一个人人都可以下载使用的软件系统。 交易数据是由用户之间正在进行的交易产生的。 这些数据以数据块的形式存储,最后存储在数据库中,数据库中包含交易数据的数据。我们称一个块为块,这个存储所有块的数据库称为区块链
== 直观理解:==
交易产生数据,数据存储在数据库中,数据库有自己的存储结构,这个数据块称为块。
根据该块的哈希链接的所有块的链称为区块链
关键字:数据、表、数据库、哈希、调用。
图片
2. 比特币基本信息
比特币百度百科
图片
早期:BTC币(区块链)比特币(Bitcoin)
3.簿记
将系统中产生的交易数据存入数据库的过程称为簿记。
传统会计
图片
比特币记账方式
比特币系统规定一个数据块的大小限制为1M,一个数据块为一个区块
请注意,块标头实际上是经过哈希处理的。 为了便于理解,后面会详细说明。
前一个区块的哈希存储在后一个区块中(由区块本身的哈希产生),我们说后一个区块指向前一个区块(逻辑链接)
[图片上传失败...(image-5c14b7-1592881698283)]
引入哈希值
图片
4.详细对比对比项目传统记账比特币记账
交易记录存放位置
账单
果酱
唱片收藏
账本
区块链
结算周期
满满的一页要翻(不管多长时间)
10分钟翻页(无论交易多少比特币的防篡改功能,容量上限1M)
会计
老会计
比特币客户端节点
奖
固定工资
记账奖励+手续费
簿记成本
鸵鸟蓝黑墨
非常耗电/设备丢失
账本数量
1份
所有节点一份
五、几个概念 1.钱包
图片
创建私钥和公钥并保存私钥,相当于一个可以存储多个地址的钱包。
地址:类似于钱包中不同的银行卡,2N7iL4hcMVQ2edktAwpkYQwQAha5EdsTAT8(由公钥生成)
私钥:类似于每张银行卡有一个密码,(私钥可以解开地址)
私钥 -> 公钥 -> 地址
wallet.dat是一个真正的钱包,负责维护私钥和地址,但一般维护这个钱包的客户端统称为钱包
对于比特币转账,每次都会自动生成一个新地址,从而隐藏您的资产。
wallet.dat会自动帮我们维护地址和私钥,保存这个文件即可(如果有密码一定要记住)
图片
==比特币钱包是保护N个公钥/地址对==,每个地址都有自己的私钥,wallet.dat是私钥的集合。
使用单个私钥生成多个地址
Bitcoin Core 是官方发布的用于管理比特币私钥的客户端。 拥有比特币地址的私钥意味着控制相应的比特币。 私钥一旦丢失,将无法恢复。 因此,备份您的钱包非常重要。
钱包客户端的钱包文件是一个存储比特币私钥的数据库。 私钥和公钥都存储在比特币钱包的 wallet.dat 文件中。 将你的钱包文件安全地保存在多个地方可以防止在发生意外情况时恢复你的比特币。
钱包文件位置
Windows XP - C:\Documents and Settings\{username}\Application Data\Bitcoin\wallet.dat
Windows 7/8/10 - C:\Users\{username}\AppData\Roaming\Bitcoin\wallet.dat
Mac OS X ~/Library/Application Support/Bitcoin/wallet.dat
Linux ~/.bitcoin/wallet.dat
根据地址导出私钥:
(注意不能从地址取回私钥,因为私钥存放在wallet.dat中,所以这里可以取回私钥,私钥是通过地址获取的,不是通过地址生成的)
图片
2.节点(节点)
--
每个运行挖矿软件的人都成为区块链网络中的一个节点。
图片
3.分类帐
所有交易信息的收集使用levelDB数据库,每个节点同步一个账本。
4.挖矿
提出三个问题:1.谁负责记账,2.有什么好处,3.对系统有什么好处(货币发行、安全、一致性)
上面说到将数据写入数据库的操作称为记账,那么由哪个节点负责记账呢?
~挖矿的本质:sha256(区块数据+随机数计算的哈希值)
~0x980x = sha256(根据你当前区块数据,加一个随机数num 1):0x0000987654321~
~0x087680x = sha256(根据你当前区块数据比特币的防篡改功能,加一个随机数num 2):0x0000987654321~
~0x000087654 = sha256(根据你当前区块数据,加一个随机数num 100):0x0000987654321 此时n=100就可以挖了~
图片
当两个矿工同时开采一个区块时
图片
总结
谁负责记账
所有节点都可以记账,争夺记账权的过程称为挖矿
挖矿收益
获得系统奖励,等到2140比特币全部挖完,靠手续费激励。
比特币系统有什么好处?
发币保证账本的一致性和安全性,避免人为篡改
sha256(块 100 数据)---> 0x123456789。 . . .
难度值:通过调整一个数字是什么比特币节点,最终体现在哈希值上:0x00000003123412341234345345
如何挖矿?
给100块数据加一个值,对拼接后的数据运行sha256得到新的哈希值
sha256(100块数据+1)——> 0x876987985986 …
使用新的哈希值与难度值进行比较。 当生成的哈希值==小于==难度值时,表示挖矿成功。
0x876987985986。 . . . 0x00000003123412341234345345,哈希值大于难度值,不满足条件继续加一
1. sha256(block 100 data + 1) -> 0x876987985986, 0x003123412341234345345, 不满意,
2. sha256(block 100 data + 2) -> 0x076987985986, 0x003123412341234345345, 不满意,
3. sha256(block 100 data + 3) -> 0x000987985986, 0x003123412341234345345, 不满意,
...
1000345345200, sha256 (block 100 data + 1000345345200) -> 0x0027985986 , 0x003123412341234345345 满足条件则挖矿成功
==n:1000345345200,也就是我们挖矿要找的数据,这是一个随机数==
5.区块链演示
直观地了解区块链的实际运作方式,并了解块是如何高效安全地链接在一起的。
挖矿:对块数据进行哈希处理以找到一个随机数(稍后会详细介绍)
(主持人)
(辅助的)
6.计算能力
1P=1024T, 1T=1024G, 1G=1024M, 1M=1024k
算力就是算力,就是矿工的算力。 算力越大,计算出哈希值的概率越高
单位为hash/s,即每秒计算的哈希数。例如14T算力的矿机每秒计算1.4 10^13个哈希,当前算力为4.3 10^7 TH/ s,即每秒的运算次数为:4.3 * 10^20,这是整个网络的计算能力
图片
7. 矿工
CPU挖矿-》GPU挖矿-》FPGA挖矿-》ASIC挖矿(专业矿机)
比特币大陆执行董事,26岁,34亿,90后新首富
图片
8.我的
图片
9、矿池(加拿大)
一个软件连接矿场和普通矿工,矿池负责打包,连接的设备负责挖矿,收益按算力贡献比例分配。
矿工软件
图片
10、总结 钱包:保存私钥的文件(现在一般客户端也直接叫钱包,因为客户端会帮忙维护钱包文件) 节点:比特币客户端(手机、PC) 账本:数据库挖矿记录交易数据:计算拼图奖励 6. 比特币系统参数 1. 区块生成时间
10分钟左右出块,系统根据当前出块时间动态调整难度值(每2016个块调整一次,2周),使时间稳定在10分钟左右。 包括同步时间、验证时间、计算时间等。
如果不控制10分钟的区块,那么比特币就无法保证稳定发行,秩序就会混乱!
==基于安全性和适用性==,太快容易同时出块(fork,后面介绍),需要频繁处理,太慢会影响用户经验。
2.区块奖励
初始50 BTC,奖励每210,000个区块减半,10分钟,210,000*10分钟/60/24小时/365=4年,奖励每4年衰减一次,当前奖励为12.5 BTC
图片
3.比特币总量
2100万,2140年挖出(截图对比)
func main() {
total := 0.0
rewardCount := 50.0
blockInterval := 21
for rewardCount > 0 {
sum := float64(blockInterval) * rewardCount
total += sum
rewardCount *= 0.5
}
fmt.Printf("比特币总数:%f 万\n", total)
}
4.区块大小
考虑同步效率
1M 持有约 4000 笔交易:(扩展)
1M/bytes per transaction = 事务数(1024 * 1024 / 223 = 4200)
5.每秒体积
4200 / 600s = 7 次/秒
6.单位
1BTC = 10**8sat(星期六)
币圈新闻,版权所有丨如未注明,均为原创丨本站受BY-NC-SA协议授权
转载请注明原文链接:详解什么是比特币节点? 比特币