主页 > 苹果版imtoken钱包官网 > 教你如何轻松学习区块链和比特币的基本技术原理

教你如何轻松学习区块链和比特币的基本技术原理

苹果版imtoken钱包官网 2023-12-26 05:08:24

一、比特币的背景历史

自 2009 年以来,自称 Satoshi Nakamoto(是的,日本人……)在一个秘密的密码学讨论组上发布了一份名为“比特币:一种点对点电子现金系统”的报告,比特币出现了,并且收到的越来越多注意。

比特币的价格从最初的几美分涨到了现在的几万美元。

挖矿从最开始的个人电脑到后来的矿机,再到后来的矿池,经历了几代人的发展。该政策得到了一些国家的支持,一些国家反对,一些国家对比特币的态度暧昧。

最有趣的是,2010 年 5 月 21 日,在第一笔比特币交易中,佛罗里达州程序员 Laszlo Hanyecz 用 10,000 BTC 购买了价值 10,000 BTC 的 25 美元披萨券。它最近价值数亿美元。这些都见证了比特币神奇的发展史。

区块链的前世今生

虽然比特币还没有得到各国政府的充分认可,也不是标准的金融组织,但比特币十多年来一直不变。挖矿活动从未间断,比特币交易随时随地进行,无疑是一款成功的金融产品,从技术上讲,比特币的每一个技术点。

例如:非对称密码学、P2P网络、共识机制、智能脚本等,都不是创新,但这些技术的结合是比特币的一大创新。

由于比特币的成功,比特币的核心技术区块链越来越受到关注,以至于区块链被认为是互联网金融行业的下一个风口,各行各业都在都在研究区块链,寻找区块链的使用场景,有一个不合适的例子。

但它非常生动。区块链技术就像一把锤子,在全世界寻找钉子。好不容易找到的那几颗钉子还是螺丝,只好用螺丝刀换了。用锤子敲也不是不行,就是有点费力。

上面的例子生动地说明了区块链技术的现状。比如有的公司使用区块链进行存储,有的公司使用区块链存储客户账户,还有的​​公司使用区块链存储电子资产。

这些都是在寻找区块链的场景。虽然区块链还没有得到充分应用,但毫无疑问,区块链已经在金融领域崭露头角。

另一个现象是,为了炒作新概念,很多公司声称他们的产品使用了区块链。例如,某电子资产公司使用区块链。仔细了解别人使用的私链。

这让人觉得难以置信。私有区块链是为了提高性能,当然不是。区块链最难的是性能,也就是安全性。私人安全在于私人产品的建设。这取决于是否使用区块链,那么私有链有什么用?这里的读者可以自行YY。

实际上,区块链分为公链、私链和联盟链。公链对参与节点没有限制。整个系统在公共网络上运行,不受中央组织的控制。它自由自发地发展。组织,典型案例就是比特币;

私有链,顾名思义,是在组织内部运行的区块链系统。这个系统在一个组织内部运行,很难保证去中心化。它本身就是中心化的产物,所以我一直认为私有链并不是说具有去中心化的特性;联盟,这是我最看好的形式。

我为什么要写这篇文章

比特币系统是当下最流行的电子货币之一,山寨币也有很多,但想法甚至源代码都来自比特币,朋友圈里有很多介绍文章,还有人尝试通过卡通形象生动地诠释比特币的特点。

但我还是不明白,总有一些问题我想不通。为了弄清楚这些问题,我最近研究了几本比特币书籍和中本聪本人发表的比特币论文。 ,迫不及待想和大家分享一下我的理解,也希望和大家一起探讨,共同进步。

二、比特币的核心点是什么

比特币是一种通过点对点技术实现的电子现金系统,它允许一个组织直接与另一个组织进行在线支付通信,而无需中间的权威清算机构。

在比特币的世界里,如果你想拥有比特币,你需要申请一个比特币地址,就像你在银行存钱一样,你需要开一个账户。

那么,您就有了这个帐户。使用自己的帐户,您可以将钱存入您的帐户,其他人可以将钱转入您的帐户。

当您需要取款或转账给他人时,您需要出示可以打开此地址的密钥,也就是您的私钥,就像您在ATM取款时需要提供的密码一样。

与银行发行的法币不同,法币的发行由各国央行管理。大家都认为央行是可靠的,不会犯错,不会被攻击。

