主页 > imtoken钱包安装下载 > 关于比特币、区块链

关于比特币、区块链

imtoken钱包安装下载 2023-11-28 05:12:11

——降雪牧羊人

一、共识

从几万年前开始,人类的祖先就在进化过程中打败了比他们高大强壮、耐寒、耐旱、耐饥饿的尼安德特人。 故事对整个人类社会的发展起到了巨大的作用。 它并没有停止,那么让我们从一个故事说起,一个现代社会仍然存在的现象。

太平洋中部有一个加罗林群岛。 岛上的居民很少与外界接触。 闲来无事的经济学家在岛上发现了一个现象,一个用钱的现象。

岛上的货币是一种石头,但这种石头来自外岛,很难获得(保证稀缺),石头很大,放在那个岛上,不动或携带的。 网上的居民(在一定条件下)指着石头,同意其中5%属于A,12%属于B,以此类推。 能够。

假设有一个人,他的家庭非常富有,最后拥有整块石头,但他的家在岛的另一边。 他想通过海运把整块石头运回他家(海运成本低),可惜船出了问题,石头沉入海底无法打捞。 石头,其中 13% 可以换成一头牛)。 因此,货币最基本的属性之一就是所有人都认同它的价值共识。

因此,可以说从一开始,货币基本上就是虚拟的。 贝壳、丝绸、重金属、现在的钞票,都是人们共识的产物。 为了达成这个共识,人们通过一定的手段(立法、管理等)赋予了它“信用”、“流通”、“稀缺”等属性(这些基本都是经济学分析的,我从来不相信经济学,结果到现在都没有摘下属于自己的皇冠。明珠——大萧条的起因,过程中的原因就是他们总能把一个问题解释成很多不同的原因。在这种情况下,这些解释很可能是错误的,因为根本原因还没有找到)。

如果我们把一个国家缩小,其实就相当于一个小岛,人们同意变成货币的就变成了货币。 这个世界上有国家这样的大集团,也有一些小集团。

下面的故事是关于一个小团体——比特币社区。

刘慈欣在《三体》中说,“必要时,人类集权只需要5秒”。 另一个我忘了的人(也许是我自己)也说过“在概率中与概率相反——这可能是人类最伟大的成就之一”。

自然的基本法则之一是多样性。 由于有些人希望集中,有些人希望分散。

去中心化的思想自古希腊就有。 在古希腊人看来,集权是野蛮的标志(讽刺的是,古希腊是一个航海国家,航海最需要集权;而赞成民主的人不允许民主,毒害了它的代表苏格拉底) . 这是西方文化的基石,去中心化的思想根植于每个人心中(一神论的土地,天天想着去中心化,唉,真是6)。

比特币社区将这一理念发挥到了极致,他们甚至是无政府主义的支持者。 所以即使他们知道美联储和中央银行所扮演的角色是积极的,他们仍然拒绝将发行货币的权力归于一个部门。 因为从理论上讲,任何一个国家的下场都可能像阿根廷和津巴布韦那样,央行不停地印钞票,掠夺人民,经济膨胀,整个国家的经济崩溃。

那么对于这样一个群体,他们白天可能是普通的上班族、网络安全专家等,但到了晚上下班后,就变成了网络幽灵一样的黑客。 他们用深思熟虑构建了一个开放的互联网世界,所以他们不想在这个世界上有监视、审查和围墙。 在他们看来,互联网应该像他们的思想一样自由开放。

这套理想主义价值观所创建的社区就是开源社区——GitHup(不久前被微软收购); 这套价值观设计的货币就是比特币,它是由一个叫中本聪的人在2008年底提议设计的。

它最初的设计是为了在点对点的电子现金支付中摆脱中央银行的控制(我们现在的支付都是中央确认的,比如支付宝、微信、各种银行)。 例如,收付匿名,交易不可更改,不可伪造,硬币数量有限,不能发生通货膨胀。 所有这些功能都由程序自动保证。

既然没有组织来维护,也不能像加洛林群岛居民那样通过熟人的眼睛来监督,货币也不能被伪造,那么这个时候就要感谢数学的大发展,它所带来的密码技术带来,解决这个需要。

2.技术

比特币的密码学并不复杂,只有2种:一种是SHA256加密方式,一种是非对称密钥(密钥是现代密码学的基础,有兴趣的可以再写一篇,不感兴趣的可以跳过,可以理解为是一种确认唯一性的识别技术)系统。

