区块链基础学习笔记

什么是区块链?

区块链最早是用在比特币项目中的,用来记录比特币交易账目历史的一个数据结构。但是当时并没有明确和单独提出区块链这个概念。后来发现区块链可以作为一项单独的分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的,不可篡改的数据记录。

关键字:分布式,数据结构

区块链是怎么工作的呢?

从名字上来说,他有这两个概念:区块,链

什么是区块呢?它其实就是一块计算机存储空间,用来记录一段时间内发生的所有交易和结果

什么是链?就是把所有区块按时间顺序串联起来的东西

那区块+链串起来就是整个账本状态变化的日志记录(这里用账本这个词,是因为前面说了最初区块链就是用来记录比特币交易账目的,所以后面都称它账本)

看的时候可能会有的问题:

分布式系统是意味着每个节点都要存储完整的链吗?那数据太大了怎么办?

首先:不需要 

其次:整个区块链网络中一定有节点存储完整的区块链信息

然后就涉及到哪些节点会存储完整的信息,哪些又不用,以及没有存储完整信息的节点如何获取完整的信息,以及凭什么相信获取到的信息,所以先回到区块链是怎么工作的这上面来。

刚刚说了区块和链,其实还有一个很重要的概念,就是交易。

什么是交易?就是一次对账本(数据库)的操作,对账本的操作只允许添加,不允许删除,导致账本的状态发生改变,比如比特币添加一条转账记录。

为了能够具体理解交易这个操作,就以实际的交易为例,比如比特币。


首先它是一个区块构成的链表嘛,并且是按时间顺序排列好的链表,当发生新的交易,交易数据会放到新的区块里,这就意味着所有的区块链节点都可以生成新的合法区块,但通常并不是由发起交易的节点来生成新的区块,因为一个区块里面其实是包含一段时间内的所有交易信息,并不是一条交易就是一个区块,所以又以比特币为例说明这个过程:

首先比特币客户端发起一项交易,节点会把这个交易广播到比特币网络中等待确认,网络中的某些节点(矿机)会将一些收到的等待确认的交易记录打包在一起,组成一个候选区块,这个区块需要包含前一个区块的哈希值(指纹),然后需要去找到一个随机串放到区块里面,使得候选的区块的哈希结果满足一定的条件(比如小于某个值)。

值得一提的就是:这个随机串是需要一定的时间进行计算的,而通常会有若干节点都会打包新的交易信息,这就到了比拼算力的时候了,谁先计算出满足条件的随机串,谁的区块在格式上就被认为是合法的了(就比如挖矿就是进行算力的比拼),就可以在网络中将他广播出去,其他节点接收到候选区块,发现确实符合约定的条件,就承认这是一个合法的新区块,并添加到自己维护的区块链上,当大部分节点都将区块添加到自己维护的区块链结构上时,该区块就被网络接受,区块中包含的交易信息也就得到了确认。

这一块看的时候可能会产生的问题:

这个大部分节点都添加这个区块时,这个大部分节点如何判定?如何保证未来不被篡改?

如何确定这个交易信息是真实的?(这个问题是涉及到区块链的安全性,也是一个很大的话题,可以单独写一篇)

对于第一个问题,先说一下区块链中通常有哪些节点类型。

第一类是广播节点,它们只是发出事务(比如交易请求),并接收来自第三方的交易信息,并不保存完整的区块链信息,称之为轻钱包,比如大家手机上安装的钱包。

第二类是完整节点,它除了广播交易信息,还会下载区块链的一个副本。

第三类是挖掘节点,除了发布和传播交易,他们会帮助创建新的区块。

然后就是在这个分布式的区块网络中如何达成对区块信息的同步。

这个大多数的判定来源可以这么理解,最先算出随机串的计算机最先发出广播,当网络中的其他节点接收到后并确认了它的合法性后就会将它添加到自己维护的区块链上来,那么后发出的广播此时已经失去了合法性,在理想的状况下,自然是所有节点都能够同步为最新的区块链信息。

这里的理想状况是指,每个节点都能保证理想的性能(瞬间响应,高吞吐),保证没有故障地运行,那么这种情况下,达成共识就很简单,像上面写的,通过广播,进行投票和应答就可以了(投票这个涉及到共识算法,比较复杂,会单独写一篇笔记,而且作为分布式的系统,一致性是一个无论如何都绕不开的话题)

所有节点默认都只承认所看到的最长链结构。

所以只要网络中不存在超过一半的节点提前勾结起来采取恶意行动,则最长的链将很大概率上成为最终合法的链。

区块链的分类

公有链:是任何人都可以使用和维护的区块链,比如比特币区块链,它的信息是完全公开的。

私有链:私有链是有几种管理者进行管理限制的,只有少数内部人员可以使用,信息不对外公开。

联盟链:是介于上面两者之间的,由若干个组织一起合作维护的区块链,相关信息会得到保护。

每种类型都有不同的应用场景,公有链更容易吸引市场和媒体,但私有链和联盟链更容易产生商业价值,总之都不限于数字货币,现在有广泛应用的有像记录产权,众筹等等。然后区块链的技术也在不断地演化,也有一些未来可能的应用场景,比如:金融,征信管理,资源共享,贸易管理(区块链可以帮助自动化国际贸易和物流供应链领域里的比较繁琐的手续和流程),物联网(租赁,物流等特定场景都很适合结合区块链技术)等等。

总结起来就是区块链最大的优势在于去中心化,因此我们需要区块链的地方大约就是我们想要去中心化的地方,最被经常提到的支付,也是他最初诞生数字货币的原因,最近国家也发行了数字货币,也算是肯定了它的价值。还有一点是它的匿名性,任何中心化的系统都没法提供绝对的隐私和匿名,所有数据汇集在中心,受人控制,不透明,但区块链网络可以完全公开,信息完全透明(涉及到交易还是会有地址,但不会与人对应,所有的数据都摆在那里),所以区块链是最理想的实现隐私或者隐藏的技术(在疯狂实名制的今天,黑市交易,洗钱等急切需要这些技术,感觉不太会受国家支持)

想到哪写到哪了,基本概念大概这些,后面会写区块链涉及的安全问题和共识算法。

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

推荐阅读更多精彩内容