當前位置:
首頁 > 最新 > 70後開發人員是如何解讀區塊鏈的?在閱讀源代碼後的得出的結論

70後開發人員是如何解讀區塊鏈的?在閱讀源代碼後的得出的結論

由於本人是軟體開發人員,所以對技術向來有一種天然的興趣,對於全新的技術總有一種想了解的本能,因此在區塊鏈如此火爆的當下,沒有道理會錯過,於是本人花了接近一個月好好的研究了一下,從最初的基本概念開始到核心源代碼的閱讀,心情也是在不斷地切換,在興奮、期望、失望、興奮、期待這樣的不斷起伏的心情中度過的。為免情緒過於影響表達,本文是在冷靜之後的幾天寫就的,將在學習過程的一些心得整理一下,目的不在於推廣區塊鏈,因為人輕言微,我寫的總沒多少人看,只是算是對自己花了近一個月的時間有個總結交待一下吧。

一、什麼是區塊鏈

什麼是區塊鏈?就是一種公共賬本,主要體現在兩方面,一是賬本的不可篡改,二是交易的自由性。人人手中的賬本都是不可以更改的,透明的,同時參與的人能自由方便的交換,比如比特幣,以太幣等。

區塊鏈的各種數據存儲應用,基於的還只是一種保存功能,這種保存想代替傳統的現實紙質的物件,顯然是很困難的。一句話,區塊鏈可以確保你保存的數據是沒有修改,除此之外,它是不是真的,是不是有效,那是區塊鏈無法解決的事情。如果只是一種加密存儲,那完全就是一個ipfs了,一個可信任的存儲系統,除此之外,與交易、仲裁都無關。

區塊鏈就像一台世界電腦的存儲系統,以太坊就是基於存儲系統的操作系統,而智能合約就是編程環境,你寫一個代碼,操作系統自動幫你運行並保存數據,這和傳統的軟體開發其實可以是一樣的。

和傳統的開發區別在於,你寫下的代碼一旦提交是無法再改變,連自己也沒法改變,裡面運行的數據別人無法改變,只能通過代碼本身的介面來改變。

換句話說,其實代碼就是合同文本,合同最終就是分配資源的問題,用代碼的形式解釋合同文本,就不會有因人解讀文本的歧義而影響合同的執行,再簡單的來說,智能合同可以無歧義解釋合同,當然,至於如何根據合同在現實中的執行,智能合同是沒有辦法的。比如合同說,你要付500萬給對方,你不付,那這個智能合約是沒有辦法的。

這種模式的目的就是顯示一種公平性,即一旦寫好代碼規則,神仙也沒法改變。

是真的沒法改變,代碼實際是保存在所有參與以太訪的電腦中,它們都在幫你保存,都幫你計算,當然,你要花一些費用。你要改變,就要說服所有電腦中的一半電腦,這是幾乎是很難發生的。

比特幣就是一個無人可控的保險柜,只要你放進去,就沒人能改變他,這個保險柜只能保存比特幣,你只能告訴保險柜,把裡面的比特幣轉到別的柜子。

保險柜無人能破壞,只要你正確指令,它就肯定能幫你實現。

如果保險柜除了錢,還可以保存其它東西,只要你放得進去,保險柜不理你放了什麼,當然也沒有人能暴力或其它方式去打開來看。別人能看你放的東西的唯一條件是你的密碼被人知道了。

這種保險柜就是以太坊,這種保險柜除了存放東西外,還能幫處理東西,比如比較、分配、計算等等工作。

傳統的最安全的保險柜是放在銀行,可是裡面有工作人員,可能不可信,也有可能搶劫、地震、火災等等、政府想要進入也是很正常,而區塊鏈的技術可以保證不受到這些方式的破壞。

如果有這樣的保險柜你覺得會受歡迎嗎?

二、區塊鏈能解決的問題

人類活動首先是合作問題,合作產生獵物,進而產生分配問題,如何分配資源直接體現了社會結構,隨著人類活動的發展,慢慢開始交易,以貨易貨,交易最初是單對單,一手交貨,另一手交另一種貨。

後來發展一種貨幣,其實就是第三方仲裁,藉助第三方力量接決交易問題,以貨易貨轉變為一手交錢,一手交貨,貨幣也就是解決「交錢的問題」,交貨的信任也需要引進第三方,如專業市場。

淘寶的交易首先是生產者和需求者信息的交流,這個前提是馬雲燒錢燒到人人皆知的結果,然後用支付寶解決「一手交錢」的問題,「一手交貨」這個問題則是淘寶平台解決的,交易者通過投訴可以叫平台的客服進行仲裁。

