.jpg)
一、以太币的发行
以太币
天天在说的以太币,到底是怎么产生和发行的,这里做个简单介绍。
首先以太坊币是以太坊发行的一种数字货币,这个我想大多数人都清楚。
以太币来源
那么以太币的来源包括以下几部分:
矿前奖励:预付款给与贡献者6000万个以太币
区块的奖励:目前挖出一个区块奖励5个以太币给矿工。
叔块奖励:这个和比特币不同,矿工在挖出一个区块后,但是并不是在主链上,那么这个区块叫做叔区。如果这个叔区块在后续挖矿中作为叔区块被引用了,那么挖出这个区块的矿工获得7/8的区块奖励,也就是4.375个以太币,且另外引用这个区块的矿工获得0.15个以太币,注意,这里的引用最多两个。
比特币的总量是2100万个,那么以太币也不是无限生成的,每年以太币发行1800万。之前笔者文章中有提到过,这个数字货币因为密钥的丢失,所以每年的发行和意外的丢失会达到一个动态的平衡。并不是你看官方数据有多少就真正有多少在流通,这个应该能理解。
以太坊在不久将来会采用casper的机制,这个和目前的GHOST机制不一样。具体的机制还待看。
矿工角度来看
从矿工的角度来看待以太币,那么就分为三块:
挖矿的奖励,这个还是5个以太币。(固定收益)
交易的手续费,之前就有人一直在问万一哪天比特币2100万挖完之后,挖矿如何获得收益,那么交易费就是其中的一项收益,以太坊上交易都会带上交易费用,那么这个也就是矿工的一部分所得。(动态收益)
叔区块收益,上文就提到过的,这个区块如果有叔区块,那么从叔区块中获得1/32个以太币也就是0.15个以太币的收益。且每个区块至多引用两个叔区块,被引用过的区块不能再被引用。(动态收益)
以太币的单位:
基本单位为wei,下表具体是各个比例:
单位维度个数(wei)
wei1 wei1000
Kwei1e3 wei1000000
Mwei1e6 wei1000000000
Gwei1e9 wei1000000000000
microether1e12 wei10000000000000000
milliether1e15 wei10000000000000000000
ether1e18 wei10000000000000000000000
叔区块奖励
回过头感觉有必要再说下叔区块的奖励:
叔区块顾名思义是区块的父区块的兄弟区块。那么区块链只有一条主链,故叔区块不在主链上,导致叔区块的原因,由于是网络的延迟没有同步,那么一个叔区块如果引用在有效的主链上,挖出叔区块的矿工获得4.375个以太币(区块奖励的7/8)。上文说到叔区块的引用获得奖励,那么这个奖励对挖到叔区块的矿工也是有一个间隔层数的关系。具体如下:
间隔的层数获取的比例以太币
17/84.375
26/83.75
35/83.125
44/82.5
53/81.875
62/81.25
参考:《以太坊技术详解与实战》
二、区块链如何修改本地链数据
区块链数据可以修改吗?
如果是工作量证明的话,是可以修改的,但是需要投入大量的钱财,比如你要更改比特币的区块数据(比如把所有的比特币都转到你的钱包之类的...)需要占到全网算力的51%,但是这么多矿工在挖,占到全网算力的51%基本是不可能的。
区块链Yottachain到底是怎么改变数据存储模式的?
互联网技术的发展日新月异,给我们生活带来了无限精彩和便捷。同时,随着5G网络、容器云、高性能存储硬件水平的不断提高,数据增长进入了空前的发展阶段。
随处可用到的AR、VR、物联网、边缘计算机等等设备所产生的数据源源不断,就像开着的水管,数据源一直在流出。产生的数据将会以几何倍增加,这个时候区块链的存储技术就得以展现出来,在前几年开始区块链存储技术中有一个比较出色IPFS的项目。
IPFS提供了一个非常出色的去中心化存储机制,将无数个不可信任的节点连接起来,却形成了非常可靠的存储系统,这就像比特币将不可靠的节点连接起来构成了比银行更可靠的金融系统。
目前IPFS还缺乏冗余编码机制,因此还存在数据丢失的问题,总结而出IPFS所遇到的问题(缺乏数据安全机制、不支持动态网页、数据可靠性不够、服务稳定性不够)。
从根本上来说,区块链是一个极其简单的东西:所有人都能查看、没有人可以篡改的记录簿。Yottachain的创始人王东林说,这简单的概念有可能改变大量的软件授权过程,还可能为商业、金融及政府处理工作。在无需法律干预的条件下,储存在区块链上的智能合约追踪当事人、条款、所有权的转移、以及货物或服务的运输。所有权、其他权利、及经公证的文件储存在区块链上,还可以防止伪造、欺诈性销售,以及非法采购的行为。
Yottachain为原中心化存储的用户提供端到端无缝衔接的高品质低成本持久化存储和网络加速解决方案,还制定区块链存储协议BSP,打造区块链存储开放平台,为DAPP提供可靠、廉价、大容量、高性能的去中心化存储,为其它区块链存储系统提供核心能力并共享去重放大效应。
Yottachain以区块链为底层技术,开发了为矿工提供强大的激励方案,矿工投入1GB
的空间YottaChain可以产生5-10GB的存储容量,这样就产生了资源供应者获得的数字货币的购买力超过其供应的资源的奇迹效应。
毫无疑问,数据存储现在正在从中心化到分布式存储的转变的初级阶段。当越来越多的个人与组织开始利用区块链技术改变我们生活方方面面的时候,相信Yottachain也会给我们新时代的经济做出更大的贡献!
区块链的数据可以修改吗?理想状态是不能修改的,区块链只能增加不能修改删除。以太坊虽然可以修改删除账户数据,但是也只是状态机层面的,是通过transaction或者event进行的状态转换,之前的状态不会被修改删除。
如果是pow算法:如比特币等。用户往往会同步算力最好的新增链。而且每一个交易会有6个块的延迟。所以每当我们去制造一个假的块,我们通常需要同时将前面六个块的pow全部做出来而且这6个块累计的pow需要比真实主链(主链是多有诚实用户共同维护的)的pow高才可以保证每次都能成功,所以需要掌握51的算力
区块链的基本要素包括1-包含一个分布式数据库
2-分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本
3-区块链按时间序列化区块,且区块链是整个网络交易数据的唯一主体
4-区块链只对添加有效,对其他操作无效
5-基于非对称加密的公私钥验证
6-记账节点要求拜占庭将军问题可解/避免
7-共识过程(consensusprogress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。
8-共识过程能够解决double-spending问题。
区块链的五个特点:
去中心化
由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。
得益于区块链的去中心化特征,比特币也拥有去中心化的特征[6]。
开放性
系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
自治性
区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
信息不可篡改
一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
匿名性
由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
三、以太坊的***分片***是指什么
写在文前:视频版本和文字版本略有不同,想要看我深情并茂演绎,请看视频版本(喵懂区块链22期|分片(Sharding):以太坊太慢,“盘”他!),思维逻辑怪,请看文案加长版。
最近以太坊由于君士坦丁堡升级(Constantinople)而出现了压倒性的积极走势,而以太坊的升级之路则犹如升级打怪一般,落入了rabbithole,谁也不知道这洞有多深。既然是“路漫漫其修远兮”,则把脚下的每一步走好走准,则成了至关重要的点。攻破这一难点之后,以太坊的下一技术难点---Sharding分片,则又被摆到了台面上。本期《喵懂区块链》会带大家走进让以太坊快起来的法宝--- Sharding分片。
什么是sharding分片?
分片技术其实并不是什么新概念,起初是针对大型中心数据库提出的优化方案,具体来说就是将大型数据库中的数据划按照某种规则分成很多数据分片(shard),再将这些数据分片分别存放在不同的服务器中,以减小每个服务器的数据访问压力,从而提高整个数据库系统的性能。
我们举一个通俗的小例子:
比如我们平时经常使用的美团,滴滴打车等软件,就可以按照“城市”来进行分片,由于不同城市的数据不需要互通,就可以将不同城市的数据存放在不同数据库中,这样既可以把数据库服务器部署到离对应城市最近的节点上,还可以提高访问速度,何乐而不为呢?!
从上面的例子中,我大家应该对分片的概念有了初步了解,那么对应到区块链场景中来说,分片又是怎么样的呢?
以以太坊分片为例,在原有的单链系统中,公链整体的性能取决于单个节点的性能,进行分片之后,每个节点只需要承当全网部分工作,各个分片并行工作,按照Vitalik的话来说,each shard is like a separate galaxy每个分片都像是独立的小宇宙,这样效率自然噌噌噌提升!原本以太坊链全网TPS约为20,现在若增加到100个分片,那么全网TPS可以提升至2000,同理,全网容量也将提升至原来的100倍。
“每个节点只需要承担全网部分工作”,这就会引出几大问题,1.怎么确定这个节点是负责哪个分片的工作?2.哪些交易应该归类到哪些分片当中去?3.每个节点是否只需要储存自己所在分片的交易信息(账本)?
根据以上问题的实现与否,我们可以将分片依次分为三种类型:网络分片,交易分片,状态分片。
网络分片:如何将全网节点划分到不同分片当中去。
交易分片:如何将全网交易划分到不同分片当中去。
状态分片:如何让各个节点只维护各自分片内的账本,但又不影响整个系统的安全性。
主链和分片链的区别和联系?
分片的类型我们已经明白了,那么主链(Main chain)和分片链(shard chain)有什么不同呢?
向左转|向右转
在主链中,我们知道记账的人叫做矿工,账本是存在区块当中,对应到分片链当中,则是Collator校对人和Collation校对块。
类似于区块的构成,Collation校对块也包含Collation header校对头和tansaction list具体的交易信息。
向左转|向右转
对比下来,主链和分片链本身来说,还是大同小异,但是一但要把他们联系起来,问题就变得复杂了,这里我们举个通俗的小例子类比一下:
假设,
以太坊主链=温州银行
每个分片=温州银行分行
比如:
shard1(分片1)=温州银行(杭州分行)
Shard2(分片2)=温州银行(宁波分行)
……
在这个系统中,我们就会清晰看到几大问题:1.各大分行的账本如何汇总到总行里去?2.各大分行的账本如何互联?
对应到主链和分片链系统当中来,则变成了1.分片链和主链如何实现跨链链接?2.分片之间怎么互联?甚至分叉的场景要怎么办?
分片链和主链如何实现跨链链接?
为了将分片链加入到主链中,在主链上需要有一个叫做验证人管理员合约(Validator Manager Contract)VMC的特殊合约。VMC具体是这样的:
向左转|向右转
所有的验证人把它们的保证金(stake)存入 VMC当中,这些验证人就会被收录在VMC的common validator pool验证人备选池中。系统将会“隔一段时间”根据stake权益的多少随机为每个分片抽取一名验证人,将各个分片的collation header校对头信息同步到主链中去。
这里的“隔一段时间”,我们需要额外解释一下:“时间”,也叫period周期,这到底是怎么确定的呢?答案是主要看开发人员在最终代码中的实现为准,比如说我们把周期定为5个区块,那么就意味着主链出5个区块,所有分片链分别出一个collation校对块,这就间接决定了分片链的出块时间。
这种随机的形式,使得验证者无法提前预测他们何时会成为验证者,也无法预测会成为哪个分片的验证人,从而预防作恶的可能性。
如果一旦发现我们的分片验证人作恶了,他的stake权益就会被剥夺。
跨分片通信(cross-shard communication)怎么办?
比如说一个转账方小A在分片M中,收款方小B在分片N中,小A可以通过主链这个桥梁,完成扣款操作,并创建一个带有ID的 receipt收据,代表着“自己已经完成了扣款操作”,收款方小B可以根据这个 receipt ID创建一个receipt-consuming收据消费交易,“消费”成功了之后,收款也就成功了。
向左转|向右转
分片链分叉了怎么办?(fork choice rule)
在以往的分叉情况中,都是“以最长链为主链”,在分片当中,分叉规则是“以最长主链里面的最长分片链为有效分片链(the longest valid shard chain within the longest valid main chain)”。
什么意思呢?我们举个例子:
一条主链出现了分叉,一条分叉连续跟了两个区块,同时也跟了两个Collation校对块,另一条则是一个区块和一个校对块,那么很明显,第一条是有效链。
向左转|向右转
接下来,第二条链又加了一个区块,变成两个区块和一个Collation校对块,依然很明显,第一条链仍然是有效链:
向左转|向右转
接下来,第一条链上又加了一个区块,虽然这条链上只有一个Collation校对块,但是它的主链长度已经超过了第一条,那么第二条则成为了现在的有效链,这就是分片场景下的分叉规则,首先比较主链长度,再比较分片链长度!
向左转|向右转
以太坊分片的实现是一个漫长的过程,就连Vitalik自己也说将会分阶段来逐步实现,分片到底能不能从理论走向实践,我们还是小小期待一下吧。
参考资料:
本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/jys/169052.html


发表回复
评论列表(0条)