但是,比特币的发行不需要中央银行等权威机构。它允许交易直接从一个组织结算到另一个组织,无需权威结算,提高交易和交易效率。结算的效率节省了交易成本,尤其是跨境交易的成本。

点对点在线交易系统如何确保交易的匿名性、正确性和不变性?以及如何防止双花,防止作弊和攻击?

以下章节将通过最通俗的语言解开比特币的奥秘,让你了解比特币的逻辑运作原理,让你学习比特币不留死角,让比特币的方方面面清晰呈现在你的脑海中。

区块链技术核心点

本节介绍区块链技术的核心点,包括:区块链存储、密钥和地址、解锁脚本、挖矿过程、共识机制、P2P网络等。

区块链是如何存储的?

对于现金账户系统,首先要解决的问题是如何记账,记账在哪里,如何存账。

例如,如果您在中国银行存款,中国银行为您开户,您的账户存储在中国银行的服务器上,您在中国建设银行存款,中国建设银行为您开立一个您的帐户,您的帐户存储在建行的服务器上。

如果您需要转账到其他人在同一家银行的账户,您需要通过这家银行为您转账和结算。如需转账至他人在其他银行的账户,需使用银联转账结算。

虽然普通用户无法感知这么多进程,但这些步骤确实存在。从这个过程可以看出,记账的账户系统是专用的、集中的。由组织拥有和维护,通常该组织是权威且值得信赖的。

比特币没有中心化的记账系统,而是通过分布式区块链记录比特币的所有权和交易信息。

每个比特币参与者都有一个相同的区块链副本,由多个按时间顺序排列的区块组成,后面的区块通过哈希指针指向前一个区块,形成一条链,通过这个指针从链的顶部,你总能在底部找到第一个区块,第一个区块成为创世区块。

每个区块都记录了前一个区块的哈希值比特币发展阶段,其实就是前一个节点头的哈希值。如果你想改变一个区块中包含的交易,你必须改变这个区块之后的所有交易。

因为每个区块的生成都需要条件和时间,而且条件相当苛刻(后面会在共识机制相关的文章中详细说明)。

因此,一旦一个区块产生并被区块链的节点接受,并且在这个节点之后产生了一定数量的区块,那么这个区块就基本是不可变的了。

区块链示意图如下:

从上图可以看出,区块链是由多个块组成的,每个A块由块头和块体组成。每个区块头包含区块的元信息,以及指向前一个区块头哈希值的指针,防止区块链被篡改。关键信息。

区块体包含比特币的交易信息。第一笔交易是特殊交易,是对挖矿节点的奖励。这也是产生比特币的唯一方式,即发行比特币的方式,剩下的交易都是转账交易,比特币是从一个地址支付到另一个地址,这是实现比特币转账的唯一方式价值。

综上所述,比特币只有两种交易:发行和转移。比特币创建后,只能从一个人转移到另一个人,不能凭空消失。比特币发行总量是有限的,一共2100万,所以是通货紧缩的货币。 Bitbin的通货紧缩特性我们会在相关文章中详细介绍。

比特币所有者如何证明他们拥有比特币?

上一节介绍了区块链的存储。区块链其实就是比特币的账本,记录着谁拥有多少比特币,但是​​这个账本是存储在互联网上并分发出去的。是的,它不是由中央组织或服务器存储的。

对于账本,剩下的问题是比特币的所有者如何证明他拥有比特币?这就像在银行开户,当您想将钱转给其他人时,您需要在 ATM 上插入您的卡并输入您的 PIN。

卡相当于比特币的地址,密码相当于比特币的密钥。有了正确的地址和密钥,你就可以向外界宣称你对比特币的所有权。比特币转账给其他人进行转账交易。

在自动柜员机提取一笔现金,输入密码解锁账户,我们相信自动柜员机不会泄露密码。那么在比特币的世界里,我们如何通过私钥来验证某个地址上比特币的所有权呢?

比特币的所有权是通过加密领域的技术实现的。我们先来了解一下加密领域的原理。加密领域大致经历了三个阶段。逻辑是用非常高级的代码编写的。后来发现,不管代码里写的多么复杂的逻辑,总有高手能破解的。

因此,生成了对称密钥加密。对称密钥加密通过对称密钥对数据进行加密,然后传输或保存。需要时,用相同的密钥解密,恢复原始数据。秘钥是共享的,秘钥无法安全存储,尤其是跨组织场景。