區塊鏈解決的是「一手交錢」的問題,並且實現了單對單的信任問題,不需要第三方,其實它本身就是貨幣吧,但不用擔心會有假的貨幣。

交易的另一個方面,就是「一手交貨」的問題,其實區塊鏈是無解的,這不是區塊鏈所能解決的問題。通俗的來理解,區塊鏈解決了支付問題,就像淘寶的支付寶,但是如淘寶客服的仲裁,區塊鏈是沒有辦法的。

所以,期望區塊鏈來解決交易問題,顯然是不現實的。

如本節開頭說的,人類先有分配,才有交換,交易,也就是說分配與交易,是人類活動的最基本的兩種形式,其實在交易過程中,分配也是重要的,比如都要交易,選誰來做為交易,這本質上也是分配問題,就是分配交易對像,然後再交易。

分配資源,也是人類重要的資料交流方式,那麼區塊鏈是否可以解決分配問題呢?

在交易過程中,需要對錢和貨分別評估,這是兩方面的問題,而分配,其實是不存在評估問題,在未確定分配方案時先確定分配規則,然後再想辦法分配。這其實不需要第三方來仲裁。

比如交易一包玉米,肯定要評估玉米的質量,而分配,重要的是分配規則,評估不是重要的。不過如何分,可能有些堆好一些,有些堆差一些,這也不可能絕對的公平。關鍵是如何來分配。可以給分堆的玉米進行編號再分配。

區塊鏈可以實現公平的分配玉米堆的編號,因為這種分配是去中心化的,因此沒有人能在其中作弊,影響到別人的利益,就如分玉米,也許每個人到手的玉米是有差別的,但是這是最公平的,並且沒人能左右的分配,也會得到更多的人贊同。

其實交易和分配,還是離不開第三方中介,區塊鏈需然聲稱不需要第三方中介,但它自身也是一個中介,只是這個中介更為可靠,更為可信。

當然這種可靠與可信,是科技換來的,沒有超強的計算能力,區塊鏈的解決方案就是沒有辦法實現的,是先進的技術,讓我們可以借用計算來解決信任與公平問題。

重要的不是有沒有中介,重要的是可實現的公平與信任,隨著計算能力的發展,解決信任與公平的問題的成本就會越來越小,從這個角度來看,區塊鏈將會代替傳統的第三方中介,因為傳統的第三方中介的可信任度和公平度是沒法和區塊鏈這種方式來比較的,只要區塊鏈的使用成本更低時,自然就能代替傳統的中介了。成為人類活動新的中介。

區塊鏈本質是參與人員的意見表達機制,說白了也不過是遵循少數服從多數的處事原則,如同在一間屋子,每個人的看法都被記錄與統計,形成真正的民主,對每一件事,每一個看法,都能記錄與統計。人數少時,這個方法是可行的,如果人數多了,這個方法就沒法行得通,因為這種記錄與統計的計算量太大,並且其中的交流也是巨大的,現實的人類根本沒法實現,而區塊鏈運用了科技,讓這些計算變得可以實現,其實我們人類採用的還是最原始的解決方案,只不過是傳統的方法用數字實現了罷。

從這個角度來看區塊鏈,就不會覺得區塊鏈是高大上了,回到分配的問題,用區塊鏈的方法實現分配,也只不過是現實中的抓鬮而已,只是計算機讓更多的人能夠以更公平的方式來實現。

區塊鏈的精神是以人本惡為出發點的,就是假設一個人,如果他是壞人,他會對系統有沒有辦法破壞,中心化的系統,相關的人員如果他是壞人,對系統就能夠破壞,而區塊鏈中,如果你是壞人,對系統是沒法破壞的,除非你能聯合超過一半的人,其實你能聯合一半的人,你就能無所不能了。破壞系統這樣的小目標就沒意思了。

三、區塊鏈在中國的發展模式

區塊鏈同時體現了群體行為的兩面性,即一方面體現了人們的力量是偉大的,群眾的眼睛是雪亮的,人們相信自發的組織力量能夠建立一種互信機制。然後這種機制帶來的公平公正卻引發了另一個反面,即貪婪的人性,使得人們充分利用這種公正而進行交易,對於「任信」的炒作,哄抬了其中的價值,從而引發無盡的炒作,這種炒作卻又嚴重地影響著這種體系的運行。

