(转)写文章 以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘

什么是以太坊(Ethereum)

以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链平台。像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护。与比特币仅提供了有限功能的脚本不同,以太坊提供了一个“图灵完备”的虚拟机,称为以太坊虚拟机(Ethereum Virtual Machine),简称EVM,用户可以在EVM上创建智能合约(Smart Contract)。以太坊平台中的通用货币为以太币(Ether),简称ETH,以太币可用于账号间的转账交易或者为EVM上运行的合约消耗的资源付费。

以太坊的创始人

维塔里克·布特林(Vitalik Buterin),1994年1月31日生于俄罗斯,后移居加拿大,拥有俄罗斯和加拿大双国籍。2011年,通过比特币,他了解到了区块链和加密货币技术,并被区块链技术深深的吸引。2011年9月,作为联合创史人之一,创办了旨在向读者提供及时准确的区块链相关资讯的网站:Bitcoin Magazine

此后的两年半里,布特林一直在思考区块链技术的更多创新应用,并最终在2013年9月,发布了以太坊白皮书(Ethereum White Paper),当时他只有19岁。

现在,作为以太坊的灵魂人物,他正领导着以太坊团队,致力于以太坊的开发和推广。

众筹计划

为了筹措开发以太坊需要的资金,布特林发起了一次众筹。与一般的众筹不同,这次众筹只接受比特币支付,并会在以太坊正式发布后,使用以太坊中的通用货币以太币作为回报。这次众筹的简要情况如下:

  • 时间:2014年7月22日-2014年9月2日,共42天。
  • 兑换比例:前14天每1BTC兑换2000ETH,之后每天1BTC兑换的ETH数额减少30,直到1337ETH后不再减少。

  • 分配:众筹发行的ETH数额的19.8%将由以太坊基金会拥有,也就是说,初始发行的以太坊中,有1 / ( 1 + 19.8% ) = 83.47%属于参与众筹的人,剩下的16.53%由以太坊基金会所有。
  • 用于接收众筹比特币的地址为:36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2

这种形式的众筹,在今天我们一般称为首次公开电子币众筹(Initial Coin Offering),也就是大家常说的ICO。

技术细节

要想成功的完成这次众筹,要解决几个问题:

  • 证明众筹的地址是以太坊团队能够控制的
  • 众筹过程公开透明,筹到了多少BTC要对大家公开
  • 要能够及时准确的发放以太币给相应的参与众筹的人

以太坊团队在众筹开始的前一天,花费了这个地址的一个UTXO,从而证明了他们持有这个地址的私钥,证明了是他们在控制这个地址。可以在这里看到这个交易:592eaf32d83a7db47321642c4b3837d38edfbe57910f4f6abd548e578f51f80a

公开透明,这不难做到,筹到了多少BTC,只要看一看比特币区块链中地址36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2在众筹期间收到了多少BTC就可以了。

最后一点比较麻烦,新生的以太坊和比特币根本就是两个区块链,完全没有任何交集,怎么能够建立起关系呢?以太坊的开发者们想到了一个办法,甚至为了方便小白,还提供了一个脚本ethereum/pyethsaletool

步骤如下:

  1. 用户自己生成一个随机数seed
  2. 使用seed生成一个以太坊的公私钥对(pub , priv)
  3. 将公钥pub使用SHA-3摘要算法转换成Hash值,也就是以太坊中的钱包地址eth_address
  4. 将eth_address使用SHA256摘要算法生成Hash值,并转换成一个比特币地址btc_address
  5. 最后,参与者将想要支付给众筹项目的金额分为三部分,0.0002BTC的交易费,0.0001BTC支付到btc_address,剩下的金额支付到众筹地址36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2
  6. 把eth_address发送给以太坊项目组,eth_address将被写入创世区块,从而使参与者获得以太币。
  7. 保管好eth_address对应的公私钥对(pub , priv),以太坊正式发布后,就可以拥有和消费以太币了。

