1. 基本原理1. 基本逻辑计算H(blockheader||none)<target_num
2.节点全节点
轻节点
知道满足合法的阈值的节点。
3.挖矿设备CPU:通用计算。GPU:大规模通用并行计算。ASIC(Application Specific Int Circuit):专门挖矿使用的芯片。
4.矿池
一个矿主,全节点,负责组装区块。
多个矿工,只计算HASH值。
稳定...
调整挖矿难度
H(block header) <= target
算法SHA-256
挖矿难度与目标阈值成反比。
出块时间太短
容易出现分叉。
调整挖矿难度
2016个块调整一次。
target = target * actual time/expected time
上下限最多不会超过四倍,4或者1/4
实际时间越短,说明算力越强,需要...
层次
应用层:BitCoin
网络层:P2P网络
加入节点
需要与一个种子节点进行通信。
设计原则
简单
鲁棒
邻居节点选取:随机选取。
交易集合
存储待上链的交易集合。
交易上链之后需要删除。
合法交易上链之后,也把非法交易删除,前提是花费的同一个比特币。
最终只保留一个指定比特币交易。
广播交易
best effort
交易问题
线上交易都无法解决线下交易。
回滚一般就是通过第...
基于交易模式
UTXO:说明:unspent transaction output,未被完全花费的交易输出
寻找条件:产生这个交易的HASH值与这个转账输出是第几个输出
UTXO中 输入 = 输出(比特币个数)
输出-输入 = 交易花费数额
基于账户的模式
ETH
区块:块头信息
交易的默克尔树
挖矿条件
调整块头的nonce。
调整coinbase的指定数值。
前一个区...
一、安装操作1. OpenSSH Client(openssh-client):这个客户端工具允许用户通过SSH协议连接到远程主机。常用的命令包括:
ssh:用于安全远程登录。
scp:用于安全复制文件。
sftp:用于安全文件传输。
ssh-keygen:用于生成和管理SSH密钥。
ssh-copy-id:用于将本地生成的SSH公钥复制到远程主机的授权密钥文件中,以便实现无密码登录。
...
1.SSH理论概述(1)SSH工作的特点
工作在应用层。
使用TCP传输协议。
密文传输命令,比telent明文传输命令更加安全。
只能对与一个应用进行加密。
需要双方都有公私钥对。
端口22。
(2)SSH工作的基本框架a. 传输层协议提供服务器认证,数据机密性,信息完整性 等的支持。
b. 用户认证协议为服务器提供客户端的身份鉴别。
c. 连接协议将加密的信息隧道复用成若干个逻辑通道,...
1. 货币问题简单的签名货币的问题
简单的通过非对称加密进行验证。
重复花费。
中心化问题2. 解决双花攻击3. 货币发行铸币交易说明:block reward,凭空产生,不用说明币的来源。
收益:50 BTC 每年减半。
争夺记账权叫挖矿。
交易:在交易过程中,需要用发起转账的用户对于交易进行签名,并且说明花费的比特币的来源。
4. 区块信息区块头
协议
前一个区块头的HASH。
交...
1. 区块关系-链表形式区块格式
前一个HASH
本区块的区块信息。
二者合并取HASH为本区块的HASH值。
2. 默克尔树作用
验证数据的完整性。
交易的组成形式为默克尔树。
根哈希值在block header里面。
验证交易的可信性
说明:
轻节点具有交易的默克尔树的跟哈希。
只用提供交易路径上的哈希值,即可计算是否与根哈希值符合。
其中区块中的两个哈希值,表示两个哈希值的哈希值...
1.哈希函数性质
collision resistance:哈希碰撞十分困难。
hiding:即不可逆的性质。
puzzle friendly:雪崩效应。
作用
生成摘要,做完整性验证。
数字签名
数字信封,验证信息。
2.对称加密性质
密钥传输需要在安全的条件,密钥分发不便。
作用-
3.非对称加密条件
好的随机源,防止生成的随机数的重复。
性质
已知公钥,生成私钥是十分困难。...