打開窗子,新空氣進來了,但是蒼蠅也要進來的,也許窗子還能有窗紗,因為傳統的窗子是有限的,中心化、可控的,而現在的窗子則是無處不在的,即窗子無處不在,蒼蠅因此也無處不在了。這是這種區塊鏈先天的基因決定了的。

區塊鏈的兩個特性,交易與不可篡改,在國內都是很難實現的,容易交易,必然產生炒作的可能性,這是國家的要管控的,目前國家已經限制了這類區塊鏈幣種了。

至於不可篡改,任何區塊鏈,除非只是數字,一旦涉及到圖文,那就會涉及到內容的合法性,其實這個問題在國外也是一樣的,有報道說,在區塊鏈中已經發現了一些違法的內容,至於什麼違法的,這要看什麼國家了,不管如何,一旦裡面出現了違法的內容,那麼理論上每個讀取過的節點都是違法了的,不管你是否看過,而更可怕的在於,這個可怕的違法的內容是永遠在那裡,是無法刪除的,除非你徵得51%以上的計算機同時你的修改,這種可能性極小。

我看過很多國內的區塊鏈方案,很多都涉及到文字與圖片的保存,號稱如何的保證不可篡改,可是就是沒有人說明一旦涉及違法內容,你如何處理?在中心化的世界裡,所有違法數據都是可控的,在區塊鏈里,所有信息可真是不可刪除的。所以如果這個問題沒有解決,國家肯定要管控的,以前中心化時代,數據規模不大,國家不會理你,一時有規模了,國家就會來找你進行用戶的管控的,而區塊鏈如果規模大了,那就很難管控了,所以國家可能在數據規模很小時就要提前介入管控了。

任何企圖可以自由交易有價值數字的區塊鏈系統,在中國都是不合時宜的,因為有交易就會引起炒作,這是不適合中國國情的。

不可篡改,如果存儲了違法信息,卻不能刪掉,國家是不可能讓你搞的,bt下載就是去中心化的文件交換,早被禁了。

自由交易和不可篡改都沒法利用,區塊鏈只能用於執行數字了。

那麼在國內,應如何利用區塊鏈這種技術呢?總的來說,我覺得應把區塊鏈理解為有限去中心化的技術。

首先是自由交易問題,應去掉可以自由交易的方式,所以只能用充值/提現方式。即在區塊鏈中,借用gas(費用)這個理論,實現費用的收取,然後有個中心負責這種幣種的分發與兌現,即有一個中心,所有人只能和這個中心進行交易,其他人之間是不能交易的,如果要運行程序,就只能先從中心點去兌換幣值,挖礦的人將挖到的幣去找中心點兌換出現金來,說到底,是有中間機構為幣種保值的。

只有通過這種方式,才能控制住人們的炒作,又能利用電子貨幣自由流通的屬性,有人會問,能不能取消這種幣值的存在呢?

其實我曾經想設計一種無幣值的點對點的計算模式,區塊鏈不就是提供賬本和計算嗎?我能不能先實現只要計算,而沒有存儲的,每個參與點貢獻計算力,不需要存儲,這樣的系統只注重的計算的結果,其目的就是用來計算,比如對於投票的統計、資源的分配等等。

結果等我一通設計下來,去掉了中心的賬本,去掉了貨幣的存在,感覺很不錯,洋洋得意之時,突然想到DDos攻擊問題,即假若有人惡意破壞網路,有大量的計算機向這種網路節點發送交易任務,將會讓整個網路癱瘓掉。

想想比特幣、以太坊,它們為什麼沒有這樣的問題?多年的運行已經證明,發動DDos進攻,是需要花費成本的,就是每次交換是有價值存在的,比特幣中,你得要轉移比特幣、以太坊中要消耗gas,都是真金白銀,沒有人願意花這種費用做這種攻擊的。

如果沒有了幣,那攻擊就會變得沒有成本,那這種攻擊可能就隨時可能發生。所以幣值的存在,也是區塊鏈生存的根本。

有些號稱免費的區塊鏈,不知道是如何解決這個問題的,本人想像力有限,也實在是想不出有何良策。

其次是存儲的問題,之前就說過,不能存放文字圖片,只能存放數字。存儲的形式是非常有限的。

有了上面兩個基本觀點,我認為在中國只能發展叫有限去中心化的區塊鏈模式。

四、區塊鏈在中國的具體應用模式

那麼,在國內,區塊鏈能做些什麼呢?我認為主要能做的是下面的事。

