知识点|区块链实操入门内训笔记

一、 区块链核心概念

1、 区块链(BlockChain)

2、 区块链的本质

3、 区块链的最大特点

4、 区块

5、 区块链的不可修改性

6、 采矿

7、 难度系数

8、 区块链的分叉

9、 总结

10、ICO

11、 代币

二、 安装以太坊钱包

1、 下载以太坊钱包

2、以太坊代币发行流程

区块链(BlockChain), 区块链的本质?

区块链的本质是什么?一句话,它是一种特殊的分布式数据库。

知识点|区块链实操入门内训笔记

首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

区块链的最大特点

区块链没有管理员,它是彻底无中心的。

其他的数据库都有管理员,但是区块链没有。如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。

正是因为无法管理,区块链才能做到无法被控制。否则一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。

但是,没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?需要了解区块的设计思想。

区块

区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。

知识点|区块链实操入门内训笔记

每个区块包含两个部分:

【区块头(Head)】记录当前区块的元信息。

【区块体(Body)】实际数据。

区块头包含了当前区块的多项元信息。

1、生成时间

2、实际数据(即区块体)的 Hash

3、上一个区块的 Hash

这里,你需要理解什么叫 Hash,这是理解区块链必需的。

知识点|区块链实操入门内训笔记

所谓 Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的 Hash 一定是不同的。

举例来说,字符串123的 Hash 是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个 Hash。

因此,就有两个重要的推论。

推论1:每个区块的 Hash 都是不一样的,可以通过 Hash 标识区块。

推论2:如果区块的内容变了,它的 Hash 一定会改变。

区块链的不可修改性

区块与 Hash 是一一对应的,每个区块的 Hash 都是针对”区块头”(Head)计算的。

Hash = SHA256(区块头)

上面就是区块 Hash 的计算公式,Hash 由区块头唯一决定,SHA256是区块链的 Hash 算法。

前面说过,区块头包含很多内容,其中有当前区块体的 Hash(注意是”区块体”的 Hash,而不是整个区块),还有上一个区块的 Hash。这意味着,如果当前区块的内容变了,或者上一个区块的 Hash 变了,一定会引起当前区块的 Hash 改变。

这一点对区块链有重大意义。如果有人修改了一个区块,该区块的 Hash 就变了。为了让后面的区块还能连到它,该人必须同时修改后面所有的区块,否则被改掉的区块就脱离区块链了。由于后面要提到的原因,Hash 的计算很耗时,同时修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。

正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。

知识点|区块链实操入门内训笔记

每个区块都连着上一个区块,这也是”区块链”这个名字的由来。

采矿

由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。所以,你别无选择,一听到信号,就必须立刻同步。

所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。

这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效 Hash,从而把新区块添加到区块链。由于计算量太大,所以快不起来。

这个过程就叫做采矿(mining),因为计算有效 Hash 的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算 Hash 的机器就叫做矿机,操作矿机的人就叫做矿工。

难度系数


你可能会有一个疑问,人们都说采矿很难,可是采矿不就是用计算机算出一个 Hash 吗,这正是计算机的强项啊,怎么会变得很难,迟迟算不出来呢?

原来不是任意一个 Hash 都可以,只有满足条件的 Hash 才会被区块链接受。这个条件特别苛刻,使得绝大部分 Hash 都不满足要求,必须重算。

原来,区块头包含一个难度系数(difficulty),这个值决定了计算 Hash 的难度。举例来说,第100000个区块的难度系数是 14484.16236122。

知识点|区块链实操入门内训笔记

区块链协议规定,使用一个常量除以难度系数,可以得到目标值(target)。显然,难度系数越大,目标值就越小。

知识点|区块链实操入门内训笔记


Hash 的有效性跟目标值密切相关,只有小于目标值的 Hash 才是有效的,否则 Hash 无效,必须重算。由于目标值非常小,Hash 小于该值的机会极其渺茫,可能计算10亿次,才算中一次。这就是采矿如此之慢的根本原因。

区块头里面还有一个 Nonce 值,记录了 Hash 重算的次数。第 100000 个区块的 Nonce 值是274148111,即计算了 2.74 亿次,才得到了一个有效的 Hash,该

区块才能加入区块链。

难度系数的调整:

就算采矿很难,但也没法保证,正好十分钟产出一个区块,有时一分钟就算出来了,有时几个小时可能也没结果。总体来看,随着硬件设备的提升,以及矿机的数量增长,计算速度一定会越来越快。

为了将产出速率恒定在十分钟,中本聪还设计了难度系数的动态调节机制。他规定,难度系数每两周(2016个区块)调整一次。如果这两周里面,区块的平均生成速度是9分钟,就意味着比法定速度快了10%,因此难度系数就要调高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,因此难度系数就要调低10%。

难度系数越调越高(目标值越来越小),导致了采矿越来越难。

区块链的分叉

即使区块链是可靠的,现在还有一个问题没有解决:如果两个人同时向区块链写入数据,也就是说,同时有两个区块加入,因为它们都连着前一个区块,就形成了分叉。这时应该采纳哪一个区块呢?

知识点|区块链实操入门内训笔记