支付给步骤4中生成的btc_address的0.0001BTC将被销毁,为什么这么说呢?比特币的地址其实是一个公钥的Hash值,当你想花费输出到某个地址的比特币时,你要提供两个东西,你的公钥和你使用对应私钥对交易的签名。当接收者验证一个交易时,先检查你提供的公钥的Hash值是不是和你要花费的地址相符,如果相符,再检查签名是不是这个公钥对应的私钥生成的。这个btc_address不是使用公钥生成的,如果想花费它,要从Hash反推出公钥,再从公钥反推出对应的私钥,这都是不可能的。因而这些比特币永远的被销毁了,好在0.0001BTC并不多。

那么为什么要这么做呢?为了解决众筹的比特币和未来产生的以太币的关联问题,以太坊项目组只要扫描以自己的地址36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2为输出的所有交易,再使用同样的方法用你提供的eth_address生成一个btc_address,就可以证明,某笔包含btc_address为输出的交易是你支付的,也就可以把eth_address和众筹金额关联起来了。

举个例子

区块链最大的好处就是永恒和公开,我们可以任意挖掘历史。让我们看看当年的参与者留下了什么吧。

我们随意从以太坊创世区块中找一位众筹参与者出来,看看他是怎么参与众筹的。

  1. 生成eth_address:9c9de44724a4054da0eaa605abcc802668778bea
  2. 生成btc_address:1FH7ZSAiBqeJExWZ7ZWZyqDrK2ehF1g9xz
  3. 创建一个比特币交易,支付0.0002BTC的交易费,支付0.0001BTC到btc_address,剩下的金额支付到众筹地址36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2
  4. 把自己的eth_address告知以太坊项目组

完成这些后,他在比特币区块链中留下了一个交易:37324fd32620179fd1b2746d13981680067deeb0fbb5055f06cec507208f1260

因为上面讲过的原因,1FH7ZSAiBqeJExWZ7ZWZyqDrK2ehF1g9xz上的0.0001BTC永远不可能被花费,可以在图中看到,三年过去了,它仍然是未使用状态,如果有一天这0.0001BTC被花费了,那么就将是比特币毁灭的一天。

下面以太坊项目组上场:

以太坊项目组收到参与者用邮件或者其他方式发来的eth_address(9c9de44724a4054da0eaa605abcc802668778bea),使用相同的算法转换成btc_address(1FH7ZSAiBqeJExWZ7ZWZyqDrK2ehF1g9xz),然后到比特币区块链中去找这个地址,发现了这个地址和交易37324fd32620179fd1b2746d13981680067deeb0fbb5055f06cec507208f1260相关联,这个交易中有支付给众筹地址的比特币,从而证明了eth_address的主人确实支付了众筹款项0.146BTC。

这位众筹参与者于2014年8月26日支付了0.146BTC,按当时的比率,1BTC=1370ETH,最终他获得了0.146 * 1370 = 200.02ETH。

如果你对这个eth_address转换成btc_address的过程感兴趣,我准备了个python脚本,有兴趣的朋友可以去github查看:eth_address_to_btc_address.py

众筹结果

众筹地址共收到8,947个交易,来自8,892个不重复的地址,有两个地址是在众筹时间段之外支付的,所以这两个地址不能获得以太币。通过此次众筹,以太坊项目组筹得31,529.356,395,51BTC,当时价值约1800w美元,0.8945BTC被销毁,1.7898BTC用于支付比特币交易的矿工手续费。

同时,以太坊发布后,需要支付给众筹参与者共计60,108,506.26以太币。

毫无疑问,这次众筹是极为成功的,正是这次成功的众筹,为以太坊项目组筹集了足够的启动经费。

创世区块

在众筹成功一年后的2015年7月30日,以太坊正式发布。项目组兑现了承诺,创世区块中包含了8893个交易。

为什么是8893个交易呢?这其中包含8890个众筹参与者,他们获得了用BTC兑换的以太币,共计60,108,506.26以太币,2个没能在规定时间参与的地址,虽然没有得到以太币,但是也被记录在区块链中。

另有11,901,484.239480以太币被支付给了以太坊基金会0x5abfec25f74cd88437631a7731906932776356f9

所以,从创世那一刻起,以太坊中就有了72,009,990.49948以太币。