808比特币创始人颜万卫 炮制比特币风险大_比特币使用范围_使用比特币游戏

先说SHA256,它的全称是“Secure Hash Algorithm”比特币使用范围,Hash的意思是进行哈希函数运算。 Hash函数就是这样,不管原始数据有多长,多少位,经过Hash运算后,输出值的长度是固定的。

这有点像在图书馆给书编号。 不管是什么书,书号都是几厘米长的条形码。

但要使此条形码有用,有几个先决条件:

1、无论任何一本书的长度,都可以通过Hash函数计算出一个唯一的条形码;

2、条码的长度是固定的;

3、无法通过条形码反转原书内容。

哈希函数有很多种。 比特币使用的是SHA256,256代表函数运算的结果,是一个256位的二进制数。 你可以理解为条形码的长度。

任意数字如何写成定长数字? 在十进制中,如果定长为2,最多可以表示0-99的100个数字。 不是不能代表103吗?

没关系。 生活中有这样一个例子——模块化操作。

比如我们手表的模数是12,在模数12的计算中,没有数字13,但是13等于9+4,所以如果输出结果的长度固定为2位,13就可以写成04(这个很厉害,虽然不可逆操作是否存在还有争议,但是在现在的算力下还是可以大规模使用的)。

SHA256函数的运算结果是一个取模2的256次方的值,所以这个值必须写成256位。

至于Hash运算是如何计算的,其实并不重要,你理解为按照某种规则进行计算即可。 只要记住运算结果是一个 256 位二进制数就足够了。

之所以将某些东西转换成256位的数字,其实是为了验证两个文件是否相等。

举个栗子:

张无忌想把《九阳神功》写成程序,放到网上供粉丝下载修炼。 但我担心有些居心叵测的人会在文件中偷偷改几个字,故意把学员逼疯。 他能做些什么来防止这种情况? 他可以通过SHA256计算原版《九阳神功》,生成一个值,我们称之为S1。

张无忌上传这份文件后,也记下了S1等于什么,并注明:“可能有坏人偷偷改了秘籍,为了不被气死,下载后做个SHA256计算,看看计算结果和我给的是不是和S1一样,如果完全一样,你下载的《九阳神功》就是正版,可以修炼了。

SHA256 在验证更改方面非常强大。 只是文字的标点略有变化,内容不变,但对应的SH256值却大不相同,一目了然,而且这种差异是不规则的。

这个函数被用在比特币的几个函数中。

使用比特币游戏_比特币使用范围_808比特币创始人颜万卫 炮制比特币风险大

首先是支付信息部分。

比如张无忌把屠龙刀卖给了朱元璋,朱元璋拿到之后需要付款,于是朱元璋写了一张付款条,上面写着“朱元璋付给张无忌一千元”,这就是付款信息。

但是这个消息是有风险的。 如果有人篡改内容,在1000元后加一个“万”字,那么朱元璋必死无疑; 或者张无忌换成张无忌,那个张无忌会哭。

刚才的SHA256算法避免了信息被篡改的问题。 “朱元璋付给张无忌1000元”消息的SHA256值是确定的,SHA256值是在发送这条消息的同时给出的,后续任何变化都会被发现。

但是仅仅保证支付信息没有被篡改是不够的。 因为要是有心怀不轨的坏人,写一大堆“朱元璋赔张无忌一亿”,录入支付系统,那朱元璋会哭死的。

因此,还需要数字签名。 数字签名(非对称加密,与上面提到的密钥有关)

它们共同保证支付信息的内容没有被篡改,同时也得到了发送方的认可。

如果每个付钱的和收钱的人都这样记账,把信息记在同一个账本上,如果账本还可靠的话,还债就一清二楚了。 ,江湖恩怨自然少了很多。

2009年,中本聪基于这一思路开发了比特币。

但是,要形成一个可靠的账本,刚才的过程还是太简单了,需要添加N种规则,才能让账本系统发挥作用。

最重要的是:朱元璋给了张无忌1000元钱,但是朱元璋的包里真的有那么多钱吗?

这个问题在传统的银行系统中不是问题,因为央行可以查任何人的账户余额。 但是中本聪的目的是设计一个没有中心化的交易系统,也就是大家最常说的比特币的“去中心化”交易系统。

在比特币系统中,任何参与者都拥有与其他参与者一样的高权限,没有人管谁,谁限制谁。 所以这一步余额是否足够只能通过单独的设计来完成。