后来,智能安全科学家发明了非对称加密算法,如:RSA,非对称算法有一对密钥,一个公钥和一个私钥,私钥可以推导出公钥,但是公钥不能推导出私钥。用公钥加密的数据的私钥可以解密,用私钥加密的数据可以用公钥解密。如果组织 A 将数据传递给组织 B,则组织 A 使用公钥进行加密,组织 B 使用私钥进行解密。因此,B 机构需要谨慎保存私钥,而公钥是公开的。这是典型的非对称加密场景,可以有效防止数据被偷窥和篡改。

非对称加密还有另一种场景,即签名。签名是加密场景的逆向场景。商户 B 用自己的私钥对数据进行加密,然后将加密后的数据传输给商户 A。商户 A 通过公钥解密。如果解密后的数据是正确的,就说明数据是A发过来的,有效的保证了数据的防篡改。从这两个场景中,我们可以看到公钥是公开的,可以发送给任何人。私钥是私有的,用于解密或签名。

比特币证明所有权示意图如下:

从上图可以看出,在现实生活中我们用钥匙开锁,在ATM上用密码取现,然后在比特币系统中,我们用秘钥来实现比特币的转移,实现价值的转移。

更具体地说,比特币交易将一定数量的脚本锁定在一个地址,声称拥有该地址的用户将通过签署密钥来证明他/她拥有该地址。

然后,把这个比特币花掉,这个比特币用完后不会消失,它会被锁定在别人的地址上,其他人可以用同样的方法来花掉这个比特币。

从上面的过程中,我们总结了加锁和解锁两个动作,分别对应我们平时的加锁和解锁。实现了。

1. lock 脚本将比特币与一个比特币地址关联起来,证明比特币属于这个地址。

2.解锁脚本提供了证明这个地址是我所有的,这个比特币也是我所有的,我可以用它来支付。

我们举个例子来详细解释一下:

用户 Alice 在地址 A 拥有 10 个比特币,Alice 和 Bob 想要进行交易,Bob 把他家的车卖给了 Alice,Alice 需要付给 Bob 10 个比特币,而 Bob 的比特币地址是 B。

在之前的交易中,Alice 拥有的 10 个比特币被锁定在 Alice 的比特币地址 A 中,来源可能是挖矿收益比特币发展阶段,也可能是从别人那里转账,我们稍后会详细描述如何获得比特币,这里我们只关注锁定证明 Alice 拥有比特币的交易脚本。

锁脚本的逻辑格式为:

如果要使用这个锁脚本,需要的解锁脚本如下:

具体解锁过程如下:

1. 使用地址A的公钥推导出地址并与地址A进行比较,如果相同则证明提供的公钥正确,进入下一步。

2. 使用地址 A 的公钥解密签名。如果得到的值与前一个区块的hash值一致,则证明解锁成功,可以消耗10个地址。比特币。

实际上,锁定和解锁脚本是通过基于堆栈的脚本以反向波兰表示法实现的。由于篇幅有限,这里就不一一介绍了,后续文章会详细介绍加锁和解锁脚本。原则和程序。

挖矿

上一节介绍了比特币使用分布式存储区块链作为记账系统,也解决了大家关于如何申领比特币所有权,以及用比特币支付给别人的过程的问题。

现在我们遇到了一个新问题。由于区块链是分布式记账系统,每个参与节点都有一份副本,那么谁负责将一笔交易记录到区块链呢?

这就不得不引入一个新概念,那就是共识机制。比特币通过工作量证明的共识机制确定记账权。谁负责会计。

工作量证明示意图如下:

工作的大小是通过计算满足一定标准哈希值的比特币区块头的哈希值来体现的。

试图争夺记账权的节点称为挖矿节点。挖矿节点会对网络节点发出的交易进行验证(网络传播机制将在下一节介绍)。进入buffer,形成一定的交易存储结构(交易存储在Merkle树中,后面会介绍),放入块体中。

然后根据区块的基本信息构造区块头,通常包含前一个区块的哈希值、Merkle根(在后续文章中详细介绍)、时间戳、难度目标, 和一个填充的随机值。

这里的随机值是随机生成并填充的。挖矿的过程就是找一个可以填充块头的随机值,使块头的哈希值达到一定的标准。

例如:hash值的第一位是0,难度目标是用来表示hash值标准的难度系数,可以通过概率算法可能性计算出难度值和挖矿成功率。