通常创世区块都是预先生成好的,以太坊的创世区块就是使用这个脚本genesis_block_generator.py生成的。这个生成好的创世区块的Hash(0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3)会被写进钱包软件中,从那一刻起,以太坊便正式宣告诞生。如果你想看看它在哪儿,这个Hash在params/config.go中。

以太币的来源

与比特币不同,以太坊中的以太币并不全是矿工挖掘出来的,有大约7200w以太币是在创世时就已经创造出来了。到本文写作时,已经存在94,418,166.44以太币,其中76.3%是创世区块中包含的,挖矿产生的2100w以太币仅占到不足四分之一。

数据来源:Ethereum Market Capitalization and Supply Statistics

严谨的说,以太币的来源有两个,创世区块中包含的7200w和大约每年挖矿产生的1872W,并且目前为止,总量无上限。

关于ICO的看法

众筹时均价0.3美元的以太币,而今已经超过300美元,升值1000倍。然而,以太坊的成功不是偶然,也不是暴利,更不是圈钱。以太坊实现了图灵完备的EVM,这是区块链技术领域划时代的创新,为智能合约提供了基础。短短两年时间,以太币市值不断上升,成为仅次于比特币的第二大电子币,并被新的ICO项目用来筹集资金。

ICO仅仅是一种融资手段,不应该被妖魔化。

IPO是用美元、人民币等法币换股权证书,ICO是用有一定价值的数字资产换代币,二者如果都在合理的监管下,确保资金不被挪用,都是利国利民的好事儿。

然而,现在ICO已经被曲解和利用,成为了投机者手中圈钱的工具。看过《华尔街之狼》的人可能知道,主角贝尔福特利用了未公开上市的低价股,也被称为仙股,或者垃圾股,电影中称之为“粉红单”来骗取投资人的资金。如果缺乏监管,股票和ICO都可以用来圈钱,都可以扰乱市场。违法、欺骗、圈钱,这不应该是ICO的原罪。

ICO本无罪,有罪的是贪婪的人性和小白的愚蠢,只要监管得当,技术原理为更多人所了解,我相信它终会有所作为。

转自:https://zhuanlan.zhihu.com/p/29028693

原文地址:https://www.cnblogs.com/zhangmingcheng/p/8550497.html

时间: 2024-11-05 22:44:15

(转)写文章 以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘的相关文章

一鼓作气写文章/代码

“写论文一定要快,首先把初稿拿出来,甭管烂到什么程度”[1]. 这句话我实在是深有体会,博主从小学到大学到研究生,写作文能水平一直很菜,很少体会过什么才思泉涌,行云流水的感觉,思路很容易停滞,注意力也很容易分散.很多时候写代码也是差不多的状态,不过写代码的阻碍主要是因为记不住很多API.我希望能通过写博客的过程稍微提升一些自己写作(或者写代码)的速度和效率. 写文章/代码 · 快,不管多烂 我们很多时候会期待“完美”的表述,从而纠结在局部的表达上,然而往往会陷入很多细节问题导致写作往前推进的速度

写文章赚钱34期:用100个问答轻松搞定1个领域!

很多人听说做自媒体很赚钱,在网络上只要一部手机.一台电脑就可以轻松赚钱,纷纷跑到网络上去尝试做. 他们选择了一个领域就开始写文章,但是写了一段时间后,却发现写得文章没人看,吸引不到精准粉丝,根本没有粉丝可以成交,非常痛苦,就觉得做自媒体根本不能赚钱,是骗人的. 俊哥说:只有先搞定一个领域,把你变成专家,你才能轻松赚钱.用100个问答文章轻松搞定1个领域! 任何一个行业.一个领域,问题整合起来最多不超过100个,你只要把这100个问题用文章写出来,相当于解决了粉丝心目中的问题,也轻松解决了行业里的

写代码与写文章

