【Cls1】Blockchain的一些基础概念和名词解释

学习任何技术之前,都需要搞清楚这个技术的由来以及专有名词,心中刻下大致的模型,有个大致理解。

  • 比特币

区块链技术起源于 2008 年 10 月 31 日 中本聪(Satoshi Nakamoto)发表的比特币论文:《Bitcoin: A Peer to Peer Electronic Cash System》,即现在大家所说的比特币白皮书,该论文论述了基于 P2P 网络的电子现金系统的设计,系统中产生和流通的现金就是比特币(Bitcoin)。

  • 以太坊

比特币网络的功能仅限于让用户进行财务交易(Financial Transactions),之后没多久,很多人意识到他们可以使用比特币创意中的区块链技术来进行金钱之外的价值交换,这些人中想得最清楚的 Vatalik Buterin(后来被大家尊称为"V神"的那个天才程序员)于 2013 年末发布了以太坊的白皮书:《Ethereum: The Ultimate Smart Contract and Decentralized Application Platform》,白皮书的最新版可以在 GitHub 看到。

  • DApp

基于智能合约创建更加复杂的去中心化应用(Decentralized Application,简称为 DApp)的技术设计


账户?交易?区块?区块链?

  • 账户(Account)是用户在银行的户头+密码的组合,在区块链世界中也是如此,不论是比特币还是以太坊的账户都由地址、公钥、私钥 3 部分构成,其中地址相当于用户名,而公钥+私钥相当于密码,尤其是私钥,丢失或者泄露就意味着失去账户(敏感信息、资金)的控制权;

  • 交易账本(Transaction)是账本中的任意一条收支记录,在区块链世界中可以指两个账户之间的转账交易、或者智能合约调用请求;

  • 区块(Block)是账本中的一页,账本的每页可能包含多笔收入和支出,同样,区块链中的每个区块都可能包含多笔交易;

  • 区块链(Blockchain)是装订成册的多页账本,账本不同页按照记录时间先后顺序组织,区块链中不同区块按被矿工打包的时间先后组织。

区块链技术通常被简单描述为:公开的、分布式、不可篡改的的数据库技术或记账技术

块高度?出块时间?

  • 块高度,可理解为账本的页数
    在区块链世界里,块高度可以理解为自该区块链开始运行到现在共产生了多少个区块;
    换个角度,我们可以认为块高度就是区块链世界的时间,每产生一个新的区块,块高度就会+1;
    比特币最新块高度可以到 blockexplorer查看,以太坊最新块高度可以到 etherscan.io 查看。

  • 出块时间,可以理解为记完每页账并在上面摁完手印儿需要花多少时间
    即区块链上相邻两个区块产生出来的时间间隔,或者常说的交易确认时间;
    (注意这里说的交易确认时间指某笔交易从发起到被打包进区块链的时间)
    比特币的区块时间通常控制在 10 分钟;
    以太坊的区块时间在 15 秒左右;

一图胜千言

以太坊网络

关于什么是以太坊网络,可以从整体和个体两个视角来理解:

整体视角

以太坊网络本质是 P2P 网络系统,其用途是发起交易、存储交易历史,这里的交易可以是转账或者是调用智能合约中的方法;

以太坊区块链则是存储了以太坊网络上发生过的每笔交易的数据库;

以太坊网络类比到 Web 开发工程里面3 套环境,可将其归类如下:

  • 主网:Mainnet,就是以太坊的线上环境,记录、保存用户和智能合约的交易,主网中存储的代币才具有真正的价值;

  • 测试网:Testnet,就是以太坊的测试环境,目的是方便社区和开发者测试智能合约、转账等功能,典型的测试网络有 Rinkeby、Ropsten、Kovan,完整列表见 testnet.etherscan.io,其中的代币不具有任何价值;

  • 其他网:就是以太坊的开发环境,常通过开发者在本地运行以太坊节点组成,或者使用各种便捷的工具启动的本地测试网,以及以内部测试为目的而搭建的私有网络等,随着以太坊区块链数据的累计,运行全节点的时间和硬件成本也越来越大,本我们将会摒弃传统教程自建测试网络的方式,转而使用更加轻量的开发环境搭建方式。

个体视角

P2P 网络通常包含多个节点,每个节点都需要运行以太坊客户端,而任何人都可以运行以太坊节点;

每个以太坊网络上的节点都包含了以太坊区块链数据库的整体副本;

每个以太坊网络节点都可以接收 RPC 交易请求并将请求广播给网络中的其他节点;

每个以太坊节点都会尝试进行交易的校验、打包(常说的挖矿);

即区块生产的任务,生产出的区块也会被广播给其他网络节点;

注意:
以太坊不同网络之间的账户可以完全相同;
就好比我们可以把线上数据库的数据全部同步到我们的测试环境数据库一样;
但是不同测试网络之间、测试网络和主网之间、本地开发网络和主网之间是完全隔离的;
即无法进行转账和智能合约功能调用。



与以太坊网络交互?

交互的具体定义是:向以太坊网络发送转账请求,或调用智能合约函数(调用api,获得res);

举个栗子:

微信小程序生态下,开发者、普通用户、平台之间的交互方式可简化如下:


微信小程序生态

以太坊生态中,开发者、普通用户、平台之间的交互方式可简化为:


以太坊生态

知识点:

  • web3.js,是前端工程师通过代码和以太坊网络交互的桥梁,而实际的 DApp 测试离不开使用钱包(Metamask)

实际上,不论是开发者,还是普通用户,与以太坊网络的交互都会落地到具体的网络节点上面;
因为只有节点可以接收 RPC 请求并将其广播给其他节点;
任何代码或者应用如果需要同以太坊网络交互,都需要通过某个具体的节点。



智能合约

  • 智能合约指以太坊网络上被代码控制的一个账户
    不同于我们使用各种钱包软件 创建的账户(由创建账户的用户来控制),智能合约对应的账户是由代码控制的;
    其他账户(包括智能合约账户、普通用户账户)可以通过交易(Transaction)的方式与智能合约账户交互;
    部账户
    • 内部账户 :智能合约账户
    • 外部账户:普通用户账户
两种账户的关系

我们常常用 智能合约 指代 智能合约源代码 或部署在 以太坊网络上的智能合约账户
但本质上两者是有明显区别的:

  • 如果把智能合约源代码比作设计图,那么智能合约账户就是根据蓝图造出来的车或者建筑。
  • 相同的源代码可以部署到不同的网络上,或者在相同的网络上部署很多次,都会产生不同的智能合约地址。


    关系图

部署所产生的智能合约账户只存在于其被部署到的那个网络;
反过来亦然,普通账户则在不同网络间是通用的;

每个智能合约账户会有下面几个关键属性:

  • balance,即该智能合约账户所控制的资产余额,比如某个抽奖智能合约中奖池的资金;
  • storage,智能合约的相关数据会存储在这里,可粗暴的将其看做是 DApp 的数据库,比如抽奖智能合约里面存储参与人的地址;
  • code,智能合约的字节码,由智能合约源代码编译而来,存储在区块链上方便任何节点接受智能合约的函数调用;

Cls1 end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354