
比特币
文章平均质量分 87
比特币的技术实现
polarday.
须知少时凌云志,曾许人间第一流。
展开
-
区块链学习笔记8——BTC比特币脚本
区块链学习笔记8——BTC比特币脚本学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页交易实例比特币系统中使用的脚本语言非常简单,唯一可以访问的内存空间只有栈,所以也被称为“基于栈的语言”如果存在 一个交易有多个输入,那么每个输入都要说明币的来源并给出签名(BTC中一个交易可能需要多个签名)输入输出脚本的执行如图所示,为脚本执行流程。在早期,直接将两个脚本按照如图顺序(input script在前,output原创 2022-01-12 15:56:00 · 2317 阅读 · 0 评论 -
区块链学习笔记1——BTC密码学原理
区块链学习笔记1——密码学原理学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页梦开始的地方(狗头)BTC的密码学原理主要包括两个方面——哈希、签名一、哈希哈希函数是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出。比特币系统中哈希函数的三个重要性质collisi原创 2021-12-11 10:37:38 · 2715 阅读 · 0 评论 -
区块链学习笔记11——BTC匿名性+零知识证明
区块链学习笔记11——BTC匿名性学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页一般来说,匿名性多与隐私保护相关。但实际上,比特币中的匿名并非真正的匿名,而是假的匿名。实际上,比特币与纸币相比,纸币的匿名性更好,因为其并没有对个人信息的标记。也正是因为其匿名性,很多非法交易采用现金交易。但现金存在保管、运输等各个方面的不便。实际上,比特币中的数据是完全公开的,任何人都可以下载区块链上的完整交易,而网上的交易是要与实体世界原创 2022-01-14 11:24:44 · 1336 阅读 · 0 评论 -
区块链学习笔记5——BTC网络
区块链学习笔记5——BTC网络学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页比特币系统的工作过程用户将交易发布到比特币网络上,节点收到交易后打包到区块中,然后将区块发布到比特币网络上,那么新发布的交易和区块在比特币网络上是如何传播的呢?比特币网络的工作原理比特币工作于应用层,其底层(网络层)运行的是一个P2P Overlay Network,比特币的P2P网络非常简单,所有节点都是对等的。比特币要加入网络首先要知道一原创 2021-12-26 11:01:33 · 3006 阅读 · 0 评论 -
区块链学习笔记10——BTC问答
区块链学习笔记10——BTC问答学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页转账交易时候,如果接收者不在线(没有连在比特币网络上)怎么办?转账交易只需要在区块链上记录,将某账户比特币转到另一账户,而接收方是否在线并无影响。假设某全节点收到某个转账交易,会不会有可能转账交易中收款人地址该全节点从未听过?可能,比特币账户在创建的时候不需要通知其他人,在本地产生一个公私钥对就可以了,只有在它第一次收到钱的时候,其他节点才原创 2022-01-14 00:25:45 · 975 阅读 · 0 评论 -
区块链学习笔记9——BTC分叉
区块链学习笔记8——BTC分叉state fork:由于对区块链当前状态有意见分歧而导致的分叉,几乎同时产生两个区块插入到链中forking attack: 属于state fork,这个意见分歧是故意造成的Protocol fork:对比特币协议产生分歧,用不同版本的协议造成的分叉根据协议修改内容的不同可以分为hard fork和soft forkhard fork(硬分叉)什么情况会出现硬分叉?对比特币协议增加新协议,扩展新功能,未升级软件的旧节点会不认可这些修改,会认为这些特性是非法的原创 2022-01-13 12:51:12 · 2085 阅读 · 0 评论 -
区块链学习笔记3——BTC协议
区块链学习笔记3——BTC协议数字货币所面临的主要挑战Double spending attack(双花攻击,同一张数字货币可以复制的使用)防范:通过一个可信第三方(如央行)维护一个很大的数据库存储每张货币的所有人,对每张货币添加一个唯一编号,当一个人花掉这张货币的时候,这张货币的所有人也会相应的发生变化,去中心化所谓去中心化即没有可信第三方的参与,那么就需要解决数字货币的发行由谁执行?如何发行?发行多少?什么时候发行?在传统中心化货币体系中,这些问题我们可以交给第三方机构(如央行)。当引入原创 2021-12-11 12:41:03 · 3436 阅读 · 0 评论 -
区块链学习笔记2——BTC中的数据结构
区块链学习笔记2——BTC中的数据结构本文主要介绍四种数据结构:Hash pointers、Block chain、Merkle tree、BlockHash pointers(哈希指针)哈希指针与普通指针类似,它除了保存地址之外还保存哈希值Block chain(区块链)区块链中区块与区块之间通过哈希指针相连,这里哈希指针中的哈希值是对前一个区块的整体取哈希,包括前一个区块的哈希指针,因此区块链如果有一个区块被修改,那么他之后的所有区块都会改变,我们只需要记住最后一个区块的哈希值,就可以判原创 2021-12-11 11:28:22 · 2952 阅读 · 0 评论 -
区块链学习笔记4——BTC实现
区块链学习笔记4——BTC实现学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页UTXO区块链是一个去中心化的账本,比特币采用了基于交易的账本模式 。然而,系统中并没有记录账户所包含的比特币数,需要通过交易记录进行推算。在比特币系统中,全节点需要维护一个名为 UTXO(Unspent Transaction Output 还没有被花掉的交易输出) 的数据结构。A转给B五个BTC,转给C三个BTC,B将5个BTC花掉,则该交原创 2021-12-19 12:42:35 · 4509 阅读 · 0 评论 -
区块链学习笔记12——BTC思考
区块链学习笔记11——BTC思考学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页哈希指针BTC系统中很多地方用到了哈希指针,比如区块的块头就包含指向前一个区块的哈希指针。指针保存的是本地内存的地址,只在本地的计算机上有意义,发送给其他计算机就没意义了。那么在发布区块的时候,哈希指针是如何通过网络进行传播?所谓的哈希指针,只是系统中一种形象化的方法。实际应用的时候,只有哈希而没有指针。回顾一下之前提到的Block head原创 2022-01-15 14:17:48 · 435 阅读 · 0 评论