主页 > imtoken转账怎么取消 > 了解火热的区块链和比特币

了解火热的区块链和比特币

imtoken转账怎么取消 2023-02-08 07:38:18

说到区块链,就不得不提比特币。 首先简单介绍一下比特币。 官网是这样说的:

比特币运行在P2P技术的基础上,不需要中间管理机构或银行; 交易管理和比特币发行由比特币网络统一进行。 比特币是开源的; 它的设计是公开的,没有人拥有或控制比特币网络,每个人都可以参与。 由于其独特的属性,比特币可以实现以前任何支付系统都无法实现的激动人心的用途。

比特币的优势:

当然,你首先要有一个比特币钱包。 比特币目前被认为是一种高风险资产(价格变动),简单的玩一下还是不错的。

下面正式开始!

背景

在数字货币的探索实践中,比特币是目前最好的一种。 说到比特币的起源,就不得不说到一个略显神秘的团体:CypherPunk。

这个团体是密码学天才的松散联盟。 在比特币的创新中,大量借鉴了密码朋克成员的贡献。

密码朋克本身就是最早的数字货币传播者。 在它的邮件群里,关于数字货币的讨论很常见,一些想法已经付诸实践。 在比特币之前,有很多失败的尝试。

比特币的诞生

2008年9月,以雷曼兄弟倒闭为始,金融危机在美国爆发并波及全球。 为应对危机,各国政府纷纷采取量化宽松等措施,对因自身原因陷入危机的大型金融机构进行救助。 这些举措引起了广泛质疑,一度引发“占领华尔街”运动。

纽约时间 2008 年 10 月 31 日下午 2 点 10 分,一个普通密码学邮件列表的数百名成员收到了一封自称是中本聪的人发来的电子邮件,“我一直在研究一种新的电子现金系统,它是完全点对点,没有任何可信的第三方,”然后将他们引导到一份描述新货币体系的九页白皮书。 同年 11 月 16 日,中本聪发布了第一版比特币代码。

2009 年 1 月 3 日,中本聪在位于芬兰赫尔辛基的一台小型服务器上挖出了比特币的第一个区块——Genesis Block,并获得了第一个挖矿奖励——50 个比特币。

如今,比特币已经成为数字货币领域的佼佼者,市值达数十亿美元,但中本聪却在2010年选择了退休。中本聪是谁,是每一个开始了解比特币的人都感兴趣的话题。 从“***”到“新闻周刊”,媒体找到了几位自称中本聪,或被认为是中本聪的人。 但无一例外,这些发现都因缺乏可信度而遭到读者甚至中本聪本人的拒绝。 谁是中本聪?也许我们永远不会知道

比特币和区块链

比特币已经经历了 7 年多的争议。 在历史上很少有这样的二分法对待某件事,支持者认为它会改变世界,而反对者认为它毫无价值。 顾名思义,很容易得出后一种结论。

事实上,在比特币体系中,最重要的不是“币”的概念,而是没有中央存储机构的“账本”概念。 “硬币”只是这个分类账上使用的记账单位。

可以说,比特币本质上是一种基于互联网的去中心化账本,而区块链就是这种账本的名称。 这里我们可以做一个直观的类比。 如果区块链是一个物理账本,那么一个区块就相当于账本中的一页,区块中携带的信息就是记录在这一页上的交易内容。

比特币哈希值怎么查_比特币难度值计算公式_比特币挖矿难度变化

区块链是比特币的核心和基础设施,是一种去中心化的账本系统。

过去,甚至现在的大部分企业记账都是中心化的,但是中心化记账有一些明显的弱点:一旦这个中心出现问题,比如被篡改或者损坏,整个系统就会面临危机甚至崩溃。

我们能否建立一个不依赖任何第三方的去中心化但可信的记账系统?

在数字时代,负责记账的自然是电脑。 在这里,我们将每台连接到会计系统的计算机称为“节点”。 去中心化就是没有中心,也就是说每一个参与系统的节点都是中心。 从设计账本系统的角度来看,每个节点都需要保存一个完整的账本。 但由于一致性要求,每个节点不能同时记账。 因为节点所处的环境不同,接收到的信息自然也不同。 如果账目同时记账,难免会造成账目不一致,造成混乱。

