摘要:任何人或物聯(lián)網(wǎng)設(shè)備想發(fā)起交易,只需要引用其他兩個(gè)交易就可以了。只要好人的交易總數(shù)足夠多,它就是安全的。要知道,應(yīng)用場(chǎng)景是物聯(lián)網(wǎng)設(shè)備,物聯(lián)網(wǎng)設(shè)備跑真是天才的想法啊。不僅如此,這個(gè)電磁爐還能提高烹飪的安全系數(shù)。
鑒于有不少小伙伴反映,覺(jué)得區(qū)塊鏈技術(shù)圈亂象橫生,魚龍混雜,導(dǎo)致大家很難去辨識(shí)哪些是真正的技術(shù)。甚至有些人,打著說(shuō)技術(shù)的名號(hào),其實(shí)自己本身都沒(méi)弄懂弄明白,只是懂個(gè)皮毛,就開始拿著各種技術(shù)專有名詞去唬人。這樣的現(xiàn)象,導(dǎo)致想好好學(xué)習(xí)技術(shù)知識(shí)的小伙伴們甚至?xí)换煜驼`導(dǎo),學(xué)到和接收到的是錯(cuò)誤的信息。小編對(duì)于存在的這樣的亂象也深感痛心,作為一支來(lái)自與清華姚班的公鏈團(tuán)隊(duì),Conflux的小伙伴們,決定來(lái)幫助真正想學(xué)習(xí)技術(shù)的大家!推出《吐槽君小C》專欄,小C會(huì)用最直接,最犀利的言語(yǔ)來(lái)道出區(qū)塊鏈項(xiàng)目技術(shù)的優(yōu)勢(shì)劣勢(shì),真正講清楚技術(shù),講清楚技術(shù)之間的區(qū)別,讓大家對(duì)技術(shù)和整個(gè)行業(yè)有更深刻的了解認(rèn)知,本文就是Conflux吐槽君第一期~一個(gè)荒唐的故事
幾年前,打車平臺(tái)激烈大戰(zhàn)的時(shí)候,有這樣一家創(chuàng)業(yè)公司橫空出世,號(hào)稱實(shí)現(xiàn)了零打車費(fèi),從根本上解決了人們出行中的痛點(diǎn)。而實(shí)現(xiàn)的方式是,讓用戶自己買輛車,然后自己給自己當(dāng)司機(jī)。讓服務(wù)需求方自己給自己提供服務(wù),從而節(jié)省了服務(wù)費(fèi)。這一想法讓投資人非常驚訝,然后將創(chuàng)業(yè)者打出門去。
上面這個(gè)故事是小C我編的。但在區(qū)塊鏈這個(gè)圈子里,卻真的有這樣一個(gè)公鏈項(xiàng)目,憑借著區(qū)塊鏈的技術(shù)認(rèn)知門檻,編概念講故事,號(hào)稱解決了區(qū)塊鏈+物聯(lián)網(wǎng)的痛點(diǎn)。這個(gè)項(xiàng)目在區(qū)塊鏈泡沫最高的時(shí)候,一度登上了市值榜TOP10。這就是小C今天的要和大家講的項(xiàng)目:IOTA。
IOTA是個(gè)啥?首先,IOTA是一個(gè)使用DAG賬本結(jié)構(gòu)的區(qū)塊鏈系統(tǒng)。(注:DAG,Directed Acyclic Graph,中文全稱“有向無(wú)環(huán)圖”,所謂DAG結(jié)構(gòu),就是讓每個(gè)區(qū)塊或交易引用多個(gè)區(qū)塊或交易作為父親。這樣所有的區(qū)塊或交易之間的父子關(guān)系構(gòu)成一個(gè)有向圖。每個(gè)區(qū)塊或交易必須引用比自己早的交易,因此,這些區(qū)塊或交易的父子關(guān)系不可能出現(xiàn)循環(huán)。因此,這個(gè)結(jié)構(gòu)被稱為有向無(wú)環(huán)圖) 它的賬本數(shù)據(jù)結(jié)構(gòu)叫做Tangle,翻譯成中文就是“糾纏,混亂”的意思。沒(méi)錯(cuò),這個(gè)名字非常貼切。因?yàn)樾從研究IOTA的第一天開始,就被IOTA技術(shù)上各種奇葩不靠譜的方案繞暈了。
IOTA的項(xiàng)目愿景非常美好:它通過(guò)無(wú)區(qū)塊鏈,無(wú)交易費(fèi),無(wú)限可擴(kuò)展,解決了物聯(lián)網(wǎng)場(chǎng)景中各種痛點(diǎn)。這簡(jiǎn)直是重新定義了區(qū)塊鏈啊。但是,如果深扒IOTA的技術(shù)原理,你會(huì)發(fā)現(xiàn)IOTA實(shí)現(xiàn)方案非常不靠譜。有多不靠譜呢?比對(duì)著excel喊“二百五,求和”還不靠譜。
IOTA到底怎么不靠譜小C先來(lái)說(shuō)說(shuō)這個(gè)無(wú)限可擴(kuò)展。在IOTA原始的設(shè)定中,所有的交易構(gòu)成一個(gè) DAG。任何人(或物聯(lián)網(wǎng)設(shè)備)想發(fā)起交易,只需要引用其他兩個(gè)交易就可以了。沒(méi)有礦工,沒(méi)有區(qū)塊,沒(méi)有礦工賺交易費(fèi),你發(fā)交易的速度有多快,IOTA的TPS就有多高。只要好人的交易總數(shù)足夠多,它就是安全的。
這簡(jiǎn)直太awesome了,攻擊一個(gè)區(qū)塊鏈系統(tǒng)從來(lái)沒(méi)有像攻擊IOTA那樣簡(jiǎn)單。不需要屯幣,不需要買礦機(jī),我只要搞一臺(tái)電腦不停地,每分每秒不停地發(fā)交易,讓我的交易占據(jù)全網(wǎng)的50%以上,我就攻擊成功了。
IOTA 大概也意識(shí)到了這個(gè)問(wèn)題(被大家抨擊到不得不意識(shí)到這個(gè)問(wèn)題)。于是IOTA后面改了,說(shuō)每筆交易必須算一個(gè) PoW,來(lái)防止女巫攻擊帶來(lái)的雙花問(wèn)題的。納尼?說(shuō)好的無(wú)限可擴(kuò)展呢?
有了PoW的IOTA真是妙不可言啊。要知道,IOTA應(yīng)用場(chǎng)景是物聯(lián)網(wǎng)設(shè)備,物聯(lián)網(wǎng)設(shè)備跑PoW真是天才的想法啊。所謂的物聯(lián)網(wǎng)設(shè)備,就包括現(xiàn)在最火的智能家居,比如智能插座,智能音箱,智能冰箱等。那什么樣的物聯(lián)網(wǎng)設(shè)備可以把PoW的優(yōu)勢(shì)發(fā)揮到淋漓盡致呢?機(jī)智的小編我,馬上想到了物聯(lián)網(wǎng)智能電磁爐!我簡(jiǎn)直迫不及待想買一個(gè) IOTA 物聯(lián)網(wǎng)智能電磁爐,每次打開電磁爐的時(shí)候,它就開始進(jìn)行PoW運(yùn)算,發(fā)出的熱量也可以加熱食品。當(dāng)你的晚飯做好了,一筆 IOTA交易也就發(fā)出去了。
不僅如此,這個(gè)IOTA電磁爐還能提高烹飪的安全系數(shù)。它通過(guò)占滿你家網(wǎng)絡(luò)的帶寬,讓你上不了網(wǎng),杜絕你在烹飪的時(shí)候因?yàn)樗⑽⑿潘⑽⒉┌逊孔狱c(diǎn)著。因?yàn)樵贗OTA中,發(fā)送每筆交易時(shí),需要選擇兩筆交易作為父親。這個(gè)要求看似簡(jiǎn)單,但你需要保證:這兩筆交易的歷史中沒(méi)有非法交易,沒(méi)有沖突的交易。這需要同步大量的歷史,驗(yàn)證歷史交易的正確性,處理沖突交易,并且保持與IOTA的DAG最新?tīng)顟B(tài)同步。如果你偷懶不同步,那你的交易可能就因?yàn)檫`反了一些規(guī)則被無(wú)效掉了。為了重新發(fā)起這筆交易,你只好再做一頓飯。
在比特幣中,礦工負(fù)責(zé)做PoW運(yùn)算,負(fù)責(zé)同步、驗(yàn)證網(wǎng)絡(luò)交易,并處理沖突,用戶向礦工付交易費(fèi)。IOTA重新定義了區(qū)塊鏈,消滅了交易費(fèi),取而代之的是這些事情都得用戶自己來(lái)做。當(dāng)比特幣的用戶坐在餐桌上吃烤鴨的時(shí)候,IOTA的用戶還蹲在后廚親自養(yǎng)鴨子。小C認(rèn)為,IOTA所謂的無(wú)交易費(fèi),本質(zhì)上就是用從商品經(jīng)濟(jì)回到自然經(jīng)濟(jì),這是倒退,不是創(chuàng)新。
當(dāng)然,由于這個(gè)實(shí)在太不合理,于是IOTA的社區(qū)就有了彌補(bǔ)的方案。有一個(gè)叫 IOTA PoWer的服務(wù),它允許用戶付一筆錢,將自己的交易PoW計(jì)算等任務(wù)外包。可是小C我仔細(xì)一想,這不就是用戶發(fā)出一筆交易,然后付錢讓礦工給我打包進(jìn)區(qū)塊嗎?這個(gè)區(qū)塊很特別,只能放一筆交易而已。由此可見(jiàn),IOTA所謂的無(wú)區(qū)塊鏈,不過(guò)是自欺欺人的宣傳點(diǎn)罷了。
對(duì)于上面荒誕的故事,IOTA的擁護(hù)者可能會(huì)不服,他們認(rèn)為IOTA的PoW與比特幣的PoW目的是不一樣的,IOTA的PoW只是為了減少網(wǎng)絡(luò)中的垃圾交易,不會(huì)給用戶造成負(fù)擔(dān)。那就讓小C來(lái)帶著大家,具體算一算IOTA 中PoW 的難度怎么設(shè)比較合理。
首先,我們要算一下IOTA網(wǎng)絡(luò)最高能跑到多少個(gè)TPS?如果IOTA每秒產(chǎn)生10000筆交易,網(wǎng)絡(luò)帶寬的局限性導(dǎo)致IOTA無(wú)法保證DAG賬本在全網(wǎng)的同步。如果賬本始終無(wú)法及時(shí)同步,那么不同的節(jié)點(diǎn)就可能在不同的分叉上越走越遠(yuǎn),從此分道揚(yáng)鑣,共識(shí)不再。所以 IOTA的網(wǎng)絡(luò)中,每秒 10000 筆交易,不能再多了。
然后,我們要算一下IOTA的全網(wǎng)算力達(dá)到多少 TH/s 才算安全?全網(wǎng)算力達(dá)到多少 TH/s,一個(gè)普通的家用電腦,才能在一頓飯的時(shí)間里(1小時(shí))發(fā)出一筆交易?一個(gè)Intel Core 2 Duo的算力大概是2.5MHash/s, 1小時(shí)內(nèi)可以嘗試9G次Hash嘗試。9G次Hash嘗試發(fā)出一筆交易,目前 IOTA主網(wǎng)的吞吐率只有5TPS,如果壞人有>45GHash/s的算力,那么他們就可以每秒產(chǎn)生>5筆交易,就可以在交易數(shù)量上占據(jù)主導(dǎo),從而進(jìn)行51%算力攻擊。即使達(dá)到了10000 TPS,90THash/s依然可以進(jìn)行51%算力攻擊。 90THash/s是個(gè)什么概念呢?一個(gè)螞蟻S9礦機(jī)的算力是13.5THash/s,七臺(tái)螞蟻礦機(jī)的算力就可以超過(guò) 90THash/s。
哪怕普通用戶算1小時(shí)才能發(fā)起一筆交易,七臺(tái)S9螞蟻礦機(jī)就能完成對(duì)IOTA的雙花攻擊。IOTA面臨著一個(gè)選擇:去讓用戶忍受更長(zhǎng)的等待時(shí)間,還是讓攻破IOTA的門檻更低?
IOTA選哪個(gè)?IOTA哪個(gè)都不選,IOTA選擇中心化!
為了解決上述矛盾,IOTA網(wǎng)絡(luò)中要額外使用一個(gè)中心化的Coordinator來(lái)定期的驗(yàn)證DAG和交易。這使得IOTA實(shí)際上變成了一個(gè)中心化的系統(tǒng)。IOTA聲稱,未來(lái)會(huì)取消這個(gè)中心化的 Coordinator。然而,基于上面的計(jì)算,即使網(wǎng)絡(luò)帶寬增加100倍,即使用戶愿意忍受1小時(shí)才能發(fā)一筆交易,700臺(tái)S9礦機(jī)依然能對(duì)IOTA發(fā)起雙花攻擊。與之相對(duì)應(yīng)的是,比特幣的全網(wǎng)算力大約是(50 EHash/s),相當(dāng)于4000000臺(tái)S9礦機(jī)。
給IOTA的建議小C認(rèn)為,擺在IOTA面前兩條路,要么在中心化的道路上繼續(xù)走下去,要么積極推廣PoW外包方案。讓專門的礦工來(lái)處理交易打包、PoW挖礦等事宜,讓用戶為礦工付費(fèi)。摒棄“無(wú)交易費(fèi)、無(wú)區(qū)塊鏈、無(wú)限擴(kuò)展”等這些不負(fù)責(zé)任的言辭。
但是即使IOTA“改過(guò)自新”,接受了小C的建議,IOTA本質(zhì)上還是一個(gè)1個(gè)區(qū)塊只能包1筆交易的區(qū)塊DAG。它違背了系統(tǒng)設(shè)計(jì)中最最通用的一個(gè)常識(shí)性的優(yōu)化思想--batching,就是批量處理。這意味著元數(shù)據(jù)帶來(lái)的開銷會(huì)顯著增加,同時(shí)會(huì)帶來(lái)很多系統(tǒng)實(shí)現(xiàn)上的性能挑戰(zhàn)。比如,當(dāng)區(qū)塊鏈系統(tǒng)的吞吐率達(dá)到每秒幾千筆交易的時(shí)候,網(wǎng)絡(luò)帶寬通常會(huì)成為瓶頸。而交易就是區(qū)塊鏈網(wǎng)絡(luò)中主要需要傳輸?shù)臄?shù)據(jù)。如果每筆交易都附帶許多DAG相關(guān)的元數(shù)據(jù)(例如對(duì)其它DAG結(jié)點(diǎn)的引用),那么對(duì)網(wǎng)絡(luò)帶寬的壓力就會(huì)大大增加。另外,維護(hù)交易粒度的DAG也會(huì)大大增加本地計(jì)算的復(fù)雜度。IOTA的DAG中需要對(duì)每個(gè)交易結(jié)點(diǎn)維護(hù)一個(gè)累計(jì)權(quán)重,也就是所有直接或間接引用了該交易的交易個(gè)數(shù)。當(dāng)一個(gè)新的交易被加入到DAG的尾部,所有它能夠直接或間接引用到的交易的累計(jì)權(quán)重都要需要更新,這個(gè)復(fù)雜度是和交易的個(gè)數(shù)成正比的 。假設(shè)系統(tǒng)的吞吐率是1000TPS,那么系統(tǒng)從剛開始運(yùn)行到1小時(shí)后,DAG中的交易個(gè)數(shù)就會(huì)達(dá)到360萬(wàn)。一天之后就會(huì)達(dá)到8600萬(wàn)。之后每筆新加入的交易都會(huì)帶來(lái)接近1億次的權(quán)重更新,而且這個(gè)復(fù)雜度會(huì)越來(lái)越大。
小C有話說(shuō)我們需要認(rèn)清幾個(gè)事實(shí)。吞吐率有限,是因?yàn)榫W(wǎng)絡(luò)帶寬有限。PoW的難度高,是為了避免輕而易舉地被 51% 攻擊。交易費(fèi)的存在,讓專職礦工來(lái)解決普通用戶的需求。一個(gè)區(qū)塊容納多個(gè)交易的設(shè)計(jì),提高了運(yùn)行的效率。如果看不到這些背后的原理,卻盲目地去掉限速,去掉交易費(fèi),去掉區(qū)塊,然后用一個(gè)漏洞百出的底層技術(shù),去設(shè)計(jì)產(chǎn)品方案,去講一個(gè)所謂天方夜譚的故事,這樣只會(huì)斷送這個(gè)項(xiàng)目的未來(lái)。
(注:如果代幣是增發(fā)的,通脹本質(zhì)上就是持幣者向礦工付服務(wù)費(fèi)。)
歡迎關(guān)注我們的微信公眾號(hào):Conflux中文社區(qū)(Conflux-Chain)
添加微信群管理員 Confluxgroup 回復(fù)“加群”加入 Conflux官方交流群
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/24566.html
摘要:任何人或物聯(lián)網(wǎng)設(shè)備想發(fā)起交易,只需要引用其他兩個(gè)交易就可以了。只要好人的交易總數(shù)足夠多,它就是安全的。要知道,應(yīng)用場(chǎng)景是物聯(lián)網(wǎng)設(shè)備,物聯(lián)網(wǎng)設(shè)備跑真是天才的想法啊。不僅如此,這個(gè)電磁爐還能提高烹飪的安全系數(shù)。 鑒于有不少小伙伴反映,覺(jué)得區(qū)塊鏈技術(shù)圈亂象橫生,魚龍混雜,導(dǎo)致大家很難去辨識(shí)哪些是真正的技術(shù)。甚至有些人,打著說(shuō)技術(shù)的名號(hào),其實(shí)自己本身都沒(méi)弄懂弄明白,只是懂個(gè)皮毛,就開始拿著各種...
摘要:任何人或物聯(lián)網(wǎng)設(shè)備想發(fā)起交易,只需要引用其他兩個(gè)交易就可以了。只要好人的交易總數(shù)足夠多,它就是安全的。要知道,應(yīng)用場(chǎng)景是物聯(lián)網(wǎng)設(shè)備,物聯(lián)網(wǎng)設(shè)備跑真是天才的想法啊。不僅如此,這個(gè)電磁爐還能提高烹飪的安全系數(shù)。 鑒于有不少小伙伴反映,覺(jué)得區(qū)塊鏈技術(shù)圈亂象橫生,魚龍混雜,導(dǎo)致大家很難去辨識(shí)哪些是真正的技術(shù)。甚至有些人,打著說(shuō)技術(shù)的名號(hào),其實(shí)自己本身都沒(méi)弄懂弄明白,只是懂個(gè)皮毛,就開始拿著各種...
摘要:哈希圖實(shí)際上描述了事件在八卦網(wǎng)絡(luò)中傳播的路徑。但是另一方面,這個(gè)機(jī)制也有非常嚴(yán)重的缺點(diǎn)共識(shí)參與者的活躍性問(wèn)題。對(duì)項(xiàng)目的建議小建議項(xiàng)目也不要總拿著銀行級(jí)聯(lián)盟賬本的性能去找比特幣和以太坊等公鏈碰瓷,都不是一個(gè)賽道上有什么好比的。 親愛(ài)的好朋友們:上期小C吐了一下 IOTA。說(shuō)實(shí)話,剛開始小C還有些忐忑,畢竟是小C出道的第一篇文章,文章內(nèi)容也可能會(huì)引起一些激烈的辯論。結(jié)果,有非常多的朋友給了...
閱讀 2285·2021-11-15 11:37
閱讀 2953·2021-09-01 10:41
閱讀 786·2019-12-27 11:58
閱讀 747·2019-08-30 15:54
閱讀 714·2019-08-30 13:52
閱讀 2930·2019-08-29 12:22
閱讀 1074·2019-08-28 18:27
閱讀 1452·2019-08-26 18:42