主页 > 苹果商城可以直接下载imtoken吗 > 最近火热的区块链

最近火热的区块链

这里写图片描述

区块链之所以突然火起来,是因为比特币在2017年底突然暴涨,大家可以看到图中从11月到12月的暴涨,加深了人们对比特币的认识,也是因为投机者多了,最近开始下跌。

您可以单击此处查看它的价值。

比特币实际上是一种在互联网上流通的虚拟货币。 区块链是比特币的底层核心技术,人们对比特币关注度的提升也间接引发了人们探索区块链技术的兴趣。

接下来,我们就从比特币的来源说起。

谈最原始的交易

Q:如果两个陌生人要进行远距离交易,如何保证信任?

答:通过第三方——比如某宝。

这里写图片描述

买方将款项转给第三方,卖方发货,第三方向卖方付款。

这种需要第三方参与的交易模式被称为“中心化交易模式”。

目前大部分交易都是中心化的模式,比如银行转账、证券入股等,证明这种模式确实是现实世界中最好的解决方案,但也有不足之处。

中心化交易模式的缺点

1、一定要有靠谱的中心——万一中心不靠谱,卷款跑路了怎么办?

2、中心需要获取不必要的个人信息来建立信任——中心也需要与互不认识的甲乙双方建立信任。 这个信任就是你的个人信息(身份证、手机号码等)。 (而且这个过程也是一种资源浪费)

3. 被中心限制——当您转账给他人时,账户可能会因为代销机构放假而延迟几天,账户可能因为代销机构要盈利而被收取高额手续费,或者可能是因为计费机构作弊或系统崩溃造成的损失。

那么问题来了——

是否可以在不需要第三方的情况下完成交易?

有人提出了新的解决方案。 中本聪于2008年11月1日发表论文《比特币白皮书:一种点对点电子现金系统》,提出完全通过点对点技术实现的电子现金系统。 ,这使得在线支付可以由一方直接发起并支付给另一方,而无需通过任何金融机构。

这时候,去中心化借贷模式出现了。 举个栗子——

这里写图片描述

A向B借了100元。 这时,A在人群中喊道:“我是A,我借给B 100元!”,B也在人群中喊道:“我是B,A借给我100元!” 这时路人A、B、C、D都听到了这个消息,于是大家在心里默记“A借给B 100元钱”。

这时候,一个去中心化的系统就建立起来了。 该系统不需要银行,也不需要贷款协议或收据。 严格来说,甚至不需要人与人之间建立长期的信任关系(比如B突然改口说“我不欠A钱!”这时候,人就会站出来说, “不是,我的小本子上记着你一天借了A100元!”)。

在上述模型中,所谓的“100 美元”已经不重要了。 也就是说,在这个模型里什么都可以交换,甚至你可以凭空发明一些东西,只要大家承认,你就可以让你发明的东西流通。

这里写图片描述

比特币的算力都用来干什么了_比特币全网算力_比特币历史算力

比如我喊“我创造了10000个腾讯币!” 在人群中,我什至不需要知道腾讯币是什么,甚至不需要关心世界上是否真的有腾讯币。 我在小本子上写下了“A有10000腾讯币”,所以我真的有10000腾讯币。

从那以后,我可以声称我给了某人xxx个腾讯币,只要路人A、B、C、D收到并确认了信息,那么我就完成交易,即使里面没有腾讯币世界。

是的,这就是比特币的由来。

A、B、C、D是网络上其他节点的地址。

AB先生是两个节点的地址,任意两个节点之间的任何交易都会广播到所有节点。

A、B、C、D:我为什么要给你们记账? ? ?

你可能会问:“为什么你叫我一个字,我就给你记住?难道我不想丢脸吗?” 为了鼓励大家帮我宣传和记账,我决定给第一个听到我的话的人一些奖励,并记录在一个小本子上:你将凭空获得50个腾讯币,这是整个系统为你记账的辛苦工作 你录完这句话后,你应该马上告诉别人你已经录了,让别人放弃继续录这句话,并给出自己的备案号,让别人可以查一下,然后你把我的话和你的记录号一起喊出来,让下一个人保留记录。

