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