主页 > imtoken怎么转bc1地址 > GitChat · 区块链 |教你如何轻松学习区块链和比特币的基本技术原理

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

imtoken怎么转bc1地址 2023-12-16 05:09:08

比特币的背景历史

自 2009 年以来,一位自称 Satoshi Nakamoto(是的,日本人……)在一个秘密密码学讨论组上发表了一篇名为“比特币”的文章。 Bitcoin: A Peer-to-Peer Electronic Cash System》报告,比特币出现并获得越来越多的关注。比特币的价格从最初的几美分上涨到现在的几万美元。价格大幅上涨,并已大幅下跌,但价格整体趋势在上涨。挖矿从最开始的个人电脑到后来的矿机,再到后来的矿池,已经发展了几代,政策得到了一些国家的支持,并且有些国家反对,有些国家对比特币态度暧昧,最有趣的是,2010年5月21日,在第一笔比特币交易中,佛罗里达州程序员Laszlo Hanyecz用10,000 BTC购买了价值25美元的披萨券,最近身价上亿。。这一切都见证了比特币神奇的发展史。

区块链的前世今生

虽然比特币还没有得到各国政府的充分认可,也不是标准的金融组织比特币地址卖给别人,但比特币十多年来一直不变。采矿活动从未停止。比特币交易随时随地进行。毫无疑问,这是一款成功的金融产品。从技术上讲,比特币的每一个技术点,比如:非对称密码学、P2P网络、共识机制、智能脚本等,都不是创新,但是这些技术结合形成的比特币是一个伟大的创新。

由于比特币的成功,比特币的核心技术区块链越来越受到关注,以至于区块链被认为是互联网金融行业的下一个风口,各行各业都在都在研究区块链,寻找区块链的使用场景。有一个不恰当的例子,但非常生动。区块链技术就像一把锤子,满世界找钉子,终于找到了几根钉子,乍一看还是个螺丝钉,还得换螺丝刀,却又要砸进去用锤子。也不是不可能,只是有点费力。

上面的例子生动地说明了区块链技术的现状。例如,有的公司使用区块链进行存储,有的公司使用区块链存储客户账户,还有的​​公司使用区块链来存储电子资产。这些都是在寻找区块链的场景。虽然区块链还没有得到充分应用,但毫无疑问,区块链已经在金融领域崭露头角。

另一个现象是,为了炒作新概念,很多公司声称他们的产品使用了区块链。我觉得难以置信。私有区块链的目的是提高性能。当然不是。区块链最难的是性能,也就是安全性。私人安全在于私人产品的建设,而不是是否使用区块链。这有什么用途?这里的读者可以自行YY。

实际上,区块链分为公链、私链和联盟链。公链对参与节点没有限制。整个系统在公共网络上运行,不受中央组织的控制。它自由自发地发展。一个组织,典型案例是比特币;顾名思义,私有链是在组织内运行的区块链系统。该系统在组织内部运行,很难确保去中心化。在组织内部,它是集中化的产物。因此,我一直认为私有链并不是说它具有去中心化的特性;联盟是作者最乐观的形式,

我为什么写这篇文章

比特币系统是目前最流行的电子货币之一,山寨币也有很多,但思想甚至源代码都来自比特币。朋友圈里有很多介绍文章,也有人尝试生动地使用漫画。解释了比特币的特点,但还是看不懂,总有一些想不通的问题。为了理解这些问题,我最近研究了几本比特币书籍和中本聪本人发表的比特币论文。迫不及待想和大家分享一下我的理解,希望和大家一起讨论,共同进步。

比特币的核心点是什么

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

在比特币的世界里,如果你想拥有比特币,你需要申请一个比特币地址,就像你在银行存款,你需要开一个账户,然后你就有了这个账户,使用自己的帐户,您可以将钱存入您的帐户,其他人可以将钱转入您的帐户。当您需要取款或转账给他人时,您需要出示可以打开该地址的钥匙,也就是您的私钥,就像您在ATM取款时的密码一样。

与银行发行的法币不同,法币的发行由各国央行管理。大家都认为央行是可靠的,不会犯错,不会被攻击。但是,比特币的发行不需要中央银行等权威机构。它允许一笔交易直接从一个机构结算到另一个机构,省去了权威机构的结算,提高了交易和结算的效率,节省了交易量。成本,尤其是跨境交易。

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

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

区块链技术核心点

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

区块链是如何存储的?

