主页 > imtoken官网下载1.0安卓 > 【区块链】比特币
【区块链】比特币
文章目录
密码学原理 哈希签名 比特币的实际使用哈希和签名挖掘
挖矿其实就是找一个随机数,结合区块头中的其他数据进行哈希(即SHA256),然后小于等于一个指定的阈值。这就是工作量证明机制,POW机制,找到符合要求的)一旦有人找到salt,其他人很容易验证salt是否符合要求,挖矿难,验证容易
传递数据结构哈希指针默克尔树
节点分为
BTC协议交易有效性
在比特币的共识协议中,需要解决一些节点是恶意的,因为毕竟恶意节点很少。一个节点提出一个候选块,打包后发布给所有节点,每个节点收到后进行检查。投赞成票是合法的,但比特币很容易生成账户。如果一个恶意节点产生无数个账户,一半以上的账户将拥有控制权。这称为女巫攻击。
任何基于投票的方案首先要确定谁有投票权,不是每个人都可以加入,比如超级账本联盟链,基于fabric协议,基于投票的方案是可行的
比特币如何投票?
此外,我们通过在区块链的某处插入一个块来回滚已经发生的交易
区块链在正常情况下也可能分叉。如果两个节点同时获得记账权,就会有两个等长的分叉。这个时候应该接受哪一个?不同的节点可能先听到其中一个,如果继续扩大,说明比特币已经识别出你的区块
如果系统中有两个矿工,这个临时分叉会一直维持到其中一个获胜,失败的一个称为孤块
BTC的发行基于账本
每笔交易都会消耗一些输出,也会产生新的输出。对于某些交易,输入可能大于输出,差值就是交易费用
关键点:记账不仅可以获得区块奖励,还可以获得交易手续费。这是比特币的两种交易机制。
目前的交易手续费金额并不大。目前,矿工主要是获得区块奖励,但会逐渐减少。每 21W 块减半,每 10 分钟减半,每 4 年减半。
基于账户的区块具体信息
salt 是一个 32 位无符号整数。这个数字很难找到,因为最近矿工太多,所以其他的东西应该调整一下。
BTC网络挖矿难度挖矿
轻节点
挖矿的基本逻辑
比特币保证安全的方式一方面是密码学,另一方面是共识机制
采矿的历史
一般来说,一台矿机在前两个月可以赚到一半的钱。现在一般需要提前预定。其实卖矿机更赚钱。现在很多货币都有抵抗ASIC矿机的机制。
矿池的原因
矿池奖励分配机制
矿池问题
如果有一个比例为 51 的矿池,它会发起什么样的攻击?
脚本
输入操作将两个很长的数字压入栈顶,输出两行脚本,对应上面的两个输出,每个输出都有自己独立的输出
交易结构:
交易输入:
交易的输出:
验证交易的合法性是之前的输出和这个输入都被执行。如果验证通过,则交易合法
如果交易有多个输入,则都需要验证。其实细节很复杂,这里就不一一赘述了。
分叉状态分叉
状态分叉是对比特币当前状态的分歧导致的分叉,分叉攻击也属于这一类
协议叉
比特币协议变更也可能导致分叉
硬分叉
如果硬分叉的核心给比特币增加了一些新特性,那么没有升级软件的节点将无法识别这些新特性
比如以太坊(ETH)和以太坊经典(ETC)都是分叉造成的比特币创世纪区块地址,ETH是后来分叉的。
软叉
如果软分叉的核心给比特币增加了一些新特性,那么没有升级软件的节点会识别出这些新特性
比特币匿名常见问题解答
零知识证明 证明者在不泄露其他信息的情况下向验证者证明一个语句的正确性,如 1+1=2
同态隐藏
比特币无法完全消除相关性,真正匿名可以使用zerocoin和zeronote
思考
全节点将区块存储在 KV 数据库中。K是block的hash,其实就是levelDB。
一些全节点只保存最近的数千个块。如果您需要使用之前的,您可以向其他节点索取。
如果多人共用一个账号,只能和账号一起使用,可以使用多重签名
以太坊挖矿不会减半
量子计算机将先冲击传统金融行业,但比特币会落后,比特币的地址是公钥的哈希
公钥可以从私钥派生,但反过来不行。
当地址被哈希时,已经丢失了很多信息,因此无法对其进行反转。如果是可逆的比特币创世纪区块地址,那就是超级压缩算法,可以将无数数据压缩成固定位数。