网络上的每个矿工接收并验证一批交易,然后开始挖矿,并计算满足一定难度值的块头的哈希值。如果计算成功,则挖矿成功,并将挖矿结果广播到全网。全网节点验证后,区块连接到区块顶部,全网达成一致。

矿机需要反复测试随机填充值才能解决问题。一般会生成随机数,并尝试将生成的随机数填充到区块头中。

然后计算哈希。下面的文章将介绍矿机联盟。矿机联盟会将随机数分成多个小段,分配给联盟成员共同解决问题。

除了上面介绍的工作量证明机制外,还有权益证明、基于份额的权益证明共识机制等,我将在共识机制专文中与大家分享未来。

P2P 网络

前两节介绍了比特币的账户体系和记账机制。在本节中,我们将讨论比特币的分布式区块链账本是如何在网络上传输的。 ,以及交易如何通过网络传输和验证。

比特币网络中的节点都是点对点的,没有中心化的服务器。节点有不同的类型,不同的类型有不同的职责。我们会在以后的文章中详细介绍,这里我们只介绍全节点即Bitcoin Core客户端的工作机制。

比特币中的全节点除了存储完整的区块链外,还兼有矿工、钱包、路由节点等角色,其职责如下:

1. 矿工:就像矿工一样,做体力活,不断尝试用数字填充构建的区块头的随机字段,以找到满足一定条件的哈希值,如果找到,连接这个区块去到区块链的顶部,并将合法的区块链发送到相邻节点。

2. 钱包:区块链记录创币交易和转账交易,不同于通常的账户系统,记录账户余额。

只有交易记录在区块链中,没有余额。钱包用于计算区块链地址所拥有的区块的余额。

如果你学过关系型数据库,你可以把区块链理解为一个数据库的索引,或者是一本书的目录。

3. 路由节点:在去中心化的网络环境中,负责传输交易和区块,一个节点创建交易并发送给相邻节点,相邻节点验证后发送给相邻节点,它很快就会传遍整个网络。

如果一个节点通过挖矿发现了一个符合标准的区块,这个节点也会以同样的方式传递给相邻节点,然后相邻节点会继续传播,让网络中的所有节点都同意。

P2P网络传播示意图如下:

我们将在后续文章中详细介绍比特币P2P网络的工作机制。包括节点分类、节点发现、节点连接和广播等。

三、区块链学习如何推进

由于篇幅有限,上一篇文章介绍了比特币的三个基本概念,包括区块链、挖矿和P2P互联网。但是,比特币是一个庞大的系统,初学者可能会遇到问题。

这涉及如何防止双重支出,智能合约,区块链分叉,通货紧缩功能,锁定和解锁脚本,交易的Merkle树存储,交易的存储格式,区块链被攻击的概率,挖矿难度和挖矿成功时间等等共识机制、创币交易和转账交易、比特币性能、不同类型的挖矿节点、比特币应用场景等。

想要答案吗?思考!然后立即跳过问题,阅读我稍后分享的材料。看完后,你可以秒懂这些问题,让你明白比特币和区块链不留死角。你在吹牛吗?嗯,也许不是,你看,我看完后真的明白了。

1.比特币在哪里?

2.比特币多少钱?

3.如何购买比特币?

4.现在有哪些区块链交易平台?

5.比特币安全吗?

6.比特币是如何存储的?

7.比特币是世界货币吗?

8.比特币与区块链的关系?

9.谁发明了比特币?

10.谁是中本聪?

11. 有多少比特币?

12.现在挖了多少比特币?

13.比特币有几种生成方式?

14. 哪个国家承认比特币?中国承认比特币吗?

15. 什么是挖矿?如何挖矿?

16.谁能挖矿?

17.如何验证矿工是否挖过矿?

18. 密码学基础?算法加密、对称加密、非对称加密。

19.比特币的私钥、公钥、公钥哈希和钱包地址之间是什么关系?

20.什么是智能合约?

21. 为什么每10分钟挖矿一次成功?如何保持每 10 分钟而不是每 20 分钟?

22. 块是如何连接的?如何防止篡改?

23.挖矿难度值如何确定?是怎么调整的?

24. 为什么比特币会出现通缩?挖完比特币怎么办?

25. 共识机制包括什么? pow, pos, dpos

26. 比特币交易是如何进行的?包括生产交易和转让交易

27. 区块头的结构?区块头是如何相互连接形成链的?