由于节点不能同时记账,我们必须选择哪个节点有记账权。 但是,如果指定一些特殊节点具有记账权,势必会违背我们去中心化的初衷。

这似乎是一个不可能的问题。

竞争性记账及激励机制

中本聪设计的比特币区块链通过竞争记账解决了去中心化记账系统的一致性问题(同时记账问题)。

前面提到,节点可以理解为连接到系统中的一台计算机,所谓竞争记账,就是通过各个节点的计算能力,即“算力”来竞争记账权的机制。 在比特币系统中,大约每十分钟进行一轮算力竞赛(算力将决定一轮竞赛获胜的概率,算力大的节点赢得算力竞赛的概率更高),而比赛的获胜者是获得一次记账的权力,这样在一定时间内,只有比赛的获胜者才能记账并将新的账本信息同步到其他节点。

那么,在去中心化的系统中,谁有权利决定竞争的结果呢? 比特币系统是通过一种称为“工作证明”(POW)的机制来实现的。 让我给你一个简单的例子。 比如你要生产一些玩具,我早上给你一些零件。 晚上回来,会看到桌上放着自己需要的玩具。 虽然我没有看着你从早到晚做玩具,但我也想确定你真的付出了这么多。 这就是工作量证明的简单理解——通过一个特定的结果(每个人都可以验证),可以确认(竞争的)参与者完成了相应的工作量。

计算能力的竞争需要付出成本。 没有激励,节点就没有竞争的动力。 在中本聪的设计中,每轮比赛获胜并完成记账的节点,都会从系统中获得一定数量的比特币作为奖励。 而这个奖励过程也是比特币的发行过程。 这个设计相当巧妙——将竞争激励机制与货币发行完美结合,在引入竞争的同时,解决了去中心化货币体系中的发行问题。

在这个系统中,每个节点只需要根据自己的利益行事。 出于“私心”目的的竞争,最终造就了庞大的算力基础,为系统的安全保驾护航。 在如此精巧的安排下,比特币获得了越来越多的信任和更高的价值,进而吸引了更多的资源投入其中,成为一个正向的循环经济体系。

正是因为比特币通过区块链机制创造了这样一个正向的循环经济体系,它才会在没有强大的中心化组织推动的情况下自然而然地发展壮大。

读到这里,我们会明显发现,虽然区块链脱胎于比特币,但无论是系统还是技术,其应用领域和发展潜力都将远远超出货币。

簿记奖励包括一定数量的比特币和区块中包含的所有交易的费用。 系统发放的记账奖励每四年减半一次。 最开始是50币/块,现在是25币/块,以此类推,直到系统总币数达到上限2100万。

麦肯锡的一份报告甚至将区块链定位为“继蒸汽机、电力、信息和互联网技术之后,最有可能引发第五轮颠覆性革命的核心技术”。

深入研究工作量证明 (POW)

Proof of Work,字面理解就是用来确认你做了一定数量的工作。 监控工作的整个过程通常是极其低效的,而通过证明工作结果来证明相应的工作量已经完成是一种非常高效的方式。 比如现实生活中的毕业证、驾照等,也是通过检查结果(通过相关考试)获得的证明。

比特币哈希值怎么查_比特币挖矿难度变化_比特币难度值计算公式

工作量证明系统(或协议、函数)是一种针对拒绝服务攻击和其他服务滥用的经济对策。 它需要发起者进行一定量的计算,这意味着计算机需要消耗一定的时间。 这个概念最早是由 Cynthia Dwork 和 Moni Naor 在 1993 年的一篇学术论文中提出的。工作量证明(Proof of Work,简称 POW)一词实际上是在 Markus Jakobsson 和 Ari Juels 1999 年的文章中提出的。

