以太坊基本概念

以太坊作为第二代区块链,是一个去中心化的公共数据库,采用工作量证明机制。文章介绍了以太坊的区块结构,包括区块头、区块体和叔区块,以及如何通过GHOST协议处理分叉问题。叔区块机制解决了比特币中孤区块的问题,增加了系统的安全性。此外,还探讨了以太坊的交易、共识算法、费用和密码学概念。
摘要由CSDN通过智能技术生成

本文以Java版以太坊EthereumJ为研究对象。

什么是以太坊

区块链本质上是一个去中心化的数据库。第一代区块链代表是比特币,第二代就是以太坊。
以太坊本质上是一个保存了数字交易永久记录的去中心化的公共数据库。这个数据库不需要任何中央权威机构来维持和保护各方的权益。也就是你可以在不需要第三方的情况下进行点对点交易。

架构

在这里插入图片描述

名词

区块

以太坊系统中运行着数百万笔交易,这些交易被分组归类为“区块”。区块可以理解为记录一段时间内发生的交易和状态结果的数据结构,是对当前账本状态的一次共识。
一个区块包含一系列交易,每个块与其前面的区块串联在一起。
区块整体分为区块头和区块体两部分,区块体含有交易列表和叔区块。
区块 = 区块头 + 交易列表 + 叔区块。

区块头

区块头里面存储着区块的头信息,包含上一个区块的哈希值(PreHash),本区块体的哈希值(Hash),以及时间戳(TimeStamp)等等。

叔区块

我们知道,比特币大概10分钟出一个块,而以太坊大概15秒就出一个块,出块速度大大提高。出块速度越快,说明为产出区块所要解的题难度就越低,因为难度低大家才能更快地算出来。

但同时,难度越低,就越容易多个矿工同时解出题。同时因为区块间隔时间短,只有10多秒,一个区块被打包之后,在这10多秒里可能还没有在全网播布完,所以比较多地会出现分叉情况,也就是一部分节点先收到A打包的区块,另一部分节点先收到B打包的区块。

但是因为POW机制的“最长区块链”原则,只有最长的那条链才是有效的,这就导致可能某些节点跟在A区块后面创建了很多区块,但后面发现B链条更长,这就很悲催了,这些最终不在B链条的区块,称之为“孤区块”。在比特币里,这些孤区块消耗了算力,但没为系统做出贡献,也没奖励。

当然,比特币的孤区块不多,不算个事。但在以太坊里,孤区块实在太多,才成为一个问题。 大家想想,如果一个小矿工,整天挖到孤块,拿不到奖励,是不是很影响积极性,长期以往,很多小矿工可能就退出了,使得整个以太坊系统的算力下降,算力下降也就意味着安全性降低。而叔区块机制就很好地避免了这一个问题。

区块里包含叔区块,意味着叔区块的工作量也纳入了整个系统,也为安全做出了贡献。既然做了贡献,那肯定要给予奖励。以太坊这个奖励机制也设置得很好,使得大家皆大欢喜。

我们先看一个正常区块的收益,首先它有一个5以太币的固定奖励,然后是该区块里的交易上缴的gas费用。这两点跟比特币类似。最后,就是纳入叔区块的奖励,如果该区块包含了叔区块,每包含一个,可以得到固定奖励的1/32,也就是0.15625以太币。这就刺激了区块包含叔区块的积极性。

不过,以太坊也设置了数量上限,一个区块最多包含2个叔区块。这是包含叔区块的区块所获得的奖励。

当然,叔区块的创建者本身也会获得奖励,不过这个奖励公式稍微复杂一点: 叔区块奖励 = ( 叔区块高度 + 8 - 本区块的高度 ) * 固定区块奖励 / 8 根据我们之前对叔区块的定义,因为叔区块和本区块高度相差1,所以可以很快算出来一个叔区块的收益为4.375以太币,不少啊!

其实,根据这个公式可以看出,叔区块可以不必拘泥于一定是本区块的叔叔,也可以是本区块的叔爷爷,叔曾爷爷,甚至是自己的兄弟都行,而且“血缘”关系越近,叔区块拿到的奖励越多,不过最多不要超过8层,因为根据公式超过8层就没奖励了。 不过,现在以太坊用到的应该还只是纯正的叔区块。

Ghost协议

在“叔区块”内容中我们可以知道以太坊会有分叉情况出现,即多条链。
为了确定哪个路径是最有效的,并防止分叉的发生,以太坊使用了一种叫做“GHOST协议”的机制。
简单地说,GHOST协议让我们必须选择在链上做最多计算的路径。确定该路径的一种方法是使用最新区块的数量,来表示当前路径中的区块总数(不计算起源块)。
块数越多,路径越长,挖矿的难度越大,最终就一定会到达最新区块。使用这个方式让我们对当前区块链状态的唯一版本达成一致。

数据结构

共识算法

工作量证明

所谓“哇况”,其实就是计算机对工作量证明进行的一个运算过程,简单来说就是寻找一个哈希值。以太坊网络的任意节点通过不断地更换随机数来探寻合适的哈希值,当节点最先计算出合适的哈希值,它所打包的块如果通过其他共识节点的验证,则会被加入到区块链中。计算出这个值并成功把这个区块添加到主链上,该节点就会得到以太坊的数字代币—以太币(Ether)作为一种报酬。

交易

以太坊的交易主要是指一条外部账户发送到区块链上另一账户的消息的签名数据包,其主要包含发送者的签名、接收者的地址以及发送者转移给接收者的以太币数量等内容。
交易是以太坊整体架构中的重要部分,它将以太坊的账户连接起来,起到价值的传递作用。

费用

密码学

非对称加密

公钥加密后只能用私钥解密,私钥加密后只能用公钥解密。
私钥是自己保存,公钥公开发放。
既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。

数字签名

摘要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值