当这个规则定下来的时候,这个系统中肯定会出现一群人,他们会开始竖起耳朵倾听周围的声音,为的是抢占第一个记账的权利。

这就是比特币的去中心化运行机制。 当全网任一节点发生交易时,其他节点将协助记账。

争夺第一记账并获得奖励的行为称为“挖矿”。 谁能说“我”有一万个腾讯币?

假设经过很长一段时间,我凭空创造出来的腾讯币在这个系统中流传开来,大家也开始认识腾讯币了。 但是这个系统里只有一万个腾讯币,于是有人打了个主意,在人群中喊道:“我有一万个腾讯币!” 我应该怎么办? 是不是直接在笔记本上记下他有一万腾讯币,让大家去锻造?

这里写图片描述

为了防止这种现象的发生,我决定在我创建腾讯币的时候标上“我创建了1W腾讯币”这句话,比如001),这样以后每次交易的时候,当我喊“我给了1个腾讯币”的时候coin to XX!”,我会多加一句:“这1个腾讯币的来源是记录为001的记录,我这句话标记为002!”。 再抽象一点,某位喊话内容的格式变成:“这句话的编号是xxx,上一句的编号是yyy,我给了XX 1个腾讯币!”,这样就解决了伪造的问题。

这里写图片描述

事实上,上述模型成为中本聪第一版比特币区块链协议的简化版。

比特币的诞生

2009 年 1 月 3 日,中本聪创建了第一个区块,创世区块比特币的算力都用来干什么了,其中包含 50 个比特币。 并附上一句话:

“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,这句话是当天时报头版文章的标题,印证了比特币的诞生时间。

这里写图片描述

A、B、C、D:谁是第一个拿书的?

那你又要问了,如果大家都说自己先记账怎么办?

于是一种新的规则-共识算法诞生了。

列出两种方法:

工作量证明:我规定只有一套五年模拟三年高考试卷第一名才有记账权。

工作量证明机制是一种难以计算答案但易于检查答案的机制。

比特币全网算力_比特币的算力都用来干什么了_比特币历史算力

比特币采用工作量证明,让每一个想要挖矿的计算机节点先做一道高难度的计算题,最先计算出来的节点就有记账权。 计算的难度是这样的,大约需要 10 分钟才能弄清楚。 这就是为什么据说每 10 分钟开采一个区块。

但是工作量证明的问题是它带来了不必要的消耗,因为只有一个人是第一位的,其他人所做的工作量是白费的。

所以有人想出了股权证明:

权益证明:本人规定持有腾讯币最多且持有天数最多的人,有权记账。

这还有一个问题,那就是强者愈强。

工作证明

矿工需要找到一个随机值,使得:SHA256(随机值+H(区块头))<某个目标值

这里写图片描述

每生成2016个区块,系统会动态调整目标值(难度),使得生成一个区块需要十分钟左右。

难度值公式可以想象为:

新难度值=旧难度值*(20160分钟/过去2016个区块花费的时间)

目标值的计算公式可以想象为:

1.目标值=最大目标值/难度值

2. 其中最大目标值是一个常数值:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

目标值可以想象为:

0x0000000000000000000000000000000000000000000000017268d8a21a

难度调整在每个完整节点内独立且自动发生。 每2016个区块,所有节点都会根据统一的公式自动调整难度。 这个公式是根据最近2016个区块花费的时间和预期时间(预期时间为20160分钟或两周,以每10分钟一个区块为准。根据实际时长与预期时长的比值, 做相应的调整(或做难或易),也就是说出块速度快于10分钟,难度就会增加,慢于10分钟,难度就会降低。

我们也可以简单理解为比特币工作量证明的过程就是不断改变区块头(即尝试不同的nouce值)作为输入进行SHA256哈希运算,找到特定格式的哈希值(即某个特定的哈希值)的过程前导 0 的数量是必需的)。 需要的前导 0 越多,难度就越大。