第一個就是資源的存儲,但是這種存儲一定是半中心化的,即在上鏈之前,需要有嚴格的審核方式,不是誰都能輕易發起上鏈的,這種模式也將極大的限制了區塊鏈的應用。

運用這種存儲機制,可以保存證據,以達到公平公正的依據。

第二個,區塊鏈對於資源的分配,是有極大的優勢的。這一點倒是特別適合於中國,因為國內從上到下,是需要經常進行資源分配的,如何公平的分配資源,是很重要的。

如何來實現資源的分配呢?首先採用充值/兌換模式解決運行價值問題,然後通過智能合同,計算代表資源的數據,這裡不存在文字問題,理論上,這個智能合同可以只保存數字資源,然後對這個資源進行分配。

舉個例子,火車票區塊鏈,由火車票發布區塊鏈標準,開源代碼,然後統一發布資源。將所有的資源打包統一編號,然後廣播到節點上,所有節點都可以提供自己的介面,並上傳競標信息,然後提指定時間期限來執行智能合同,任一節點都可以觸發。從而形成公平的競標。

又比位學位派發,對於當前所採用的電腦派位,誰不心裡打鼓?因為理論上所有的軟體代碼都是有人在控制,只要是運行在一個中心伺服器的,都不能保證裡面相關人員不做手腳,如果採用區塊鏈技術,可將學位資源上鏈,然後再將學生信息上鏈,這樣通過特定的智能合同執行分配。

這種智能合同是可以公開討論的,可以提供公布代碼,以確保這種公平公正性。

還有就是投票應用,運用區塊鏈將候選人、選民放在裡面,通過智能合同的統計計算,統計出結果,這是一種更公正的方法。

還有抽獎等等,凡是涉及到資源分配的,理論上都是可以實現的。

第三個,區塊鏈的智能合約,將合同用代碼的形式來表達,即在組織與組織之間的合同,通過建一個代碼腳本,再通過輸入參數,進而運算出結果。這種運算其實也是一種資源的分配,合同其實就是分配資源的一種方式嘛。

比如某單位和另一個單位寫下了文本合同,就項目進展過程中具體的條款寫下了文字描述,但是對於文字的理解也會因人而異的,而智能合約則可以解決這個問題,在擬定合同的時候,要將細節設計好,比如要付500萬,必定是需要很多條件,在不同的條件中產生不同的價值分配,當兩者有爭議時,我們可以取出智能合約,輸入相應的參數就可以根據執行的結果,來確定對這500萬的分配。

換句話說,用執行的腳本來代替對合同的理解,而不再會因為人的理解而造成合同的偏差,所以以前訂合同要請律師,以後訂合同,就要請程序員了。

以上談的是是公鏈,其實還有聯盟鏈、私鏈,區別在於訪問這個鏈的參與者不同,但不管如何,原則上與公鏈一樣,那就是不能自由交易,不能保存無法刪除的不可控的文字和圖片。

五、軟體開發問題、組織問題

理論上,區塊鏈是一個共識機制,這意味著這種參與者必須是透明的,也就是說,這種運行的代碼必須是開源代碼,所謂開源代碼,就是代碼都是可見的,每個人可以編譯並執行自己編譯的程序,也意味著每個人都可以修改其中的代碼並運行,現在機制下,可以做到不管如何修改代碼,只要這些修改代碼的人沒有超過51%,那這種修改是沒有意義的,反而浪費自己的算力。

所以,至少參與的人,必須是需要知道代碼的,如果一個區塊鏈項目,代碼沒有開源,那麼那麼運行他的程序的節點都是不透明的,相當於你把他的代理人裝到了自己的節點上,要代表這個所有人執行命令了。相當於系統開發商控制了整個網路。這種區塊鏈怎麼可行呢?

比如在以太坊中,曾經因為在其平台上運行的theDAO發幣,存在漏洞,需要進行修改,這種修改是直接體現在代碼上的,我在閱讀代碼的過程中,就發現有多處出現theDAO的相關代碼,就是用於處理一旦碰見了這個問題,節點應如何處理,這些處理方法都是開源代碼里寫的,每個人都可以閱讀,如果節點的負責人認可這種解決方案,他就會運行這個程序,相當於支持這種代碼的決定,事實上區塊鏈也就是通過這種機制來實現數據的更改的。

既然是開源代碼,這個風氣在國內不算很好,只有大公司會有這種風氣,對於很多的創新或是中小企業比較難面對這個問題,因為開源代碼的收益模式是不同的,如何利用開源代碼來實現自己的收益,這個問題很難解決。

