為什么很多人認(rèn)為區(qū)塊鏈就是炒幣就是傳銷
掃描二維碼
隨時(shí)隨地手機(jī)看文章
最近就干兩件事情:寫(xiě)代碼,招人。代碼不好寫(xiě),招人很難招。代碼,是花時(shí)間可以干成的事情。招人,招合適的人比較難。想招區(qū)塊鏈里合適的人更難。最近和以前的同事朋友聊區(qū)塊鏈,很多人對(duì)區(qū)塊鏈的認(rèn)識(shí)就是炒幣,傳銷。和他們講,區(qū)塊鏈也是有技術(shù)的,很多人都半信半疑。有點(diǎn)感慨,認(rèn)知真的有區(qū)別,要跨行業(yè),走出自己的舒服區(qū),需要很大的勇氣。之前的同事朋友在技術(shù)上都很優(yōu)秀,但在創(chuàng)業(yè)這件事情上,現(xiàn)實(shí)的壓力都非常大,房貸,穩(wěn)定的收入讓大家都裹步不前。當(dāng)然不是鼓勵(lì)創(chuàng)業(yè),不是每個(gè)人都適合創(chuàng)業(yè),也不是每個(gè)人都需要?jiǎng)?chuàng)業(yè),做自己喜歡做的,活得開(kāi)心就好。只是對(duì)我來(lái)說(shuō),我選擇創(chuàng)業(yè)而已。
一直想寫(xiě)篇文章,講講自己對(duì)區(qū)塊鏈的理解,講講對(duì)區(qū)塊鏈技術(shù)的理解。很多優(yōu)秀的技術(shù)人,對(duì)區(qū)塊鏈技術(shù)即好奇又擔(dān)心。區(qū)塊鏈離錢很近,經(jīng)常和金融的東西混在一起。很多人,簡(jiǎn)單的認(rèn)為區(qū)塊鏈就是炒幣,區(qū)塊鏈就是傳銷。
1. 什么是區(qū)塊鏈?
區(qū)塊鏈?zhǔn)莻€(gè)綜合型跨界交叉學(xué)科,由三大塊組成:P2P網(wǎng)絡(luò)通訊,加密理論以及博弈論組成。P2P網(wǎng)絡(luò)通訊是區(qū)塊鏈的基礎(chǔ)。加密理論,保證賬戶安全,交易安全以及區(qū)塊安全。博弈論,幫助在多個(gè)節(jié)點(diǎn)之間達(dá)成共識(shí)。共識(shí)的算法有很多種:POW,POS,DPOS,BFT,PBFT,LBFT等等。經(jīng)濟(jì)模型,在共識(shí)機(jī)制的基礎(chǔ)上,進(jìn)一步從經(jīng)濟(jì)激勵(lì)的方面,設(shè)計(jì)穩(wěn)定長(zhǎng)久的模型。代幣,是經(jīng)濟(jì)模型的一種展現(xiàn)形式。比特幣的代幣,就是對(duì)轉(zhuǎn)賬支付費(fèi)用,支付給礦工。礦工有利可圖,從而保持穩(wěn)定的比特幣網(wǎng)絡(luò)。以太坊作為世界計(jì)算機(jī),增加了智能合約,提出了GAS模型。轉(zhuǎn)賬或者執(zhí)行智能合約計(jì)算都需要消耗GAS,也就是消耗以太代幣。這些代幣,因?yàn)橛袇⑴c方的博弈,天然的是一種標(biāo)的,也就是“商品”。從而,代幣就有了價(jià)格。
推薦大家看看Bitcoin的源代碼,最少看看《精通比特幣》。能對(duì)比特幣或者區(qū)塊鏈技術(shù)有大致的理解。
2. 區(qū)塊鏈有沒(méi)有價(jià)值?
很多人(了解區(qū)塊鏈的,不了解區(qū)塊鏈的)都會(huì)問(wèn)同樣的問(wèn)題。不同的人,有不同的答案。有些人說(shuō),區(qū)塊鏈的價(jià)值是去中心化,提高效率。有些人說(shuō),區(qū)塊鏈的價(jià)值在于共識(shí),有共識(shí)就有價(jià)值。有些人說(shuō),區(qū)塊鏈沒(méi)有任何價(jià)值,就是騙局。
從技術(shù)人的角度,區(qū)塊鏈的價(jià)值在于區(qū)塊鏈?zhǔn)且环N新的“媒介”。區(qū)塊鏈,作為一種媒介,能讓信息透明,不可篡改。麥克盧漢的《理解媒介》告訴我們,媒介可能會(huì)改變?nèi)撕腿说膮f(xié)同方式。剛開(kāi)始,被區(qū)塊鏈的技術(shù)吸引,因?yàn)閰^(qū)塊鏈作為一種“工具”,能讓更多的人彼此信任協(xié)作。至于,這種新的協(xié)同方式,具體會(huì)發(fā)展到什么形態(tài),還不知道。去中心化,也只是新的一種協(xié)同方式。
區(qū)塊鏈的價(jià)值和代幣的價(jià)格,是兩回事。區(qū)塊鏈的技術(shù)有價(jià)值。代幣的價(jià)格,目前更多是一種標(biāo)的,在目前沒(méi)有監(jiān)管的情況下,和區(qū)塊鏈的價(jià)值幾乎沒(méi)有太多的聯(lián)系。
區(qū)塊鏈,再牛,也只是一種媒介。不需要妖魔化,也不可小看它。沒(méi)有什么技術(shù)是一步到位的,允許它慢慢發(fā)展和演進(jìn)。但也沒(méi)有什么技術(shù)就是最后的形態(tài)。
3. 區(qū)塊鏈的未來(lái)怎樣?
區(qū)塊鏈的未來(lái)怎樣,應(yīng)該沒(méi)有人能現(xiàn)在說(shuō)清楚。未來(lái)需要一步步探索,區(qū)塊鏈本身也是在發(fā)展。去中心化,是否能完全顛覆中心化?我不確定。中心化提供服務(wù),有更好的效率和用戶體驗(yàn)。去中心化,更強(qiáng)調(diào)數(shù)據(jù)的透明安全。未來(lái)可能是一種中心化和去中心化的結(jié)合的模式。
4. 幣圈和幣價(jià)
在區(qū)塊鏈行業(yè)野蠻生長(zhǎng)的這幾年,我自己也無(wú)奈的得出一個(gè)樸素的觀點(diǎn):幣價(jià)和技術(shù)幾乎沒(méi)有關(guān)系。幣,作為一種標(biāo)的,慢慢的變成了炒作。發(fā)現(xiàn)有個(gè)神奇的現(xiàn)象,剛開(kāi)始的時(shí)候,技術(shù)人還有心思辨別,項(xiàng)目方是不是真的是傳銷幣。后來(lái)好像都麻木了,甚至有的時(shí)候,自己也糊涂了,究竟是交易模式的創(chuàng)新,還是傳銷的新變種?,F(xiàn)在都是事后英雄了,成功的項(xiàng)目就是創(chuàng)新,失敗的就是傳銷。
技術(shù)人,看不大懂,這么簡(jiǎn)單粗暴的賺錢方式。甚至有些氣餒,區(qū)塊鏈這個(gè)行業(yè),充斥著這么多“騙人”的把戲,還能好好的做技術(shù)嗎?
5. 區(qū)塊鏈有技術(shù)嗎?
區(qū)塊鏈當(dāng)然有技術(shù),而且區(qū)塊鏈?zhǔn)莻€(gè)復(fù)雜的交叉學(xué)科。先不談,區(qū)塊鏈的人文,社會(huì),經(jīng)濟(jì)方面的技術(shù),我不太專業(yè)。就純粹從計(jì)算機(jī)技術(shù)來(lái)看,區(qū)塊鏈的技術(shù)也非常的龐雜和專業(yè)。
先從編程語(yǔ)言開(kāi)始。2018年,go語(yǔ)言在區(qū)塊鏈流行,幾乎大點(diǎn)的公鏈都是用go進(jìn)行開(kāi)發(fā),確實(shí)簡(jiǎn)潔好用,網(wǎng)絡(luò)處理,命令行處理,都有非常豐富的庫(kù)。2019年,rust語(yǔ)言慢慢流行起來(lái)。Facebook的libra項(xiàng)目全部采用rust語(yǔ)言開(kāi)發(fā)。零知識(shí)證明的一些庫(kù)也是由rust語(yǔ)言開(kāi)發(fā)。Rust語(yǔ)言類型預(yù)先定義,避免安全隱患;數(shù)組定長(zhǎng),防止溢出攻擊。Rust語(yǔ)言有個(gè)新的概念,所有權(quán)(Ownership)的內(nèi)存管理方式。內(nèi)存的所有權(quán)管理方式,能讓編譯器在編譯的時(shí)候檢查。所有權(quán)是管理堆上數(shù)據(jù)。通過(guò)所有權(quán)的設(shè)計(jì),Rust在編譯的時(shí)候,能檢查和避免 數(shù)據(jù)競(jìng)爭(zhēng)情況(多個(gè)地址訪問(wèn)同一數(shù)據(jù),數(shù)據(jù)寫(xiě)入的時(shí)候必須有效等等)。區(qū)塊鏈開(kāi)發(fā),經(jīng)常在多種開(kāi)發(fā)語(yǔ)言之間切換:go,rust,C++,python。有的時(shí)候,代碼開(kāi)發(fā)有點(diǎn)恍惚:變量類型的定義在變量的前面還是后面?表達(dá)式后面需不需要分號(hào)?表達(dá)式后面是否要加冒號(hào)?
數(shù)據(jù)結(jié)構(gòu),區(qū)塊鏈中有兩個(gè)比較重要的數(shù)據(jù)結(jié)構(gòu):Merkle樹(shù)和DAG結(jié)構(gòu)。Merkle樹(shù),通過(guò)葉子節(jié)點(diǎn)兩兩計(jì)算hash結(jié)果,生成上一層的節(jié)點(diǎn),直至樹(shù)根。Merkle樹(shù)數(shù)據(jù)結(jié)構(gòu),有很明顯的好處,葉子節(jié)點(diǎn)的任何改動(dòng),都會(huì)改動(dòng)樹(shù)根。Merkle樹(shù)還有個(gè)優(yōu)點(diǎn),在給定某個(gè)Merkle path,能證明某個(gè)葉子節(jié)點(diǎn)確實(shí)在以某個(gè)樹(shù)根的merkle樹(shù)上。Merkle樹(shù),也有很多變種。以太坊管理賬戶信息(世界狀態(tài)),使用的是MPT樹(shù)。MPT樹(shù)通過(guò)增加或者合并節(jié)點(diǎn),優(yōu)化了Merkle樹(shù)的深度。Merkle樹(shù)一般是兩叉樹(shù),其實(shí)還可以擴(kuò)展為多叉樹(shù)。
DAG,有向無(wú)環(huán)圖。傳統(tǒng)的區(qū)塊鏈(比如,比特幣,以太坊),使用的單序的區(qū)塊鏈接方式,也就是后一個(gè)區(qū)塊依賴前一個(gè)區(qū)塊。這種傳統(tǒng)的區(qū)塊鏈組織方式,限制了交易的性能(TPS)。為了提高TPS,DAG是一種新的區(qū)塊組織的方式。如何在DAG的區(qū)塊結(jié)構(gòu)方式下,確定區(qū)塊/交易的順序,有很多相關(guān)的研究和算法。
虛擬機(jī)和智能合約,虛擬機(jī)是在區(qū)塊鏈上安全執(zhí)行“程序”的環(huán)境。智能合約,就是在虛擬機(jī)中執(zhí)行的程序。不同的公鏈提供了不同類型的虛擬機(jī),比如以太坊的EVM,星云鏈的JVM,EOS的基于WASM的虛擬機(jī)等等。不同的虛擬機(jī)有不同的編程規(guī)范。
共識(shí)算法,共識(shí)算法讓數(shù)據(jù)在一定的網(wǎng)絡(luò)環(huán)境下達(dá)成共識(shí)。最傳統(tǒng)的是BFT/PBFT共識(shí)算法,基于投票以及少數(shù)服從多數(shù)的原則,只要超過(guò)2/3的節(jié)點(diǎn)簽名的數(shù)據(jù)就是達(dá)成共識(shí)的數(shù)據(jù)。PBFT共識(shí)算法,需要有幾個(gè)階段,每個(gè)階段都需要收集超過(guò)2/3的節(jié)點(diǎn)簽名。這種方式,安全可靠,不會(huì)有區(qū)塊分叉,但是效率比較低。PBFT共識(shí)算法的復(fù)雜度是O(N^2)。為了提高共識(shí)算法的性能,提出了其他很多基于BFT思想的共識(shí)算法,比如HoneyBadgerBFT算法,LBFT算法。Algorand也是PBFT算法中的一種變種,先隨機(jī)抽取節(jié)點(diǎn),然后讓這些抽取的節(jié)點(diǎn)用PBFT算法形成共識(shí)。POS/DPOS共識(shí)算法,采用和PBFT算法完全不一樣的共識(shí)原理。POS/DPOS共識(shí)算法,采用誰(shuí)抵押多,誰(shuí)出塊概率高的思想,簡(jiǎn)單粗暴。抵押越多,貢獻(xiàn)越大,也有相應(yīng)的出塊獎(jiǎng)勵(lì)。
加密算法,區(qū)塊鏈中的加密算法比較多。橢圓曲線加密,各種簽名算法(BLS,盲簽,環(huán)簽等等)。
零知識(shí)證明,零知識(shí)證明的理論基礎(chǔ)就更多了:橢圓曲線,大數(shù)計(jì)算,群論,同態(tài)加密,配對(duì)函數(shù),零知識(shí)證明的各種算法(zkSNARK,zkSTARK,BulletProof等等)。零知識(shí)證明的理論可以追溯到1985年。目前有兩個(gè)方向的應(yīng)用:隱私和數(shù)據(jù)壓縮。Zcash就是利用零知識(shí)證明實(shí)現(xiàn)交易隱私,交易的雙方信息以及交易金額只有交易雙方可知。Loopring的去中心化交易協(xié)議3.0,就是利用零知識(shí)證明實(shí)現(xiàn)了鏈下計(jì)算,鏈上驗(yàn)證的思想。Filecoin利用零知識(shí)證明實(shí)現(xiàn)”數(shù)據(jù)的壓縮“,用戶存儲(chǔ)的數(shù)據(jù)(數(shù)據(jù)量很大)不需要直接上鏈,只需要將數(shù)據(jù)證明(數(shù)據(jù)量比較小,幾百個(gè)字節(jié))存儲(chǔ)在鏈上。在零知識(shí)證明技術(shù)之前,區(qū)塊鏈?zhǔn)澜缡菂^(qū)塊鏈?zhǔn)澜?,現(xiàn)實(shí)世界是現(xiàn)實(shí)世界。零知識(shí)證明的技術(shù),提供了一種方式,將現(xiàn)實(shí)世界,部分映射到了區(qū)塊鏈?zhǔn)澜纭?/p>
很多人問(wèn)我,為什么堅(jiān)持做區(qū)塊鏈技術(shù),因?yàn)槲覍?duì)區(qū)塊鏈技術(shù)感興趣。僅此而已。
來(lái)源: 星想法