比特链就是那个让数据跑得比跑步还快的网络,你实际上不用脑子去跑,它自己就在自动拉人。 想象一下,你在北京想发个带菜的照片给隔壁的同事,不用像那会儿那样去哪个服务器硬盘里翻找,也不用跑山一样的网络。目前你点发布,你的浏览器会去问几个不同的“小区”看看:“嘿,你这儿有这张照片吗?”有的小区说有,有的说没。 这时候,浏览器会拿着这个请求,把照片发给几个小区。
可是,别当作它们都给你答案了,数据还得持续跑。出于你要确认,几个小区里有没有人在线,几个小区里有没有人连着互联网。
故此,浏览器又要把请求发给另外几个小区:“嘿,你那儿有人吗?”这就像是在问邻居们,“你那儿有人吗?”这种确认动作,得源源不断地跑,跑完一轮,数据又得回去。 但这还不够,你发的照片是要被存起来,可你又不想一次性塞满一个庞大的服务器。
故此啊,浏览器会把数据切分,切成一个个小块,比如一块砖头,一个个小块先发给几个小区。等小区说“这砖头我这儿有”,大砖头就被放下去了。
然后浏览器再把这砖头切分,切成更小的碎块,发给其他小区。 这就有点怪了,数据明明都在跑,为啥有时候你感觉卡得了得?
是不是出于那群小区忒忙了?
是不是出于网络拥堵了?实际上缘由挺好办,就是那群小区处理不过来。浏览器每收到一块砖头,就会做一件大事:先把这块砖头发给所有在线的小区,然后再把这块砖头切分,重新发给没在线的小区。 这就有点累赘了,一块砖头发了出去,还没走完,又被切分送出去。并且,那块砖头得一直跟那群小区跑,直到所有小区都确认收到为止。 这就像你带一块大肉要送到店里,得找个卖肉的。你问第一家店“有吗”,第一家店说“有”,你就找第一家。但第一家店老虎大量,没人有肉,你还是问第二家。
第二家也说“有”,你中意了。可难题是,你拿着一大坨肉,得不停地跑。你有时候一块肉还没放下,它就又被切成两半,扔给两个不同的店。 这就把跑的过程搞复杂了。数据跑那会儿,还不够,还得确认那两块肉在店里都有。确认完,再确认那两块肉在两个店都有。确认完,再确认两块肉在两个店都归你所有。 实际上,比特链就靠这种确认来传递数据。你发数据,先问几个小区有没有这种数据。有,再问几个。数据跑完,小区都确认了。
这时候才算“这数据我这儿有”。 这就像你在河边钓鱼,想要钓到一条大鱼。你得问几个钓友:“嘿,你那儿有鱼吗?”有的说有,有的说没。有鱼的那几个就告诉你“有”。
这还没完,你得去问问那些说“有”的钓友:“你那儿钓到的鱼,是不是确实?”有的说真,有的说假。 这就形成了一个过程。你问一个钓友,也有人说假。你问另一个钓友,也有人说假。
要是你问的钓友们都说假,你就没钓到鱼。 比特链就是如此个过程。你问几个小区有没有某种数据,有的说有,有的没。有说的几个就告诉你“有”。
这算一步。但还得做第二步。你得去问那些说“有”的,他们那儿到底有没有。有的说“有”,有的说“没”。 比特链的核心就是不断追问。你问哪位,大家就说哪位。你问哪位,大家就说哪位。但这还不够,你得问他们说“有”的人,他们那儿到底有没有。有说“有”,没说“有”,那你就没数据。 这就有点烦人了。你问一个小区,它说“有”。但你又得问另一个小区,它说“没”。
那你还得问第三个小区,它说“有”。可偏偏,第三个小区说“没”。你问第四个,它说“有”。问第五个,它说“没”。问第六个,它说“有”。问第七个,它说“没”。 这时候你就知道,数据没跑通。你得持续问。问第八个,它说“有”。问第九个,它说“没”。问第十个,它说“有”。问第十一个,它说“没”。问第十二个,它说“有”。 这时候数据才算跑通了。出于第十个小区说“没”,但第十一个小区说“有”。
第十一个小区告诉了你数据在哪。 这就仿佛你在找真话。你问一个邻居,他说真话。你问另一个邻居,他说假话。你问第三个邻居,他说真话。你问第四个邻居,他说假话。你问第五个邻居,他说真话。你问第六个邻居,他说假话。你问第七个邻居,他说真话。你问第八个邻居,他说假话。 这时候,你知道第八个邻居说的是假话。但第十个邻居说真话。
第十个邻居告诉你,数据在第八个邻居那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 这就有点累赘了。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,它说没。你问第五个小区,它说有。你问第六个小区,它说没。你问第七个小区,它说有。 这时候,你知道第七个小区说的是真话。
第七个小区告诉你,数据在第七个小区那儿。 可是,数据还得持续跑。
第七个小区说“有”,但它没说数据在哪。你得再问第八个小区。 第八个小区说“有”。
第八个小区告诉你,数据在第八个小区那儿。 第八个小区说“有”,但它没说数据在哪。你得再问第九个小区。 第九个小区说“有”。
第九个小区告诉你,数据在第九个小区那儿。 第九个小区说“有”,但它没说数据在哪。你得再问第十个小区。 第十个小区说“没”。
第十个小区告诉你,数据不在第十个小区那儿。 第十个小区说“没”,但它没说数据在哪。你得再问第十一个小区。 第十一个小区说“有”。
第十一个小区告诉你,数据在第十一个小区那儿。 第十一个小区说“有”,但它没说数据在哪。你得再问第十二个小区。 第十二个小区说“没”。
第十二个小区告诉你,数据不在第十二个小区那儿。 第十二个小区说“没”,但它没说数据在哪。你得再问第十三个小区。 第十三个小区说“有”。
第十三个小区告诉你,数据在第十三个小区那儿。 第十三个小区说“有”,但它没说数据在哪。你得再问第十四个小区。 第十四个小区说“没”。
第十四个小区告诉你,数据不在第十四个小区那儿。 这时候,你知道第十三个小区说的是真话。
第十三个小区告诉你,数据在第十三个小区那儿。 比特链就是如此个逻辑。你问一个小区,它说有。你问另一个小区,它说没。你问第三个小区,它说有。你问第四个小区,