所以那怕你看到某種商機,並且參與的人都能獲得很大的好處,可是問題在於,你這個當初的設計者,竟然無法獲得收入,除了名聲,就像比特幣的創造者中本聰,他並沒有得到多大的好處。

當然,以太坊採用創新的模式,倒是發了一筆,不管如何,當初他在開發這個以太坊平台時,也是根據興趣,並懷著改變社會的「偉大理想」情況下開發的。

想學以太坊的模式發幣賺錢,至少在國內是沒有希望了,做一件對人類有貢獻但自己沒有收益的事情,也不知多少公司會有這樣的動力。

作為一個項目,應如何來應用區塊鏈呢?比如我現在做的二維碼巡更巡檢系統,它是一種平台化的標籤貼紙,提供一種現成的二維碼不幹膠,貼在巡更點或是設備上,可以進行簽到和巡檢記錄登記。

我們的雲可貼二維碼可以用手機掃碼後,能隨便輸入信息,數據存儲在我們的阿里雲數據平台上,有用戶會擔心我們平台數據是否穩定,如果不考慮保密問題,至少要保證它的穩定性。區塊鏈不是去中間化嗎?不是能夠實現永遠存儲嗎?這也是我一開始就努力想學習區塊鏈的根本動力來源。

可惜經過研究發現,區塊鏈並不能被我們利用起來,就算我們採用充值/提現的模式解決幣種問題,也通過了事先嚴格審核問題,都上鏈了,可是還是需要網站介面來對接,因為用戶並不可能直接上鏈查看數據,還是需要一定的格式來展示信息,第二個就是關於數據的運行費用問題,每一次的修改都是需要費用,至於為什麼,之前說過,區塊鏈需要這種模式來 防止攻擊,這樣算下來,用戶的使用費用是比較高的,我們現在是一個二維碼一年1000條記錄0.3元,上鏈之後,我相信這個價格是不可能實現的。另外,對於數據的查詢、統計,在速度上也是無法與現行系統比較的。所以區塊鏈在我們這種系統中,完全沒有作用。

而我們現存的中心化模式,數據本身有阿里雲通過雲操作系統保障了數據的穩定性,另外我們還用快照的方式,定期自動備份,一時出現問題,可以隨時還原回去,對於一般的巡檢巡更數據,完全足夠用了。

所以對於區塊鏈如何運用,還是需要結合自身的業務特點。

六、如何理解當下火熱的社會現像

雖然很多人能夠理性的看待區塊鏈,但是還是有太多人被火熱的氣氛感染了,國內有越來越多的投資公司,他們有大把的錢,炒股早沒戲了,房子看來情形不妙,手中有錢不知如何生財,因些需要一些「金融」活動,這也是市場經濟的主要體現。

這些熱錢其實還是有不少真金白銀地做了實事的,至少一部分的資金是用來真的做事的,只是很多人在些中間也損失了很多,商業社會,高風險高收益,自古以來的道理了。

總有一些投資者能夠希望自己發現一些風口,比如智能手機、3D列印、人工智慧等等,這些投資者會建立自己的一些項目,不管是否真實是想做些什麼,總之是把它推出去,讓越多的人知道越好,等很多人都參與進來了,這些投資人就會抽資了,把手中的項目賣出去賺錢,而被套進去的,就是後知後覺的跟隨著了,這種事情以前一直用,以後也會一直有。

所以,不是區塊鏈火熱,也不是新技術火熱,而只是投資者造勢罷了,不過這是市場的活動規律,總體來看,這種方式是有利於社會發展的,因為有了這些熱錢的存在,還是有相當一部分錢投入了真正的做事當中的,想像一下,如果沒有這些熱錢,那很多事情的啟動資金都不會有了。

只是作為個人,要非常明確注意這種高風險,也要明確所投項目是否可行,至少在理論上是否可行,當然理論上可行也不一定能做成,但理論上不可行的,絕對成不了。

七、展望

目前很多人看好區塊鏈在供應鏈的應用,雖然區塊鏈天然的地支持流轉,但只是一種體現,在我看來,供應鏈系統更多在於企業間的配合,對於目前單在企業內部實施ERP尚非常難的環境下,實現在多企業聯盟的信息化系統,也肯定會是更難的,技術從來不是問題,如何合作才是最大的問題。

對於區塊鏈的應用,長期來看,我還是很看好的,但是短期很難有大的價值體現,長期來看,對於政府的資源分配,將會起到很大的作用,將給政府帶來更公平的分配方式。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 多說吧 的精彩文章:

TAG:多說吧 |