Hashcash 是 Adam Back 于 1997 年发明的一种工作量证明机制,用于抵抗邮件拒绝服务攻击和垃圾邮件网关滥用。 在比特币之前,hashcash被用于垃圾邮件过滤,也被微软用于hotmail/exchange/outlook等产品中(微软使用了一种不兼容hashcash的格式,并将其命名为e-postmark)。

Hal Finney 还以可重用工作量证明 (RPOW) 的形式在前比特币加密货币实验中使用了 Hashcash。 另外,比特币的前身戴维的B-money和Nick Szabo的Bit-Gold都是在hash cash的框架下挖矿。

关于哈希现金,我会在有机会的时候展开。 在这里提一下。 知道它是一种工作量证明机制就足够了。

哈希函数

散列函数(Hash Function),又称散列函数,给定一个输入x,它会计算出对应的输出H(x)。 哈希函数的主要特征是:

输入 x 可以是任意长度的字符串。 输出结果是H(x)的长度是固定的。 计算H(x)的过程是高效的(对于长度为n的字符串x,计算H(x)的时间复杂度应该是O(n))

对于比特币等“加密”系统中使用的哈希函数,它需要具有以下附加属性:

无碰撞,即不会有输入x≠y,但H(x)=H(y)

事实上,这个特性在理论上是不成立的。 例如,比特币使用的 SHA256 算法将有 2^256 个输出。 如果我们做2^256 + 1个输入,必然会发生碰撞;

即使从概率的角度来看,在 2^130 次输入后有 99% 的可能性会发生碰撞。

但是我们可以算一下,假设一台计算机以每秒 10,000 次的速度进行哈希运算,则需要 10^27 年才能完成 2^128 次哈希运算!

甚至可以说,即使人类制造的所有计算机从宇宙诞生到今天一直在运行,发现碰撞的概率也是极小的(当然,直到量子计算机出现,还是在初始阶段,下一步是量子加密。,一般用户不需要考虑)。

隐蔽性,即对于给定的输出结果 H(x),在计算上不可能反转输入 x。

没有比穷举更好的方法来使哈希结果 H(x) 落在特定范围内。

以上特性是比特币工作量证明系统正常运行的基石。

工作基础证明

工作量证明系统的主要特点是客户端需要做一些困难的工作才能得到一个结果,而验证者可以很容易地通过结果检查客户端是否做了相应的工作。

比特币挖矿难度变化_比特币哈希值怎么查_比特币难度值计算公式

该方案的一个核心特征是不对称性:工作对请求者来说是适度的,对验证者来说很容易验证。 它不同于验证码,它被设计成易于人类破解而计算机不易破解。

例如比特币难度值计算公式,给定一个基本的字符串“Hello, world!”,我们给出的工作量要求是可以在字符串后面加上一个叫做nonce的整数值,对变化后的(添加nonce)字符串进行SHA256哈希运算。 如果得到的哈希结果(以十六进制表示)以“0000”开头,则验证通过。

为了实现这个工作量证明的目标。 我们需要不断增加nonce值,并对得到的新字符串进行SHA256哈希运算。 根据这个规则,我们需要经过 4251 次计算才能找到前 4 位恰好为 0 的哈希值。

不要问我为什么我知道必须有一个以“0000”开头的散列。 你可以粗略估计你需要尝试多少次才能得到答案(根据你的需要自动调整难度); 数学期望的计算次数就是我们需要的“工作量”,重复多次的工作量证明将是一个统计上一致的学习正则概率事件。

比特币系统中的工作量证明机制与上面的例子类似,但比它复杂一点。

比特币的工作量证明

比特币网络中的任何一个节点(连接到比特币网络的计算机),如果要生成新的区块并写入区块链,就必须解决比特币网络的工作量证明难题。

本题的三个关键要素是工作量证明函数、区块和难度值。 工作量证明函数是这道题的计算方式,区块决定了这道题的输入数据,难度值决定了这道题需要的计算量。

工作证明功能

就像我们在上一节的例子中使用的哈希函数一样,比特币系统中使用的工作量证明信正是 SHA256。

