0%

运行时数据区

写在前面,感谢尚硅谷宋红康老师的讲解,本文根据宋红康老师的ppt完成,仅供个人学习参考,更多的JVM相关的知识请访问Oracle官网

阅读全文 »

ETH-交易树和收据树

​ 每次发布一个区块的时候,这个区块所包含的交易,会组织成一棵交易树,也是一棵Merkle tree,和比特币的情况是类似的,同时,以太坊还增加了一个收据树,每个交易执行完之后,会形成一个交易,记录这个交易的相关信息,也就是说,收据树和交易树上面的结点是一一对应的。

阅读全文 »

ETH-状态树

以太坊的账户是基于账户的模式,系统中显示的维护每个账户有多少余额。

我们需要完成的是账户地址,到账户状态的映射(addr(160 bits == 表示成40个16进制的数)->state),这里的状态指的是外部账户和合约账户的状态。

阅读全文 »

以太坊的账户

比特币是基于交易的账本模式,这种模式下,并没有显式地记录每个账户有多少钱,这种模式的好处是,隐私保护得比较好,你有多少钱,可能连你自己都说不清楚,别人就更搞不明白了。

别人转到你账上的钱,你一定要花出去,比如别人转给你10个,你花了3个比特币,你必须把剩余的7个比特币再转回给自己的另外一个账户,要不然这7个比特币全都会被当成tx fee给矿工了

阅读全文 »

以太坊概述

比特币和以太坊是区块链中的最主要的两种加密货币,比特币被称为区块链1.0,以太坊被称为2.0

以太坊对比特币运行过程中出现的问题做出了改进,比如说出块时间,比特币是十分钟,有人认为太长了,以太坊当中出块时间大幅度地降低到了十几秒,而且,为了这种出块时间,以太坊还设计了一套ghost的共识机制;另一个重大的改进是mining puzzle:比特币的mining puzzle是计算密集型的,比拼的是挖矿的计算能力,这种结果就造就了现在的挖矿设备专业化。以太坊对内存的要求是很高的,memory hard mining puzzle,这样就在一定程度上限制了ASIC芯片的使用,我们管它叫做ASIC resistance,将来以太坊还会有一些更高的改进,用proof of stake(权益证明,不挖矿,而是按照股份和权益,用类似于投票的方式来决定下一个区块该怎么产生)替换proof of work。

阅读全文 »

思考

哈希指针

比特币系统在设计的时候,很多地方都使用到了哈希指针,比如区块的块头,就包括了前一个区块的指针,指针保存的是本地内存的地址,那么只是在本地计算机上才有意义,发布到别的计算机上就没有意义了,那么哈希指针是怎么通过网络进行传输的呢?

阅读全文 »

匿名性

匿名性介绍

BitCoin and anonymity

一般来说,大家说的匿名是和隐私保护联系(privacy)在一起的,比特币不要求是真名,是需要公钥产生的地址即可,因此有一定的匿名性,但不是说完全没有名字,他用的是“化名”,因此有人称它为“preudonymity”,就好像很多作家有笔名一样,比特币系统中的“匿名”其实不是真的匿名。

阅读全文 »

BTC问答回顾

1.转账交易的时候,如果接收者不在线(你转账给A,但是A那时候没有连接到比特币网络上)怎么办?

这个时候不需要接收者在线,转账交易只不过要在区块链上记录一下。

2.假设某个全节点收到了一个转账交易,有没有可能转账交易中接收者的收款地址是这个结点以前从来没有听说过的?

可能,比特币系统在创建账户的时候是不需要通知其他人的,在本地产生一个公私钥对就可以了,只有在以后产生的收款地址收到钱的时候,其他结点才知道这个账户的存在。

阅读全文 »

在学习的过程中,难免会碰到自己从未接触过的知识和技巧,有时候一边看过去会忘记,所以把它记录下来是最好的选择,而不是假装自己会了,又继续学习别的知识,这样的话,对后续的工作和学习都会带来一些不必要的麻烦。

我自认为,在学习的时候,应该自己主动思考,如果这样的话,结果是怎么样,那样的话,结果是怎么样,我们在整个小学、初中、高中,甚至是大学,都被灌输了一种思想,就是,这样就是对的,那么当我们碰到问题的时候,往往就会一头雾水,不知如何下手,如果有主动思考的能力的话,这种问题是不是就会没有那么棘手呢?

阅读全文 »