区块头结构

这里写图片描述

块头包含版本号、父块的哈希值、默克​​尔根、时间戳、难度值和随机数(number once,a number once,密码学中使用的术语)...

等等,默克尔根是什么? ?

Merkle(默克尔树或默克尔根)

这里写图片描述

比特币历史算力_比特币的算力都用来干什么了_比特币全网算力

Merkle 是一棵二叉树。 每个区块中有几笔交易。 每笔交易一次Hash0,然后将每两笔交易的Hash0合并成Hash1,再将合并后的两笔Hash1合并成Hash2...用上图举例,交易1和2各自有哈希值再合并哈希成为Hash12,然后将哈希与Hash34合并成为Hash1234,然后将哈希与Hash5678合并成为Hash1-8 ...

特征:

快速比较大量数据:当两棵默克尔树的根相同时,意味着所代表的数据一定是相同的。

快速定位修改:比如上面的例子,修改了N4中的数据,会影响到N34、N1234和Root。 因此,沿着Root —> N1234 —> N34,可以快速定位到变化的D1;

零知识证明:比如如何证明某条数据(H1-8)包含给定内容交易6,很简单,构造一棵Merkle树,发布H1-8、H5678、H56、H6,以及拥有者transaction 6 can easily 很容易检测到事务 6 存在,但没有别的。

计算能力

我们一开始就说比特币这么值钱,谁都可以挖,那我们现在是不是可以回家挖了?

理论上是的,实际上还要考虑计算机的计算能力(computing power)。 我们也说过挖矿很难。。。淘宝搜索矿机,你看到的会是这样的。

1T算力 = 1秒钟内进行1012次数的运算

但是确实有人除了挖矿什么都不做,还有一些公司雇人来维护这些矿机的正常运行。 这些矿机的功耗可能是几十万。

分叉问题

“中国上海市浦东新区张衡路”节点和“美国纽约曼哈顿第五大道”节点齐声喊道:“挖出区块!里面所有交易有效!”属于我的!”。 其他节点也几乎同时参与了对这两个区块的验证,发现都没有问题。

这里写图片描述

这严重违背了区块链世界的第一条也是最基本的原则——所有节点共同维护同一份数据。 因此,为了解决这个问题,区块链世界引入了新的规则——

区块最多的支链将被识别,较短的支链将被直接丢弃。

我们都知道挖矿过程中工作量巨大,而在计算机的硅基世界里,所谓的“同时”概念是不可能存在的。 即使有纳秒的差异,总会有一个序列。 所以理论上,“分叉”的僵局很快就会在下一个区块被挖出(并且区块被验证)时被打破。 让整个分叉的区块链世界快速稳定下来。

这里写图片描述

另外,同时较短分支上的区块会被立即丢弃,里面的交易也会相应释放,重新标记为“未确认”。

双花问题和 51% 攻击

从前,有一个非常有钱而且非常聪明的人——X-Man,他说:“

我是X-Man,我有钱,我有一个计算能力强大的电脑群。

我先从某个区块创建了一个包含多个区块的独立链,然后记录了我给自己转了1000个比特币。

这个独立的区块链不会广播到整个网络。 然后我找到张三,给了他1000个比特币,让他买了1000万,

当交易确认三次(挖出三个区块)时,张三给了我1000万。

这时候我就广播我的独立区块链,我的链就成为最长的链。 我和张三之间的交易将作废,但他的一千万我会得到。 “

比特币历史算力_比特币全网算力_比特币的算力都用来干什么了

这里写图片描述

这就是双花问题——即利用系统漏洞使货币双花。

X-Man的想法确实可行,但是他的电脑组要和全世界的电脑对抗。 除非X-Man拥有全网51%的算力,否则这个想法无法实现。 这是51%的攻击,拥有51%的算力已经是不可能的了。

但即使 X-Man 真的拥有全网 51% 的算力,在现实世界中,将这 51% 的算力用于其他事情(比如挖矿或其他算力服务)也比攻击更划算比特币系统。