对于一个现金账户系统,首先要解决的是如何记账,记账在哪里,如何存储账户。例如,您在中国银行存款,中国银行为您开立账户,您的账户存储在中国银行的服务器上。如果您在中国建设银行存款,中国建设银行会为您开户,您的账户存放在中国建设银行。在银行的服务器上。如果您需要转账到别人在同一家银行的账户,您需要通过这家银行转账和结算,如果您需要转账到别人在其他银行的账户,您需要转账和结算给您通过银联,虽然普通用户无法感知这么多流程,但这些步骤确实存在。从这个过程中我们可以看出,记账的账户体系是由某个组织专用的、中心化的、拥有和维护的,通常这个组织是权威的、值得信赖的。

比特币没有中心化的记账系统,而是通过分布式区块链记录比特币的所有权和交易信息。每个比特币参与者都有一个相同的区块链副本。区块链包含随时间排序的多个块。后一个块通过哈希指针指向前一个块,形成一条链。有了这个指针,可以一直找到顶端到底部的第一个块,第一个块成为创世块。每个区块记录前一个区块的哈希值,其实就是前一个节点头的哈希值。如果你想改变一个区块中包含的交易,你必须改变这个区块之后的所有交易。 ,由于每个区块的产生都需要条件和时间,而且条件相当苛刻(后面会在与共识机制相关的文章中详细说明),因此,一个区块一旦产生,就被节点所接受区块链,并且在这个节点之后产生了一定数量的块,那么这个块基本上是不可变的。

区块链示意图如下:

从上图可以看出,区块链是由多个块组成的,每个A块由块头和块体组成。每个区块头包含区块的元信息,以及指向前一个区块头哈希值的指针,防止区块链被篡改。关键信息。块体包含比特币的交易信息。第一笔交易是特殊交易,是对挖矿节点的奖励。这也是产生比特币的唯一方式,即发行比特币的方式。剩下的Transactions都是转账交易,比特币从一个地址支付到另一个地址,这是比特币价值转移的唯一途径。综上所述,比特币只有两种交易:发行和转让。比特币创建后,只能从一个人转移到另一个人,不能凭空消失。比特币的发行总量是有限的,一共2100万,所以它是一种通货紧缩的货币,我们会在相关文章中详细介绍Bitbin的通货紧缩特性。

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

上一节介绍了区块链的存储。区块链其实就是比特币的账本比特币地址卖给别人,记录着谁拥有多少比特币,但是​​这个账本是存储在互联网上并分发出去的。是的,它不是由中央组织或服务器存储的。对于账本,剩下的问题是比特币的所有者如何证明他拥有比特币?这就像在银行开户,当您想将钱转给其他人时,您需要在 ATM 上插入您的卡并输入您的 PIN 码。卡相当于比特币的地址,密码相当于比特币的密钥。有了正确的地址和密钥,您就可以主张自己的比特币权利并将比特币转让给他人。进行转账交易。

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

比特币的所有权是通过加密领域的技术实现的。我们先来了解一下加密领域的原理。加密领域大致经历了三个阶段。逻辑是用非常高级的代码编写的。后来发现,不管代码里写的多么复杂的逻辑,总有高手能破解的。因此,生成了对称密钥加密。对称密钥加密通过对称密钥对数据进行加密,然后传输或保存。在需要时,它通过相同的密钥解密和恢复原始数据。缺点是密钥是共享的。无法安全地存储密钥,尤其是在跨组织场景中。后来,聪明的安全科学家发明了非对称加密算法,例如:RSA。非对称算法有一对密钥,一个公钥和一个私钥。私钥可以推导出公钥,但公钥不能推导出私钥。用公钥加密的数据可以用私钥解密,用私钥加密的数据可以用公钥解密。如果组织 A 将数据传递给组织 B,则组织 A 使用公钥加密,组织 B 使用私钥解密。因此,B 组织需要小心保管私钥,而公钥是公开的。这是典型的非对称加密场景,可以有效防止数据被偷窥和篡改。非对称加密还有另一种场景,那就是签名。签名是加密场景的逆向场景。商户 B 用自己的私钥加密数据,然后将加密后的数据传输给商户 A。商户 A 用公钥解密。如果数据正确,则说明数据是A发送的,有效保证了数据的防篡改。从这两个场景可以看出,公钥是公开的,可以发给任何人,而私钥是私有的。解密或签名。

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

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