写代码和写文章非常相似,都利用电脑工作,都码字.判断一段代码好不好,能考评的也就是代码的格式,风格还有算法了,下面从这些方面来看看写代码和写文章是多么的相似. 格式 在写代码里主要指缩进,空格,空行,对齐等文本排版形式,这个是最最容易到达的一个代码好的指标,好多的IDE环境都是一键自动格式化.好的代码格式就像好的文章一样排版精美,段落清晰.代码的格式美观是形式美,是外在美. /** 差的格式举例 **/ function swap(a, b) { var c=a; a=b; b=c; } /**

陈松松:做好这三方面,你也可以从多个角度写文章做视频

这是我写的第99篇原创视频营销文章 陈松松,6年视频营销实战经验 前几天有一位朋友在给我留言,我简单回复了下, 后来我又认真思考了下这个问题, 基本上大家都有这个问题,觉得还是有必要给大家分享我的心得! 其实,我之所以有那么多的角度来写视频营销方面的只知识,只是因为我做到了以下三个方面: 第一,敢写 我之所以能写,能从多个不同的角度去写,就是因为我敢写, 而我的经验,我的方法这都是次要的! 别人爱说什么说什么,反正我分享的就是我自己的视频营销实战经验,你认可,就跟我一起玩,不认可就找你认可的人!

写文章不赚钱?你应该学会热点营销式写作

1. 要想做好内容创业,内容生产者就必须要学会推广吸粉.只有学会借用一些技巧让自己生产的内容(文章,图片,视频,音频)尽可能的得到更多人的关注,这样才能够为自己吸引更多的粉丝. 就拿写文章来说,很多文笔很好的人总会抱怨,觉得自己写的这么好,但是阅读量却很低.而那些流水账似的文章却篇篇10w+,不仅写的轻松,赚得也多. 之所以出现这种情况,并不是这个世道不公. 而是因为这些人对于写作这个概念存在于误解. 有人喜欢阅读简洁直白的文章,有人则喜欢唯美的,含蓄的. 有人喜欢阅读理性,逻辑性强的干货文,有

使用github+sublime+markdwon 写文章,写博客并发布到博客园

第一步:安装 轻松玩转github: 注册成为 github用户 首先下载github windows 客户端: 安装完成后打开gitShell 窗口,这里客户端在安装的时候就已经帮你把用户名密码设置好了,并且把公钥上传到了github.无需配置直接使用即可: ps: 使用 git config --global -l 可以查看. 学习一下git的常用命令吧:这里强烈推荐廖雪峰老师的博客,我不会告诉你我就是跟着他学的. 然如果你觉得廖老师太多了懒得看,而且只写写博客什么的就直接看下文吧,下面会给

写文章赚钱33期:写文章到底能赚哪些钱?

写文章能赚钱? 很多朋友看到都在笑,写文章怎么可能赚钱呢? 你可能会想到:去打工.当老板才能赚钱,没有听说写写文章就能赚钱? 俊哥说:这是一个非常严重的错误思维. 网络上的大咖.名人他们都在偷偷地做着一件事件,就是写文章.经过时间的积累,大咖们的文章会覆盖到网络上的所有角落,影响了很多人,改变了很多人,帮助了很多人,所有大咖们也顺便成功了. 如果大咖们的文章一夜之间全部删除,你到网络上去找大咖的文章,一篇都找不到,那么他们就失去了影响力,马上就变成了一个小白了. 所以是文章成就了大咖,没有文章大

使用Windows Live Writer写文章时不要用360清除垃圾

ref:http://www.zhengsiwei.com/write-an-article-to-use-windows-live-writer-dont-use-360-to-remove-rubbish/   在使用Windows Live Writer写文章时,图片是缓存到临时文件夹的.这时如果使用360清除垃圾,会将缓存中的图片删除.会出现以下提示:   这时候,文章中的图片虽然能看得到但实际已经删除了,需要重新插入.如果你想看到都有哪些软件的缓存存在可能被360当垃圾清理,或者使用软

写文章与写程序

在网上看到有个讨论程序员是否应该写作,这里的写作主要是在说写技术博客.我个人是支持写技术博客的,不过有个前提,在能把程序写好前不要过多的写技术博客.为什么这么说呢,写程序是程序员的本职工作,而写技术博客是对自身知识掌握的总结梳理,并向特定的人群提供一些有价值的参考信息.所以只有先写好了程序,才可能写的好技术文章. 程序是用计算机语言来表达的,技术文章是用自然语言来表达的.计算机语言的逻辑性和精确表达能力要比自然语言强的多,自然语言是模糊的.混沌的.不精确的,因此写的一手好程序的人不一定能写的一手