SHA 是 Secure Hash Algorithm 的缩写,它是密码哈希函数家族。

这套函数由美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布,主要适用于数字签名标准。

SHA256 是该函数族之一,它是一种哈希算法,输出值为 256 位。 到目前为止,还没有针对SHA256算法的有效攻击。

堵塞

比特币区块由区块头和区块中包含的交易列表组成。 区块头大小为80字节,由4字节的版本号、32字节的上一个区块哈希值、32字节的Merkle Root Hash、4字节的时间扩展(当前时间)、4 bytes 以字节为单位的当前难度值和以 4 字节为单位的随机数。

比特币哈希值怎么查_比特币难度值计算公式_比特币挖矿难度变化

区块中包含的交易列表附加在区块头之后。 第一个交易是 coinbase 交易。 它包括一个 coinbase 交易,受益人是“旷工”。 当该区块成功加入区块链后,将记入相应的奖励。

一个固定长度为 80 字节的区块头是比特币工作量证明的输入字符串。因此,为了让区块头能够反映区块中包含的所有交易,在构建区块的过程中,需要通过Merkle Tree算法为要包含在区块中的交易列表生成Merkle Root Hash,并将此作为交易列表的摘要存储在区块头中

比特币哈希值怎么查_比特币难度值计算公式_比特币挖矿难度变化

难度值

难度值(difficulty)是矿工挖矿时的一个重要参考指标。 它决定了矿工需要经过多少次哈希运算才能生成一个合法的区块。 大约每 10 分钟生成一个比特币块。 如果要在不同的网络算力条件下都保持这个速率产生新区块,就必须根据网络算力的变化来调整难度值。

简单地说,难度值设置为每 10 分钟出一个新区块的速率,与算力无关。