28. 交易如何存储以及如何添加到区块中?

29. 账本在哪里?如何获取和存储账本?账本有多大?

30. 什么是默克尔树?如何验证交易?

31.比特币真的去中心化了吗?

32.比特币如何使用P2P网络?

33. 比特币表现如何?每秒只能完成7笔交易,交易确认速度真的是10分钟吗?

34.什么是软分叉和硬分叉?

35.什么是50%攻击?

36.为什么公账本说没有人能改?

37.比特币钱包有哪些rest api?

38. 如何证明自己是地址的所有者?

39.比特币和虚拟货币有什么关系?比特币与法币的关系?

40.什么是公链、私链、联盟链?

41.什么是侧链、染色链?

42.什么是莱特币、狗狗币?

43.区块链除了比特币还有哪些应用场景?

44. 区块链是一种创新吗?

45.比特币p2p网络节点有哪些类型?

46. 比特币交易如何收费?根据交易次数,金额还是?

47.每个节点都要下载这么大的账本吗?

48.比特币钱包真的有钱包吗?什么是纸钱包?

49. 比特币如何保证交易匿名?交易所如何进行实名认证合规?

50.中本聪如何使用数学泊松定理证明交易被攻击的概率?

51.比特币还有bug吗?

52.比特币交易限额有多大?

53. 什么是按脚本付费?什么是付费公钥哈希?

54.你是站在扩张派还是保守派一边?

最真实的信息

正如业内资深人士所说,学习比特币和区块链最真实、最认真的资料是中本聪论文发布的比特币,我在学习新技术时总是先看论文。

看具体的实现或者产品,听前辈的话让我感觉找到了知己。实现大规模高并发平台的套路,总觉得建空中花园有点野。

于是,我立马分享了我学到的比特币和区块链的资料,希望能让更多的人从比吉最原始的概念开始学习,打好基础,然后扩展学习就顺理成章了。

读者可从以下链接下载原论文:

中本聪比特币论文【英文版】(密码:x0f8)

中本聪比特币纸币【中文版】(密码:29fx)

精通比特币的必读书籍

学习上面的论文可以帮助你更深入的了解理论,这篇论文的内容包含了比特币和区块链的核心思想。

那么如果你想从技术上了解Bite,或者想了解Bite的细节和区块链的实现水平,那么我推荐《Mastering Bitcoin》这本书。这本书也有中文版。

读者可以从以下链接下载本书:

掌握比特币(密码:bbdb)

本书介绍了P2P网络、交易过程、钱包结构、智能合约、共识机制、密码学原理、脚本支付、网络分裂的解决方案等,本书的内容可以解决所有问题文章开头。

技术进步材料

如前所述,虽然纸张是一项新技术的灵魂和核心,但路边的野花真的没必要吗?你可以时不时的换个口味,看看别人的文章,看看别人的PPT,学习别人的学习方法。它仍然非常有价值。以下是一些学习比特币的有用材料。

1.一个故事告诉你比特币的原理和运作()

这是一篇用比喻来解释比特币的文章,如果你喜欢听故事,看这篇就好了。

2.中国区块链技术与产业发展论坛标准(密码:xa8y)

这是一个国内机构制定的区块链标准,想不通这个标准的作用是什么? :)

3.区块链与数字货币技术(密码:cu7y)

这是一个广为流传的比特币和区块链PPT,内容广泛,可以作为指导。

4. Bubi 区块链产品白皮书(密码:uico)

这是国内某公司使用区块链作为电子资产保存服务的白皮书,参考阅读。

5.只能承包PPT(密码:v362)

这是一个只能直接在代码上解释合约的PPT,比较难看懂,边看边查资料。

6.区块链技术指南(密码:2qvg)

技术指南全面解释了区块链技术的方方面面。

p>

本文总结

本文从比特币和区块链技术的背景出发,介绍比特币和区块链技术的来龙去脉。

然后,为读者讲解了区块链技术的核心原理,包括密码学原理、智能合约、P2P网络、解锁脚本等。

最后提供作者在区块链研究组收集的常见初学者。问题,并引导读者带着这些问题阅读作者提供的资料。

阅读本书并阅读作者提供的资料后,无论你是技术人员还是业务人员,无论你是初学者还是有一定的基础的,都会对技术有更深入的了解和理解比特币和区块链的原理。

转自公众号gitchat技术讲座