说了这么多,区块链到底是什么?

区块链是一种不可篡改、共享、可追溯的分布式账本数据库技术

防篡改:单点修改必须得到其他节点的一致同意才能成功

可溯源:区块链账本,只允许写入,不允许删除

共享:账本对参与节点透明

这里写图片描述

为什么叫“区块链”?

在比特币网络中,每十分钟创建一个新区块,最后十分钟在网络中产生的交易被打包在区块中。 某个矿工通过Hash运算获得该区块的记录权比特币的算力都用来干什么了,并同步到其他矿工节点。

每个区块附加到前一个区块,形成一条长链,因此得名“区块链”。

这里写图片描述

区块链技术分类

公链: 1.无官方机构和管理机构维护 2.所有节点权限相同 3.自由加入和退出

典型应用:比特币、以太坊

(公链有其价值,但过于极端,所以产生了稍微弱一点的中心化联盟链。)

联盟链: 1. 由多个组织共同发起维护 2. 节点权限通常是混合的 3. 通过授权加入和退出

典型应用:腾讯区块链(trustSQL)

区块链应用价值实例——公益溯源

公益溯源平台众多,鹅厂不止于此:

这里写图片描述

存在的问题:

不同步

比特币历史算力_比特币全网算力_比特币的算力都用来干什么了

重复申报多次提款

解决方案:利用区块链让大家共享一条链,信息同步快,一方报案,多方广播。

这里写图片描述

区块链游戏价值的一个例子——以太坊绿猫

这里写图片描述

最近币圈有一款猫游戏在网络上也很火(之所以没有感觉是因为它是土豪游戏,玩不起)。

如何开始玩: 玩家使用ETH作为“货币”买卖猫,首先去市场买一只猫。 先挑便宜的,因为买猫需要手续费(为了防止以太坊区块链拥堵)。

这里写图片描述

买两只后:可以让它们生小猫。 每只猫都有256个属性,控制着毛色、花纹、胡须、牙齿等,可以理解为256个不同的基因。 两只猫交配时,基因有一定概率遗传。 基因也会发生变异,如果遇到基因变异,就会生出长相奇特的小猫。

这里写图片描述

由于基因突变,这些小猫通常要价很高。

每只小猫出生后,父母都会进入冷却模式,必须“恢复”一段时间才能继续繁育小猫。 每只猫的恢复时间有长有短,出生越多恢复时间越长。 恢复时间的长短也是影响猫价的一个因素。

如果你只有一只猫,想和别人的猫一起繁殖,也可以去市场看看。 玩家 1 可以标记“繁殖价格”。 玩家2如果要繁育,就需要把这个价格付给玩家1,生出来的猫就属于玩家2。

交配成功后,还要经过一段时间(数小时不等)才能产仔。 小猫出生后,您可以在我的小猫页面看到刚出生的小猫。

每只猫都有一个Gen标志,Gen 0表示这是第一代猫,Gen 1是第一代,Gen 2是第二代,以此类推。 每隔15分钟左右,会生成一只Gen 0创世猫,通过合约自动拍卖,拍卖所得进入开发者钱包。

区块链猫和云猫有什么区别?

最大的不同在于,游戏规则确立后,你的猫永远是你的猫,开发者没有权利也没有能力剥夺任何人的猫。 而云路猫是一个中心化的游戏。 所有的猫都在开发商的数据库中注册。 开发者可以随时篡改和剥夺任何人的猫。 开发者也可以为自己打造高价猫。 想一想,网络游戏中的物品无非是开发者自己创造并出售的数字资产,没办法保证开发者不作弊。

参考:

“什么是区块链,如何通俗易懂地介绍区块链?” 》——知乎

区块链(Blockchain)和比特币(Bitcoin)有什么关系? 》——知乎

“比特币”——维基百科

《分布式共识与共识算法》

《揭秘比特币与区块链(一):什么是区块链? “——InfoQ

《深度解读区块链猫》——廖雪峰

《Proof of Work | Proof Of Work》——《比特币开发者指南》中文版