摘要: 挖矿这一过程,虽然并没有创造什么实际价值,但挖矿本身维持了比特币系统的稳定。总体来说,比特币系统中的挖矿算法较为成功,并未发现大的漏洞。 当然,比特币系统的挖矿算法也存在一定问题,其中最为突出的就是导致了挖矿设备的专业化,普通计算机用户难以参与进去,导致了挖矿中心化的局面产生,而这与“去中心化”这一 阅读全文
posted @ 2021-11-12 13:01 不加糖不加奶 阅读(1619) 评论(0) 推荐(1)
摘要: GHOST协议 比特币由于十分钟出一次块,而传播到其他节点大概需要十几秒,所以分叉情况少;但是以太坊出块时间十几秒,所以就导致了分叉情况很常见。 GHOST最初版本 如图,假定以太坊系统存在以下情况,A、B、C、D在四个分支上,最后,随着时间推移B所在链成为最长合法链,因此A、C、D区块都作废(or 阅读全文
posted @ 2021-11-12 13:00 不加糖不加奶 阅读(811) 评论(0) 推荐(0)
摘要: 以太坊如何组织账户状态的数据结构 以太坊采用基于账户的模式,系统中显式记录每个账户的余额。我们要完成的是从账户地址到账户状态的映射,addr-->state。 在以太坊中,账户地址为160位,表示为40个16进制数;状态包含了余额(balance)、交易次数(nonce),合约账户中还包含了code 阅读全文
posted @ 2021-11-12 12:59 不加糖不加奶 阅读(1756) 评论(0) 推荐(1)
摘要: 交易树和收据树 每次发布一个区块时,区块中的交易会形成一颗Merkle Tree,即交易树,跟比特币中的情况类似。 此外,以太坊还添加了一个收据树,每个交易执行完之后形成一个收据,记录交易相关信息。也就是说,交易树和收据树上的节点是一一对应的。主要是考虑到以太坊智能合约执行较为复杂,通过增加收据树, 阅读全文
posted @ 2021-11-12 12:59 不加糖不加奶 阅读(834) 评论(0) 推荐(0)
摘要: BTC是基于交易的账本 BTC系统是基于交易的账本,系统中并未显示记录账户有多少钱,只能通过UTXO进行推算。 但实际中,使用起来较为别扭:A转给B钱的时候,需要说明币的来源。账户中的钱在花的时候,必须一次性全部花出去。 如图1,B收到A的10个BTC,他想要给C3个BTC,如果按照1中方式,其余7 阅读全文
posted @ 2021-11-12 12:58 不加糖不加奶 阅读(525) 评论(0) 推荐(0)
摘要: ETH概述 BTC和ETH为最主要的两种加密货币,BTC称为区块链1.0,以太坊称为区块链2.0。之前文章中提出了比特币设计中存在某些不足,以太坊便对其进行了改进。 例如:出块时间、共识协议、mining puzzle(对内存要求高,反ASIC芯片使用(memory hard mining puzz 阅读全文
posted @ 2021-11-12 12:57 不加糖不加奶 阅读(628) 评论(0) 推荐(0)
摘要: 区块链中的哈希指针怎么在网络中传播? 哈希指针只是一种形象的说法,实际只有哈希,没有指针。怎么才能找到前一个区块的内容呢,全节点将这些区块保存在(key,value)数据库中,key是哈希值,value是区块内容。 分布式共识 为什么比特币可以绕过分布式共识中的那些不可能结论? 因为比特币严格意义上 阅读全文
posted @ 2021-11-12 12:56 不加糖不加奶 阅读(57) 评论(0) 推荐(0)
摘要: 比特币的匿名性 比特币系统中账户的产生不会暴露用户个人信息,用户可以产生很多对账户,然后用不同的账户做不同的事情。 但这种不暴露个人信息的账户显然不是完全的匿名,可以称为假名(pseudonymity)。所以比特币系统中的匿名只是一种假的匿名,就像作家写作用笔名,网民上网交流用网名一样。 比特币系统 阅读全文
posted @ 2021-11-12 12:56 不加糖不加奶 阅读(652) 评论(0) 推荐(0)
摘要: 产生分叉的情况 对区块链状态产生了分歧:state fork 如果两个节点差不多同时挖到一个区块,这两个区块都是挂在当前的区块上的,不同节点先收到的区块不同,就会各自沿着先收到的区块往下扩展,这种时候就会出现临时性的分叉,称为state fork,即由于对区块链当前的状态有意见分歧而产生的分叉。 分 阅读全文
posted @ 2021-11-12 12:55 不加糖不加奶 阅读(622) 评论(0) 推荐(0)
摘要: 基于栈的语言(stack based language) 比特币系统中使用的脚本语言很简单,唯一能访问的内存空间就是一个栈,这点和通用脚本语言的区别很大。 这个交易有一个输入和两个输出,其中一个输出已经被花出去了,另一个没有被花出去。 输入脚本 输入脚本包含两个操作,分别将两个很长的数压入栈中。 输 阅读全文
posted @ 2021-11-12 12:54 不加糖不加奶 阅读(1106) 评论(0) 推荐(0)