12 BTC-思考 1.哈希指针 只是哈希,没有指针。 存储在(key,value)数据库中,level DB 2.区块恋特点:私钥分开 降低账户安全性。 丢失很难找回。 永久保存死钱,浪费空间。 安全方式:多种签名。 3. 分布式共识 为什么区块链系统能够绕过分布式共识中的那些不可能结论。 没有达到真正的共识。 4.比特币的稀缺性稀缺性不适合作为货币 5.量子计算 公钥也不是明文存储。 SHA-256 最好 2024-07-24 BlockChain > BTC #BTC #BlockChain
11 BTC-匿名性 匿名性BTC就是化名。 破坏匿名性的可能账户关联交易时,需要一个找零钱的地址,是输入用户的账户。 钱包交易时 实体世界联系交集反推,可以把账户与个人联系起来。 提高匿名性方式应用层 破坏匿名性原因:账户交易集中 coin mixing:混合币,没有信誉度高的机构。 在线钱包可能或有币混合的性质。 交易所不泄露交易记录可以。 网络层 tor 多路径转发 零知识证明概念 同态隐藏(数学基础) 2024-07-24 BlockChain > BTC #BTC #BlockChain
10 BTC-问答 1. 转账目标地址离线,对于转账交易有什么影响无影响 2.全节点收到的交易会不会出现全新的接受地址会,生成新的公钥不会告诉别人,在UTXO中出现才能别被人发现 3.私钥丢失怎么办没办法 4.私钥泄露怎么办5.转账写错地址怎么办保存在一个由信息生成的公钥,是不合理的公钥。 6. return的无条件返回错误怎么通过验证怎么写上区块链验证:验证的时候不会被执行,只有在花销的时候才会执行return后面 2024-07-24 BlockChain > BTC #BTC #BlockChain
09 BTC-分叉 造成原因state fork 对于当前区块有分歧。 同时获取到合法块。 forking attack deliberate fork 协议分叉(protocol fork)硬分叉 对于区块链的基本信息的修改,接受与不接受的人之间的分叉。 接受的人认为修改过的为合法区块,未修改为非法区块。 典型的为block size limit 永久性分叉。 加一个chainID作为链的标识。 软分叉(s 2024-07-24 BlockChain > BTC #BTC #BlockChain
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