现在的规则是,新节点总是采用最长的那条区块链。如果区块链有分叉,将看哪个分支在分叉点后面,先达到6个新区块(称为”六次确认”)。按照10分钟一个区块计算,一小时就可以确认。

知识点|区块链实操入门内训笔记

由于新区块的生成速度由计算能力决定,所以这条规则就是说,拥有大多数计算能力的那条分支,就是正宗的比特链。

总结

区块链作为无人管理的分布式数据库,从2009年开始已经运行了8年,没有出现大的问题。这证明它是可行的。

但是,为了保证数据的可靠性,区块链也有自己的代价。一是效率,数据写入区块链,最少要等待十分钟,所有节点都同步数据,则需要更多的时间;二是能耗,区块的生成需要矿工进行无数无意义的计算,这是非常耗费能源的。因此,区块链智适用于以下场景:

1、不存在所有成员都信任的管理当局

2、写入的数据不要求实时使用

3、挖矿的收益能够弥补本身的成本

如果无法满足上述的条件,那么传统的数据库是更好的解决方案。

ICO

ICO 是一种区块链行业术语,是Initial Coin Offering缩写,首次币发行,源自股票市场的首次公开发行(IPO)概念,是区块链项目首次发行代币,募集比特币、解决以太坊等通用数字货币的行为。

代币

代币是利用以太坊的智能合约编写的数字货币。程序员可以通过编写智能合约代码,创建一种新的数字货币。

基本功能:

-创建数字货币,设置货币的名称、货币总量、货币图标等基本参数。
-创建货币交易功能。实现货币在不同用户之间的转移。

上面的是基本功能,已经可以实现基本的代币交换,下面是高级功能,可以实现更加复杂的应用。

高级功能:
-创建货币的管理者。虽然区块链是去中心化的,但是可以实现合约的管理者,这在许多应用中是有需求的。

-实现数字货币的黑白名单。通过设置黑白名单,可以冻结某些账户。资产仍在账户,但是不允许交易。

-实现货币增发。就如同美联储狂印钞票一样,你作为货币的创建者,也可以实现货币增发的功能,可以在原有货币总量以外,增加额外的钞票。(想想都是很激动了)

-实现挖矿。比特币、以太币的挖矿机制非常出名,矿工、矿机、矿池等概念大家都很熟悉。你可以在自己的货币中实现挖矿机制,奖励实现挖矿目的的用户一些代币。

-实现代币和其他货币的自动兑换。你可以在自己的货币中实现代币与其他数字货币的兑换机制。这个很激动人心哦,你可以像银行一样收交易费啦。例如,买入代币的价格是1ETH,卖出代币的价格是0.8ETH,这意味着每个代币的流入流出,你可以收取0.2ETH的交易费。是不是很激动,前提是你要忽悠大家用你的代币。

-实现gas的自动补充。以太坊中的交易时需要gas汽油(实际上就是eth)。为了解决某些用户没有ETH,只有代币的情况,可以设计自动补充gas的功能。这个功能将使你的代币更加好用。(用的人越多,收交易费越多)

安装以太坊钱包

下载以太坊钱包

以太坊钱包下载地址:

 

https://github.com/ethereum/mist/releases/tag/v0.10.0

 

知识点|区块链实操入门内训笔记

我的电脑安装到了C:\Users\abao\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Ethereum Wallet 安装的目录,点击里面的Ethereum Wallet,启动以太坊钱包,系统会下载区块链相关区块数据,耗时会比较长,须耐心等待(如果全部下载完之前关闭了电脑,重新打开后应会在原来的基础上继续下载)。

Windows上下载Ethereum-Wallet-installer-0-10-0.exe

知识点|区块链实操入门内训笔记

安装完成后,以太坊钱包软件开始下载区块数据,会耗费很长时间,估计至少一天。下载完后,显示界面:

知识点|区块链实操入门内训笔记

点账户,新建账户,输入密码。

知识点|区块链实操入门内训笔记

知识点|区块链实操入门内训笔记

下面钱包地址:

以太坊代币发行流程


知识点|区块链实操入门内训笔记

看到右上角那个“CONTRACTS”按钮了吗?轻轻点一下:

知识点|区块链实操入门内训笔记

再点这个Deploy New Contract:

然后,打开这个网站:Create a cryptocurrency contract in Ethereum

不懂英文?没问题

看不懂代码?无所谓

看到THE CODE了吗?

知识点|区块链实操入门内训笔记

把下面的代码copy下来,然后粘贴到你的以太坊钱包里,再右边下来菜单里面选那个Token ERC 20 ,你会看到的界面大概是这个样子:

知识点|区块链实操入门内训笔记

这个时候系统会让你输入三个参数:

Initial Supply:你要发行多少个币呢? 例如填2100万个。

Token Name:咱发行的币叫什么名字呢? ICO骗钱为的就是会所嫩模,就叫嫩模币吧!

Token synbol:就是币的符号,比如比特币是BTC,以太坊是ETH,咱们嫩模币当然是NMB了!

然后下面有个蓝色的deploy,点了这个deploy,嫩模币就正式发布了————这里有个条件,就是钱包里要有少量的ETH,作为执行合约的Gas,大概是0.00几个ETH就够了,也就几美元到几十美元的事儿。