余额是多少,你不能自己决定,没有人会相信你还剩下多少钱。 这一步的解决方法是——每笔交易都必须以之前的交易为基础(所以叫链,链串联)。

比如“朱元璋付给张无忌1000元”,这个交易能够进行的前提是之前有人付给过朱元璋,而且这笔钱不仅没有超过1000元,而且还没有被使用过。 就这样,朱元璋给张无忌1000元钱,交易就可以达成了。

如果徐达之前给朱元璋1000块钱。 那么朱元璋给张无忌钱的时候,就会发一条标准的信息:

徐达给朱元璋1000元,朱元璋给张无忌1000元。

然后,加上朱元璋的数字签名和朱元璋的公钥(key)。

比特币使用范围_808比特币创始人颜万卫 炮制比特币风险大_使用比特币游戏

张无忌大夫收到标准信息后,要用SHA256进行确认,用私钥开锁。 经过一些计算,可以确认交易。

但实际情况不会这么巧,如果徐达给了朱元璋1003元。

比特币网络中的支付实际上是朱元璋一次付给张无忌1003元,然后张无忌自动付给朱元璋3元。

因为在比特币系统中,朱元璋无法将之前的1003元消息拆分为1000元1元和3元1元。 因为这个网络中的每条支付信息都带有 SHA256 签名,无法拆分。

在比特币中,每台计算机都有所有转账记录的副本。 但做到这一点并不容易,有3个问题需要解决:

一、如何同步所有电脑中的账本?

因为有的电脑可能保存的是最新版本的账本,但是有的电脑根本不打开客户端软件,有的电脑干脆关掉了。 所以不同电脑上的账本是不一样的,如何同步是第一个问题。

二、如何防止交易记录被篡改?

三、如何防止一笔收入被重复利用?

比如朱元璋收到徐达的1000块钱后,前一秒付钱给张无忌买神龙宝剑,后一秒又付钱给陈友谅赎回人质。 由于网络中物理线路的差异,有的电脑会先收到第一次付款信息,有的电脑会先收到第二次付款信息。 所以有可能有人认为第一次付款有效,而另一些人认为第二次付款有效。 这不是乱七八糟的吗?第三个问题怎么解决

.

解决这三个问题的办法就是一个——区块链(我个人认为这可能比比特币更重要)。

区块链之所以被称为“链”,反映了区块串联的结构。 注意是串联。 不是星形连接,也不是环形连接,也不是并联,而是首尾相连的串联,就像一条时间线。

在区块链中,每个区块包含数百条交易记录。 只要通过检查,就会在上一个最后一个区块之后写入。

例如检查交易记录的签名是否正确,比特币是否被重复使用等。

这些检查由比特币矿工完成。 矿工通过检查后,会发给其他矿工,其他矿工也会先检查新区块。 如果检查合格,则将这个新块添加到存储在您计算机中的链的末尾。

但是,同时有N多个矿工在做这件事,他们检查的新区块的内容都是最近的交易。 大概率是一个新区块中的大部分交易记录同时到达,但肯定有细微差别,因此他们会面临一个问题——他们会同时向网络提交N个不同版本的新区块.

比如有100个不同版本的新方块同时出现,你应该选择哪一个作为你的标准?

808比特币创始人颜万卫 炮制比特币风险大_比特币使用范围_使用比特币游戏

比特币网络的解决方案是限制单位时间内产生的新区块数量。

例如,5分钟内只允许产生一个新区块,谁先检查并上传新区块,谁就获胜。

当然,5分钟只是一个例子。 在实践中,这个困难的时间间隔是通过要求矿工完成两道数学题来保证的(数学真的很重要)。

这两道数学题,一道简单,一道复杂。 而这里还包含了密码学的知识,第一个简单的问题就是区块链为什么可以称为“链”的关键。

第一道题是这样计算的:

计算一个字符串,这个字符串由3部分组成。 第一部分是这个新区块包含的几十万条交易记录,第二部分是这个新区块的基本信息,最后一部分是前一个区块的SHA256函数值。

三部分组合起来就是第一题的结果,是一串字符。

这是区块链为什么被称为链的重要一步。

因为要求当前区块包含前一个区块的SHA256函数值,所以区块是串联的。 任何一个区块都包含了它之前的所有历史,所以它被称为“链”。 现在任何一台计算机都可以立即完成这种简单的计算。

第二个问题非常难。 一般情况下,计算整个比特币网络中的所有计算机大约需要十分钟。