难度调整在每个完整节点内独立且自动发生。 每2016个区块,所有节点都会根据统一的公式自动调整难度。 这个公式是根据最近2016个区块花费的时间和预期时间(预期时间是20160分钟或两周,是根据每10分钟一个区块计算的实际持续时间与预期持续时间的比例,进行相应的调整(或使其变得困难或容易)。

换句话说,如果出块速度快于10分钟,难度就会增加,如果慢于10分钟,难度就会降低。

这个公式可以总结如下:

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

工作证明需要有一个目标值。 比特币工作量证明的目标值(Target)计算公式如下:

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

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

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

目标值的大小与难度值成反比。 比特币工作量证明的实现是矿工计算的区块哈希值必须小于目标值。

比特币挖矿难度变化_比特币难度值计算公式_比特币哈希值怎么查

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

工作流程证明

我们可以大致总结比特币矿工为解决这个工作量证明难题所采取的步骤如下:

生成一个Coinbase交易,与所有其他准备打包进区块的交易组成交易列表,通过Merkle Tree算法生成Merkle Root Hash,将Merkle Root Hash和其他相关字段组装成区块头,以及结合区块头(Block Header)的80字节数据作为工作量证明的输入,不断改变区块头中的随机数,即nonce的值,对每一个改变的区块头进行两次SHA256运算(即SHA256(SHA256(Block_Header))),并将转换后的值与当前网络的目标值进行比较。 如果小于目标值,则问题成功解决,工作量证明完成。

比特币的工作量证明就是我们俗称的“挖矿”的主要工作。

比特币哈希值怎么查_比特币难度值计算公式_比特币挖矿难度变化

附件一:通俗易懂的解释比特币交易流程

一天,小明向好友小红介绍了比特币,并帮她注册了一个比特币钱包。 小明说我转几元比特币给你试试,转了0.00071个比特币到小红的钱包地址。 当天比特币价格为7324元,相当于小明转5.20元给小红。

小红当然不知道这个理工毒瘤转过来的0.00071个比特币代表什么。 然后,在楼下的老王便利店,她想起比特币钱包里还有几块钱,就想买一瓶可乐。 (为了方便理解,这里我们假设比特币在现实世界中已经像微信钱包一样方便支付了,事实上,现实世界中基本没有地方支持比特币支付,谁敢接受一种货币谁的价格整天涨涨跌跌?在实际商品交易中?且不支持以上)

一瓶可乐三块钱,约0.00041个比特币。 老王在他的终端上给出了付款二维码,小红用她的手机钱包扫描了它,并在她的钱包中创建了一笔比特币交易。

本次交易包括一个输入,即小明转给小红的0.00071; 有两个输出,一个是0.00041到老王的地址比特币难度值计算公式,一个是0.0003到小红自己的地址(相当于零钱)。 小红电子钱包将交易信息按照格式打包后,将交易事件广播到网络中。

比特币网络中第一个收到此信息的节点(不一定是老王,虽然他们是面对面的),会对照比特币交易信息的格式规范检查交易信息的合法性,如果满足则继续传播规范。 很快全世界的整个比特币网络都收到了这个交易信息,包括老王,而对于输出地址为老王的0.00041,只有老王才能用这笔钱作为下一笔交易的输入。

至此,小红已经向老王转了0.00041个比特币,并在网络中完成了转账。 老王看到了自己终端上的账号,把可乐递给了小红。 但实际上这笔交易还没有被确认,老王还不能花这笔钱,区块链也还没有出现。

附录二:挖矿、区块和区块链

在比特币网络中,有一些节点叫做矿工,他们从事的工作叫做挖矿。 他们负责对全球一段时间内新产生的比特币交易记录进行整理和打包,打包后的交易包称为“区块”。 矿工每打包一个新的区块,就发送给全网,每个节点在之前打包成功的一系列区块上叠加最新的“区块”。 这些区块从最开始的一个到最新的一个堆叠在一起,形成一条链,实际上就是区块链。 截至撰写本文时,比特币创建的第一个区块是第 453775 个。

那为什么这些人如此热衷于帮助将交易记录打包成区块呢? 因为有回报。 比特币就是靠这个不断发行新币。 谁成功地将新生成的交易打包成新的区块,谁就将获得新发行的比特币。 所以这个过程被比作挖矿。 比特币系统规定一共发行2100万枚。 初期每打包成一个区块奖励50个币,每产生210,000个区块奖励减半为25个币。 现在区块数量已经达到45万多个,每次奖励12.5个币,价值约8万元。

由历史区块形成的区块链在网络上的各个节点独立存储,数据统一。 实际上,它是全网公开备份的交易记录簿。 老王所在的区块形成后,确认他的钱归他所有。 并且随着其他新区块的慢慢加入,这个记录变得不可动摇。 这是“去中心化”的信任基础。

区块链是为比特币的运行而发明的,在此基础上还出现了莱特比、狗狗币等山寨币。 由于种种原因,非官方形成的数字货币成为全世界公认的法定货币还很遥远,但区块链技术正在逐渐普及。 解决“去中心化”的信任问题,确实可以颠覆原则上由中心化管理主导的社会的很多方面。 区块链也逐渐被应用到其他行业。

附件三:(伪)实际应用

区块链2.0可编程金融和3.0可编程金融在各个行业的应用是不一样的,因为2.0和3.0时代是数字货币和智能合约的结合。

智能合约是部署在区块链网络上的计算机程序,可以根据设定的条件和规则自动执行合约条款。 因为有了智能合约,区块链不再只是一个被动的数据库,它可以主动执行某些动作,改变数据本身。 正是出于这个原因,区块链被认为是一种颠覆性技术。

是不是觉得大开眼界? 但是等等,这还没有结束。 小客之前多次提到万物互联,就是指所有的东西,包括桌子、电脑、冰箱,都连接到网络上,拥有自己唯一的标识符,可以通过网络发出的合法命令来驱动。 . 如果这个网络是区块链网络……

嗯,相信对于一些读者来说,已经像是在看科幻小说了。 一些国家已经在研究和试验区块链来构建智能电网。 新技术的未来往往比我们预期的来得更早。 在人工智能取代很多人的工作之前,不要忽视区块链~

参考

三分钟读懂什么是区块链