完成了。

如果你完成了如上所说的步骤的话,那么你成功的在这个世界上,基于以太坊网络,创造了一种新的加密货币————如果这破玩意儿能称为加密货币的话……

我大概解释一下啊这玩意儿是啥:以太坊网络和只能合约,支持一个use case就是用户可以通过以太坊来发行自己的”Token”, Token是什么呢?你可以理解为现实生活当中的“积分”,对,比如加油站洗车店会员卡积分,楼下发廊Tony老师让你办的冲2000送1000的美发会员卡,奶茶点送你的盖满10个张送一杯的集戳卡……

这一切的一切,都是可以在以太坊用很简单的智能合约代码搞成一个”token”,然后Token可以通过以太坊网络转账, 转账的时候消耗少量的以太坊ETH做Gas。Token也不需要钱包——使用以太坊钱包就好,钱包地址也是以太坊的地址,钱包秘钥也是以太坊的秘钥,区块链用的就是以太坊的区块链……

说了这么多,就是想让你明白,Token这破玩意儿如此简单,发行如此容易,没有成本,完全是基于以太坊网络,没有任何自己的底层技术,基本上20分钟就能搞出来一个,供应量随便填。

我要说的是:现在有好多所谓的ICO,就是把这Token拿来当币卖……

如上所说创造出来的Token,跟比特币,以太坊,瑞波这些真的“加密货币”完全不是一个东西——我不是要给比特币以太坊这些数字货币站台——我一开始以为,要搞ICO,起码要像比特币那种,自己有区块链,有底层技术,分布账本,钱包,nodes都自己实现吧——虽然这也不是什么难事儿,毕竟都是开源的,但起码这还是有一定成本和壁垒的,结果,这帮骗钱骗疯了的,连这都不搞,直接像我上面发布嫩模币那样,利用小白韭菜们的无知,把Token拿来当成币卖……

打开 All Tokens | CoinMarketCap看看哪些你以为和比特币,以太坊一样的加密货币,其实是和嫩模币NMB一样的Token呢?

知识点|区块链实操入门内训笔记

有没有很眼熟啊?有没有很心慌啊?你看Platform,就是平台,多数都是以太坊平台,估值……50多亿美金?80多亿美金?

你们觉得嫩模币NMB估值应该多少啊?这么搞下去会不会币太多了,嫩模都不够用了啊……

好,现在币有了,接下来就是ICO难度最大的部分了:

写白皮书啊!


有没有发现现在白皮书天马星空,包罗万象,无所不能?

为啥?本质上这玩意儿就是”积分“,能用的上”积分“的地方都能给套进去啊!机械制造,生物制药,航天科技,基因工程,物流运输,文化创作,阴阳五行,一带一路……反正你想怎么写怎么写,这部分就非常考验ICO团队的吹牛逼功力,白皮书写的不好,给观众的想象空间不够,基本可以判断,这个团队平时缺乏诈骗经验……

有了币,有了白皮书,就可以拿去忽悠人了,基本上就是说ICO前期,让对方给你打以太坊ETH,然后你给他发你的嫩模币NMB……他给你以太坊,你给他嫩模币,他给你ETH,你给他NMB……他的以太坊得是1000美金一个真金白银买的,你的NMB可是上面随手填出来的。过不过瘾?爽不爽?

这玩意儿,薄利多销,骗到50算50,骗到100算100,团队别露脸,白皮书上不写名,写名也别写自己名,找两个外国人做adviser,反正韭菜们也不会去验证。核心团队叫基金会,比如咱们负责操作嫩模币的基金会,可以起名叫NMB FOUNDATION。收到ETH直接变现分钱走人,或者另起炉灶,NMB ICO成功完成了,再搞下一个呗,市场需要细分,嫩模有的丑有的俏,针对丑嫩模搞一个丑嫩模币CNMB,俏嫩模的叫QNMB,或者叫嫩模2.0币NM2B,听上去就有互联网时代感……

区块链确实是个好技术,有很多潜力和空间,但究竟有没有好到颠覆世界,有没有好到随便发个tokn就能值十亿八亿的美金,有没有好到能让人打着”区块链“,”智能合约“,”加密货币“的幌子搞诈骗和非法集资能逃脱法律责任,有没有好到能让你买一个Token就赚个几百几千倍。大家自己判断。

特别强调:在国内,ICO是法律所不容许的,所以不要非法发售代币!

智能合约

在以太坊钱包中发布智能合约。

http://wiki.jikexueyuan.com/project/solidity-zh/ 先快速学习下solidity

https://blog.csdn.net/diandianxiyu_geek/article/details/77989384

http://wiki.jikexueyuan.com/project/solidity-zh/

https://ethereum.org/token#the-code

比特币/以太币交易

相关英文缩写

CYN 人民币  

USTD 美元 

ETH 以太币  

BTC 比特币

其他币种

APP gateio 

钱包

跑完流程,剩下就是按你的逻辑进行交易了。

文章来源:微信公众号:刘彬说       编辑:daisy

本文系转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。