区块链学习
文章平均质量分 82
九月星城
这个作者很懒,什么都没留下…
展开
-
《区块链基础知识25讲》学习笔记——第一部分区块链术语与技术基础
本书相对来说比较基础,笔记会比较简单第一讲 理解分层的概念一、软件系统的分层根据主观上对系统按照用户需求和内在技术原理进行划分,可以分成应用层与实现层。应用层:所有内容都是从用户需求出发的(如想听音乐)实现层:使得需求落地实现的内容(将电信信号转变成模拟信号),实现层中的所有内容本质上都是技术性的,并且都会被当作达到目标的方法。根据一个系统能够做什么和 这个系统做的怎么样可以分成功能性与非功能性...原创 2021-10-06 16:38:07 · 8387 阅读 · 0 评论 -
《区块链技术与应用》学习笔记14——ETH智能合约
一、简介智能合约:运行在区块链系统上的一段代码,代码逻辑定义了合约内容。智能合约的账户保存了合约当前的运行状态:balance:当前余额nonce:交易次数code:合约代码storage:存储,数据结构为一棵MPT二、账户调用外部账户调用合约账户创建一个交易,接收地址为要调用的那个智能合约的地址,data域填写要调用的函数及参数的编码值。合约账户调用合约账户(1)直接调用错误处理:直接调用的方式,一方产生异常会导致另一方也进行回滚操作。(2)address调用错原创 2021-10-04 11:34:50 · 890 阅读 · 0 评论 -
《区块链技术与应用》学习笔记13——ETH权益证明
矿工挖矿是为了取得出块奖励,获取收益。而系统给予出块奖励的目的是激励矿工参与区块链系统维护,进行记账,而挖矿本质上是看矿工投入资金来决定的(投入资金买设备->设备决定算力->算力比例决定收益)。那么,为什么不直接拼“钱”呢?现状是用钱购买矿机维护系统稳定,为什么不大家都将钱投入到系统开发和维护中,而根据投入钱的多少来进行收益分配呢?这就是权益证明的基本思想。一、权益证明一般来说,采用权益证明的货币,会先预留一些货币给开发者,而开发者也会出售一些货币换取开发所需要的资金,在系统进入稳定状态后原创 2021-10-04 09:48:05 · 7897 阅读 · 0 评论 -
《区块链技术与应用》学习笔记11——GHOST协议
以太坊中的问题BTC系统中出块时间为10min,而以太坊中出块时间被降低到15s左右,虽然有效提高了额系统反应时间和吞吐率,却也导致系统临时性分叉变成常态,且分叉更多。在BTC系统中,不在最长合法链上的节点最后都是作废的,BTC系统中出块时间为10min,而以太坊中出块时间被降低到15s左右,虽然有效提高了系统反应时间和吞吐率,却也导致系统临时性分叉变成常态,且分叉数目更多。Ghost协议一、 GHOST协议最初版本叔父区块:A、B、C、D在四个分支上,B所在链成为最长合法链,因此A、C.原创 2021-10-03 15:08:10 · 392 阅读 · 0 评论 -
《区块链技术与应用》学习笔记10——ETH数据结构
在以太坊中,有三棵树的说法,分别是状态数、收据树和交易树。一、引入我们要实现从账户地址到账户状态的映射。在以太坊中,账户地址为160位,表示为40个16进制数。状态包含了余额(alance)、交易次数(nonce),合约账户中还包含了code(代码)、存储(storge)。直观来看,其本质上为Key-value键值对,所以直观想法便用哈希表实现。若不考虑哈希碰撞 ,查询直接为常数级别的查询效率。但采用哈希表,难以提供Merkle proof。需要记住的是,在BTC和以太坊中,交易保存在区块内部.原创 2021-10-03 14:13:46 · 9658 阅读 · 0 评论 -
《区块链技术与应用》学习笔记8——匿名性
一般来说,匿名性多与隐私保护相关。但实际上,比特币中的匿名并非真正的匿名,而是假的匿名。实际上,比特币与纸币相比,纸币的匿名性更好,因为其并没有对个人信息的标记。也正是因为其匿名性,很多非法交易采用现金交易(银行风控系统了解一下?)。但现金存在保管、运输等各个方面的不便。原创 2021-09-27 16:47:15 · 1167 阅读 · 0 评论 -
《区块链技术与应用》学习笔记4——BTC系统实现
1. UTXO(尚未被花掉的交易输出)A转给B五个BTC,转给C3个BTC,B将5个BTC花掉,则该交易记录不保存在UTXO中,C没有花掉,则该交易记录保存在UTXO中。UTXO集合中每个元素要给出产生这个输出的交易的哈希值,以及其在交易中是第几个输出。通过这两个信息,便可以定位到UTXO中的输出。意义:为了防范“双花攻击”,判断一个交易是否合法,要查一下想要花掉的BTC是否在该集合中,只有在集合中才是合法的。如果想要花掉的BTC不在UTXO中,那么说明这个BTC要么根本不存在,要么已经被花过。2.原创 2021-09-25 15:45:11 · 581 阅读 · 0 评论 -
《区块链技术与应用》学习笔记3——BTC共识协议
1. 数字货币中经常出现的问题双花攻击1)数字货币本身为带有签名的数据文件,可以进行复制。对于用户来说就可以花两次。2)解决:对货币添加唯一编号,每次支付向货币发行单位查询真伪。3)问题:货币发行单位是一个第三方机构,并且这是一个典型的第三方中心化方案。基于这个背景,以去中心化思想为核心的比特币系统便吸引了人们的注意力。去...原创 2021-09-23 14:52:58 · 1059 阅读 · 0 评论 -
《区块链技术与应用》学习笔记2——BTC数据结构
Hash pointer(哈希指针)指针 在程序运行过程中,需要用到数据。最简单的是直接获取数据,但当数据本身较大,需要占用较大空间时,明显会造成一定麻烦。因此可以引用指针,每次获取相应的数据即可。 实际使用中,指针实际上存储的是逻辑地址更多哈希指针 如下图对于该节点,我们可以看到有两个指针指向这个节点(实际上为一个),其中P为该节点的地址,H()为该节点的哈原创 2021-09-13 20:10:42 · 1254 阅读 · 0 评论 -
《区块链技术与应用》学习笔记 1 ——BTC密码学原理
比特币属于加密货币,但比特币本身开放,交易记录、交易金额、交易内容甚至源代码都向全网开放,是加密确保了信息的不可篡改,保证了区块链本身的优势——不可篡改。比特币系统中,加密主要涉及两个部分。 hash(哈希)哈希碰撞:给定x和y,且有x!=y,但给定一个哈希函数Hash(),可以得到Hash(x)=Hash(y),则称为hash碰撞。(针对哈希碰撞出现后如何处理,如:开放定址法、公共溢出区等)collision resistance(碰撞抗性),如果有Hash(x)!=Hash(原创 2021-09-13 15:58:25 · 941 阅读 · 0 评论