这道题之所以这么难,主要是为了让提交新区块的人有足够长的时间间隔。 为了避免上面提到的新区块同时出现的问题,造成麻烦。

第二题的题目是在第一题的结果上加上一个随机数,组成一个新的字符串。 这个新的字符串用SHA256计算比特币使用范围,会得到另外一个256位的二进制数。

并且要求对于这个256位的数,前72位全为0,这样答案才正确。

给你的是一个随机数。 经过计算,前72位全为0,就看你的运气了。

需要多少运气,我们可以计算一下:

第一位为0的概率为1/2,第二位为0的概率为1/4。 如此下去,第72位仍然为0的概率为1/2^72(基本为0),也就是说需要2^72次SHA256计算。 在整个比特币网络中,答对题只有一次机会。 很难说谁对谁错。 算力越强,人就越幸运。

一旦有人猜对了,就会在全网广播,其他矿工收到这个信息后会进行验证(验证时间相对较短),然后通过软件检查,新的区块放在最后当前的区块链。 整个比特币网络都认可了这个新区块(当然这个过程要消耗大量的人力物力,所以一定要有奖励,奖励就是一定数量的比特币,这叫挖矿)。

由于比特币的精心设置,整个链条已经运行了十多年。

808比特币创始人颜万卫 炮制比特币风险大_使用比特币游戏_比特币使用范围

例如:

如果计算机的性能大大提高,没有人可以用CPU来计算问题2,而是用一块比CPU快几千万倍的ASIC来做计算,而且可以在a内完成计算几毫秒,我该怎么办?

没关系。 中本聪规定,在某个序列号的区块之后,对该幸运随机数的要求变高。 前 72 位数字不是零,而是要求前 73 或 74 位数字为零。 难度和以前一样。 2 次或 4 次。 而这个难度随着算力的增加而增加,这就保证了新区块的生成时间总是会有一个合理的间隔。

另外,即使网络很不幸,短短几秒内就诞生了两个新区块A和B,也可以通过下一个新区块是先从A还是B长出来解决。

因为比特币网络还有一个规则——整个比特币网络只承认长度最长的那条链。

这条规则可以防止有人伪造比特币。 比如我们到了B800块,下一个应该是B801,但是有人手动做了另一个块,和B801不一样,我们就叫它F801。

这里的交易内容是自己出钱让他成为有钱人,所以这是伪造的。 然而,这种伪造极难得逞。

因为F801后面以F开头的侧链F802区块还是要自己做,F103也是。 而另一条以B开头的主链上的B801、B802、B803是全网大家共同制作的。 整个网络的速度比一个人的计算能力要快得多,所以这个人做的区块链永远比全网的主链要短。

刚才的规则是大家只承认最长的那条链,所以即使这个人伪造交易记录,他做的侧链也永远不会被承认,所以他不能伪造比特币。

他只有一种情况会成功,那就是他一个人的算力超过其他所有人的总和(一个人的算力其实属于全网算力,也就是51%算力攻击比特币里面提到过),那个时候他出新区块的速度比谁都快,他做的链会更长,全网都认可他的链。 但这样做成本太高,可能要动用数百亿美元,所以可能性极低。 因此,区块链极难伪造。

三、其他

稀缺性:比特币规定只有2100万枚,挖矿后不再增发。

流动性:比特币可以在任何连接到互联网的计算机上进行管理。 任何人都可以开采、购买、出售或接收比特币,无论他们身在何处。

独家所有权:操纵比特币需要私钥,私钥可以隔离保存在任何存储介质上。 除了用户本人,没有人能得到它。

交易手续费低:比特币可以免费汇出,但最终每笔交易都会收取一定的交易手续费,以保证交易更快的执行(否则矿工吃不饱)。

无隐藏费用:比特币作为A方到B方的一种支付方式,没有繁琐的额度和手续限制。 一旦你知道对方的比特币地址,你就可以进行支付了。

其实我不知道比特币能不能取代央行,但一定很难,因为央行的存在早已是大家的共识,而改变人群的共识是最难的。

但是区块链还可以改变一些其他的东西(我就不一一描述了)。

至于比特币有没有价值和应用场景,这不是一个容易回答的问题,因为最初的用途大多是在非法领域(洗钱、转账、色情、赌博等),所以各国对它的政策不尽相同。它。 它是最包容的,但是这几天这个群体似乎在扩大,增加了自己的属性——所以留给喜欢的人来判断吧。