更具体地说,比特币交易在一个地址上锁定了一定数量的脚本,声称拥有该地址的用户将通过签署密钥来证明他拥有该地址,然后花费这个比特币,它不会消失用完之后,会被锁定在别人的地址里,别人可以用同样的方法来花掉这个比特币。

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

锁定脚本将比特币与比特币地址相关联,证明比特币属于该地址。

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

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

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

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

锁脚本的逻辑格式为:

比特币数量源锁地址

10

挖矿收益

地址 A

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

解锁地址解锁

地址 A

地址A的公钥和前一个区块头的哈希值与地址A的私钥的签名

具体解锁过程如下:

使用地址A的公钥推导出出地址与地址A进行比较,如果一致,则证明公钥正确,然后进行下一步。

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

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

挖矿

上一节介绍了比特币使用分布式存储区块链作为记账系统,也解决了大家关于如何申领比特币所有权,以及用比特币支付给别人的过程的问题。现在我们遇到了一个新问题。既然区块链是一个分布式记账系统,每个参与节点都有一份副本,那么谁负责将一笔交易记录到区块链上呢?

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

工作量证明示意图如下:

工作的大小是通过计算满足一定标准哈希值的比特币区块头的哈希值来体现的。试图争夺记账权的节点称为挖矿节点。挖矿节点会对网络节点发出的交易进行验证(网络传播机制将在下一节介绍)。经过验证后,将它们存储在缓冲区中,形成一定的交易存储结构(交易存储在 Merkle 树中,后面有各种介绍),放入块体中,然后根据基本的构造块头块的信息。区块头通常包含前一个区块的哈希值。 、Merkle 根(更多内容在后续文章中)、时间戳、难度目标和填充的随机值。这里的随机值是随机生成并填充的。挖矿的过程就是找一个可以填充块头的随机值,使块头的哈希值符合一定的标准,例如:哈希值的哈希值有的第一个位为0,而难度目标是用来表示哈希值标准的难度系数。通过概率算法可以计算出难度值和挖矿成功的概率。

网络上的每个矿工接收并验证一批交易,然后开始挖矿,并计算满足一定难度值的块头的哈希值。如果计算成功,则挖矿成功,并将挖矿结果广播到全网。全网节点验证后,将区块连接到区块顶部,在全网达成一致。矿机需要反复测试随机填充值才能解决。一般是生成随机数,尝试将生成的随机数填充到块头中,然后计算哈希。后续文章会介绍矿机联盟,矿机联盟会生成随机数。划分多个小区域,分配给联盟成员,共同解决问题。

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

P2P 网络

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

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

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

矿工:和其他矿工一样,他们做的都是体力活,不断尝试用数字填充构建的区块头的随机字段,以找到满足一定条件的哈希值。如果找到,将此块连接到块链。顶端,并将合法区块链发送到相邻节点。

钱包:区块链记录创币交易和转账交易,不同于通常的账户系统记录账户余额,而区块链只记录交易。没有余额,钱包用于计算区块链中某个地址拥有的区块的余额。如果你学过关系型数据库,可以把区块链理解为数据库的索引,也可以把它当成一本书。内容。

路由节点:负责在去中心化网络环境中传输交易和区块。一个节点创建一个事务并将其发送到相邻节点。相邻节点验证后,发送给相邻节点,迅速传遍全网。如果一个节点通过挖矿发现了一个符合标准的区块,这个节点也会以同样的方式将它传递给相邻节点,然后相邻节点会继续传播,从而使网络中的所有节点达成一致。

P2P网络传播示意图如下:

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

如何推进区块链学习

由于篇幅有限,上一篇文章介绍了比特币的三个基本概念,包括区块链、挖矿和P2P网络。但是,比特币是一个庞大的系统,初学者可能会在各方面都有疑问,这涉及到如何防止双重支出、智能合约、区块链分叉、通货紧缩特性、锁定和解锁脚本、交易的默克尔树存储、交易的存储格式、区块链被攻击的概率、挖矿难度和挖矿成功时间、更多共识机制、创币交易和转账交易、比特币性能、不同类型的挖矿节点、比特币应用场景等。

作者曾经鼓励我的朋友加入我的微信群,进行比特币和区块链技术研究,

区块链技术研究群

当时很特别,才5000块,就是RMB :) 这是一个免费分享群,大家参与演讲,谁都可以提问,下一个问题是这样的,有50多个总共有问题,哦..我的天哪,很多吗?不是很多?想知道答案吗?思考!然后立即跳过问题,阅读我稍后分享的材料。看完后,你可以秒懂这些问题,让你明白比特币和区块链不留死角。你在吹牛吗?嗯,也许不是,你看,我看完后真的明白了。

比特币在哪里?比特币多少钱?如何购买比特币?现在有哪些区块链交易平台?比特币安全吗?比特币是如何存储的?比特币是世界货币吗?比特币和区块链有什么关系?谁发明了比特币?中本聪是谁?总共有多少比特币?你现在挖了多少比特币?有多少种方法可以生成比特币?哪个国家承认比特币?中国承认比特币吗?什么是挖矿?如何挖矿?谁能挖矿?如何验证矿工是否挖过矿?密码学基础?算法加密、对称加密、非对称加密。比特币的私钥、公钥、公钥哈希、钱包地址之间有什么关系?什么是智能合约?为什么每 10 分钟就应该挖矿成功?如何保持每 10 分钟而不是每 20 分钟?块是如何连接在一起的?如何防止篡改?挖矿难度值如何确定?它是如何调整的?为什么比特币会出现通缩?挖完比特币后怎么办?共识机制包括什么? pow、pos、dpos比特币交易是如何实现的?区块头的结构包括生产交易和转移交易?区块头如何相互连接形成链?交易如何存储以及它们如何添加到区块中?账本在哪里?如何获取和存储账本?账本有多大?什么是默克尔树?如何验证交易?比特币真的去中心化了吗?比特币如何使用 P2P 网络?比特币的表现如何?每秒只能完成7笔交易,交易确认速度真的是10分钟吗?什么是软分叉和硬分叉?什么是50%攻击?为什么公共账本说没有人可以更改?比特币钱包有哪些可用的 rest api?一个人如何证明他是地址的所有者?比特币和虚拟货币有什么关系?比特币和法定货币的关系?什么是公链、私链、联盟链?什么是侧链和染色链?什么是莱特币和狗狗币?区块链除了比特币还有哪些应用场景?区块链是一种创新吗?比特币 p2p 网络节点有哪些类型?比特币交易如何收费?根据交易数量,金额还是?每个节点都必须下载这么大的账本吗?比特币钱包真的有钱包吗?什么是纸钱包?比特币如何保证交易的匿名性?交易所如何实名认证合规?中本聪如何使用数学泊松定理来证明交易被攻击的概率?比特币还有漏洞吗?比特币一笔交易的限额是多少?什么是按脚本付费?什么是付费公钥哈希?你站在扩张主义者还是保守主义者一边?最真实的信息

正如业内资深人士所说,学习比特币和区块链最真实、最严肃的资料是中本聪发表的比特币论文。学习一直都是先看论文,再看具体的实现或者产品。听到前辈的话,让我感觉自己找到了知己。服务大型高并发平台的套路,总觉得建空中花园有点野,所以立马分享了自己学到的比特币和区块链数据,希望能让更多的人从最原始的开始学习概念,打好基础,再扩展学习会有一种自然的感觉。

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

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

中本聪的比特币论文【中文版】密码:29fx

精通比特币的必读书籍

学习上面的论文可以帮助你更多地理解理论。本文的内容包括比特币和区块链的核心思想,那么如果你想从技术上学习更多,或者想了解比特币和区块链的实现层面的细节,那么我推荐《精通比特币》这本书幸运的是,这本书也有中文版。

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

精通比特币密码学:bbdb

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

技术进步材料

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

一个故事告诉你比特币的原理和运行机制

这是一篇使用隐喻来解释比特币的文章。如果您喜欢听故事,请阅读此内容。

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

这是一个国内组织制定的区块链标准。我想不通这个标准的作用是什么? :)

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

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

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

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

合同专用 PPT(密码:v362)

这是一个直接解释合同专用PPT的PPT,看不懂。 .

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

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

本文总结

本文从比特币和区块链技术的背景出发,介绍比特币和区块链技术的来龙去脉,然后为读者讲解区块链技术的核心原理,包括密码学原理、智能合约、P2P网络、解锁脚本等,最后提供作者在区块链研究组收集的初学者常见问题,并引导读者阅读作者提供的有关这些问题的资料。读完本书,以及阅读作者提供的资料后,无论你是技术人员还是商务人士,无论你是初学者还是有一定的基础,都会对比特币的技术原理有更深入的了解和理解和区块链。

记录:《李彦鹏:区块链与比特币基本技术原理解析》

复活节彩蛋

重磅聊天分享:《如何在三年内快速成长为技术专家》专家》