王峰兩小時閉門對話Polkadot創始人Gavin Wood實錄,帶你瞭解Web 3.0、跨鏈機制、程式設計及“一鍵發鏈”那些事

買賣虛擬貨幣

這是「王峰十問」繼本月初對話MakerDAO創始人Rune談論DeFi之後,又一場與國際知名區塊鏈專案的話題碰撞。

本文旨在傳遞更多市場資訊,不構成任何投資建議。

文 | 王峰十問

9月24日上午,Polkadot(波卡)及WEB3基金會創始人Gavin Wood博士做客“王峰十問”訪談,圍繞Web 3.0、跨鏈機制、程式設計及“一鍵發鏈”等相關話題,與火星財經及共識實驗室發起人王峰在清華大學附近進行對話。二人聊得極為盡興,以致忘記午餐,原計劃的一小時對話也延至兩小時。

Gavin Wood出生於1980年,英國人,英國約克大學電腦科學博士和音樂視覺化博士。2013年加入以太坊團隊,分別編寫了以太坊技術規範“黃皮書”及用於智慧合約設計開發的高階語言Solidity。2014年,發表《去中心化應用:Web3.0是什麼樣子》一文,首次系統闡述了Web3.0的概念。2016年,完成Polkadot白皮書草案,提出“中繼鏈(Relay Chain)”和“平行鏈(Para Chain)”概念。2017年成立了Web3基金會(Web3 Foundation),主要資助Polkadot和與其生態相關的部分專案。

以下為本次現場閉門對話原文:

第一問

王峰:我們為什麼需要Web 3.0?

Gavin Wood:我認為區塊鏈是實現Web 3.0拼圖的關鍵部分,但我不認為它代表全部。如果我們堅持Web 3.0應該是分散式的,認為網路應該自主運轉而不是由某個坐在椅子中間的權威人士指手畫腳,那麼我們就無法繞過這樣一個事實——為了消除權威,我們需要達成什麼?

如果沒有對真相的共同看法,沒有讓不同節點達成某種共識,我們就無法在決定世界經濟的重要細節上達成一致。資產餘額、身份、保險甚至金融合同,其實都不重要,關鍵是人們需要形成某種共識。比如像BitTorrent這樣的分散式內容分發工具,就是在執行Web 3.0的理念。

如果將Web 3.0定義為去中心化網路,那麼我們確實需要以一種去中心化的方式來打造一個信任網路,這可能需要網路中建立分散式的節點,另外還要形成共識,這樣才可能建成。

王峰:我身邊一些網際網路行業資深人士偶爾也會提及Web 3.0,但他們不太相信區塊鏈。你認為區塊鏈是實現Web 3.0的唯一途徑嗎?

Gavin Wood:即便形成了分散式的節點和共識,我們打造出來的也只是“相對真理”,而不是“絕對真理”。但如果沒有區塊鏈提供的共識機制,連“相對真理”都很難打造出來。原因在於,每個人都是一個獨立個體,只對他自己的交易和行為負責。因此他需要一個去中心化組織來輸出一個達成共識的結果。

王峰:所以你認為實現Web 3.0不一定全部透過區塊鏈,但區塊鏈是不可缺少的一部分。

Gavin Wood:我想是這樣。區塊鏈是一種技術,是一種解決特定問題的方法。將來可能有更好的解決方案,但目前,在沒有中心化權威的情況下促成全世界達成共識,區塊鏈是最佳手段。

第二問

王峰:莎士比亞說,一千個人眼中有一千個哈姆雷特,一定意義上,我們今天所談論的Web 3.0很可能就如同哈姆雷特一樣,每個人都有不同的理解。那麼,什麼是你心中那個“完美的哈姆雷特”呢?

Gavin Wood:我認為Web 3.0是一個從必須信任運營者到自己成為運營者的過程。沒有中心,只有邊際。簡而言之,就是“less trust, more truth”。想說明什麼是Web 3.0?這就是一種非常簡單的方式。

人們對於Web 3.0有著不同理解。這個概念在不同人中千差萬別,與權力下放無關。所以,我決定暫時忽略這些。在Polkadot的生態體系中,Web 3.0意味著分散式。分散式也意味著可以減少對它的依賴。

第三問

王峰:從前端來看,今天的Web 3.0和Web 2.0同樣遵循了HTML5的書寫規則以及CSS檔案格式,但實際上,後端的技術思路完全不同。比如你認為Web 3.0時代,瀏覽器會成為“錢包”或“金鑰儲存器”,對應了使用者在網上的資產和身份。

那麼,可否這樣認為,相較於Web 2.0,Web 3.0不僅僅是生物界所說的“自然進化”,更像是遲早要來一場“基因突變”?

Gavin Wood:其實在使用者層面,他們不會特別關注Web 3.0的概念。他們可能更多會留意到使用者體驗的簡化。從Web 1.0到Web 2.0,帶來Facebook、即時通訊軟體、實時遊戲等使用者體驗發生顯著變化的產品。但在後端,改變其實並不大。

不過到了Web 3.0,後端會出現比較顯著的變化,後端開發的變化尤其顯著。過去一些可能無法完成的事情,現在都有辦法實現。當然,這是一個逐步進化的過程,不太可能突然發生。

王峰:如果從這個角度來看,我覺得現在提出的所有Web 3.0概念和它所展現的使用者體驗,其實使用者理解起來都更困難。比如Web 3.0提倡的金鑰和錢包,相較Web 2.0的密碼和賬號,比如郵箱賬號,使用者理解起來還是比較困難的。

Gavin Wood:大規模使用者的參與,只有等到Web 3.0的產品或服務的介面變得非常直觀、非常好用後才會開始。比如說,使用者可以把私鑰存在智慧手錶等可穿戴裝置上,然後透過它與其它裝置互動解鎖。這時使用者理解Web 3.0就會很簡單。

王峰:你認為這個過程大概需要多久?

Gavin Wood:我覺得可能至少需要5年。預測一個比較準確的時間點非常困難,但我覺得未來正在朝著這個方向發展。

類似的事情,中心化組織也可以做。比如說把私鑰儲存在終端裝置上,再用它去解鎖其它裝置。毫無疑問,智慧解鎖的裝置肯定會觸及這些資料。如果中心化組織採用去中心化的做法去儲存資料,監管機構肯定會不滿,因為這樣就沒有辦法監控使用者的記錄。

第四問

王峰:我注意到Web3  Tech  Stack規劃了一整套協議和技術棧,而Polkadot把工作重點放在了其中安全可信的互操作性平臺的設計上。你認為這是Web3技術棧中最核心的元件?

Gavin Wood:我認為它是Web 3.0拼圖的重要部分,但不是中心元素。最終,Web 3.0的實現依賴兩方面發展:一是技術發展,二是互操作性。

Web 3.0依賴於構成它的不同元件相互通話。目前Polkadot正在朝著上述兩方面發展邁進,透過元件隔離來幫助進行。例如在以太坊中,智慧合約的執行效率會因為其執行環境而受到很大限制,但Polkadot的限制則要小很多。

除此之外,Polkadot更廣泛的願景則是透過提供特定的基礎設施(如金鑰儲存)和智慧合約來定義潛在貨幣。我們可以想象各種各樣的潛在用例,它們非常實際和具體。對於Web 3.0,這些都很有必要。

第五問

王峰:讓我們來談談區塊鏈的可開發性(Developability),Substrate的技術路線規劃最初是如何產生的?

Gavin Wood:我很喜歡抽象化模型,感覺規劃Substrate技術路線像經歷了一個抽象化的過程。Substrate有兩點比較重要:第一是模組化,第二是支援重複使用。

在開發Polkadot的過程中,我們開發了很多可以給其他程式設計師使用的功能。Substrate是一個嘗試,它把可重複性推到了極致,很多功能允許開發者抽離出來給別人使用。

儘管我很喜歡抽象化的過程,不過在做其他專案的時候,我也因此遇到了一些矛盾點。例如,我希望在保持可重複使用的同時,同時保證高效能和高效率。在設計Polkadot的過程中,我也在思考如何兼顧這兩點。一方面,我希望保證可重複性,另一方面希望同時兼顧高效能。這是我們在Substrate裡揭示的問題。

王峰:這很有意思,讓我想起了PC應用軟體開發的歷史。回溯應用軟體的發展歷史,例如在DOS時代,哪怕修改一個Config引數檔案,我們都需要到古老的文字編輯環境去。但到了Windows時代,不僅有視覺化環境、有物件導向的程式設計,還有足夠多的程式碼資源庫可以嵌入到開發整合環境裡來,開發變得容易多了。

我之前確實沒有想到,原以為很困難的區塊鏈開發與設計居然還有這樣的方案可以解決,這讓我想起了整個軟體開發歷史。你覺得可以按照這樣的思路去理解嗎?

Gavin Wood:歷史是非常精彩的重演。

王峰:那我也可以去試試看,再去學習寫一個(笑)。我聽說在柏林Web3峰會上,你用30分鐘還是10幾分鐘演示瞭如何用Substrate協議構建可行的區塊鏈。

Gavin Wood:是的,30分鐘。

王峰:還可以更快嗎?(笑)

Gavin Wood:15分鐘。(笑)

王峰:如果是熟練的工程師來寫一個像EOS這樣基於DPoS共識機制的公鏈,你認為需要多長時間?

Gavin Wood:如果你特別牛的話,可能需要3個月時間。不然可能要一年。一個人一年。

王峰:你是指用Substrate嗎?

Gavin Wood:不是用Substrate。用Substrate的話,只需要15分鐘。沒有Substrate之前,你可能需要花費一年時間;有了Substrate,只需要半小時。當然,前提是你是一個擁有一定技術能力的工程師。

王峰:繼續討論這個問題。在以太坊的設計理念中,開發者可以透過掌握ERC20協議和編寫智慧合約來實現“發幣”功能。而今天,在Substrate的設計理念中,開發者可以用簡單的方式構建自己的區塊鏈專案。相比過去以太坊的“一鍵發幣”,Substrate主張的“一鍵發鏈”有何好處?

Gavin Wood:其實它們沒有什麼可比性。但智慧合約和平行鏈還是有一定可比性的。ERC20為部分小型區塊鏈專案解決了遇到的一些問題,比如小型區塊鏈專案沒人用,網路也不太安全,然後因為不安全就更沒有人用……這是一個惡性迴圈。而ERC20的安全性是由以太坊來保證的。

王峰:你認為會有那麼一天,我們看到“萬鏈齊發”的局面嗎?

Gavin Wood:與以太坊所提供的安全性相比,Polkadot和Substrate可以提供更高的自由度。在以太坊上,使用者可以設計智慧合約;而在Polkadot上,使用者不僅可以設計自己的鏈,還可以設計自己的經濟模型,擁有更多探索空間。而這可能之前在以太坊上是無法實現的。這就是兩者之間的區別,和它相比,幣本身是沒有可比性的。

王峰:你應該知道,中國有“鏈圈”和“幣圈”的說法。看來,以太坊之前屬於幣圈,Polkadot現在屬於鏈圈(笑)。

Gavin Wood:關於“鏈”和“幣”,對比以太坊和Polkadot,得承認透過以太坊發一些垃圾幣確實比較容易。哪怕專案沒有什麼太多實際途用,但也可以發幣。但在Polkadot上,情況就有所不同。

在以太坊上發垃圾幣比較容易,但如果想在Polkadot上發一條鏈,你會遇到一些限制——你需要先質押一些代幣,也就是說發無價值的專案需要先付出一定成本。之後發行方會發現這更耗費資源,就不會再嘗試。

當然,Polkadot的平行鏈也可能會被人用來發垃圾幣。但Polkadot本身是為那些有著更復雜邏輯的鏈而設計的。如果你用它來發垃圾幣,其實會發現浪費的是自己的資源,很不值得。

王峰:目前有多少開發者在使用Polkadot測試網去寫自己的平行鏈呢?我是指在中國。

Gavin Wood:在杭州的駭客松活動上,已經有20支團隊在使用Polkadot測試網來開發自己的專案。(Polkadot中國社羣負責人補充:Polkadot目前還未正式測試)

第六問

王峰:你過去對Substrate的智慧合約ink語言介紹不多,是否可以詳細介紹下ink語言以及它和Rust語言的關係?

Gavin Wood:現在還在開發過程中,我不是特別滿意,所以不知道怎麼說。基本上它和Rust是完全一樣的,能用Rust開發環境就能用ink。

我們在設計ink時就希望它可以儘量地接近Rust,這樣使用者就可以直接使用,例如編譯器等等。最初,我們想把ink視為一個完全不同的程式語言,因為在我們看來,寫智慧合約和寫其它的軟體有很大區別。

王峰:完全理解。

Gavin Wood:不過,它跟JavaScript有點像,但並不完全相同。總的來說,在設計相關工具時,我們花了很多時間,最終決定用一個跟Rust非常接近的語言。這樣就能獲得很好的支援,因為很多人在用這種程式語言。

王峰:我猜想,當時以太坊推薦用Solidity這樣類似JavaScript的語言來開發智慧合約,是因為用它來編寫智慧合約可能相對簡單,比做一個Blockchain(區塊鏈)要簡單,所以他們選擇了一種解釋型語言。但實際上,你們選擇的Rust其實是一種更加工程化的語言,一種工程能力更強的語言。進一步說,類似於JavaScript這樣的語言,可能並不能很好地開發複雜的區塊鏈應用。

Gavin Wood:現在是使用了JavaScript的語法,我個人比較熟悉。我如果建立一個新的技術堆疊的話,會讓更多的人熟悉這種語法。

但是這個程式語言的語義,在功能性上跟JavaScript沒有特別大的相似性,只是使用了JavaScript的語法。只要你知道怎麼使用JavaScript,上手速度就會很快。

因此,我們採用了Rust,目的是讓更多開發者使用。如果你本來就會寫JavaScript,而Rust在語法上更像JavaScript,所以開發者使用Rust的難度可以降低很多。

在Rust的基礎上,我們對ink做了一個比較微小的修改。之前,開發者也可以透過Rust寫智慧合約,但這其中有很多重複性工作。現在,我們相當於從這些重複性工作中抽離出來做了一個工具包,方便開發者直接使用,這是ink和Rust的唯一區別——ink更適合寫智慧合約。

王峰:可否在VScode等常用的IDE(整合開發環境)上編寫基於ink的程式嗎?

Gavin Wood:現在就可以用VScode來寫Rust,因為它就是一個Rust,可以在電腦主機裡自己執行(智慧合約)。但是以太坊Solidity是一個新的語言,它執行合約會用到EVM(以太坊虛擬機器),這是很複雜的,因為你不能直接在本地執行,也不能夠支援一些本來就有的環節,例如IDE。

ink就是Rust經過微小改動後的版本。理論上來說,開發者原本的執行環境都還可以用。我最近也贊助了一個開發團隊,他們主要在開發Rust專案。

王峰:Substrate是否提供了類似Remix的以太坊原生開發環境?

Gavin Wood:在VScode上做最佳化就行。因為ink有一些標籤,跟智慧合約相關,所以不需要再開發一個新平臺。

第七問

王峰:在白皮書中,Polkadot將自己稱為可伸縮的“異構多鏈系統”。能否在這裡簡單介紹一下,異構的設計思想和實現跨鏈後的好處呢?

Gavin Wood:與以太坊相比,Polkadot可以為開發者提供更高的自由度。

最初,Polkadot的設計邏輯並沒有直接聯想到互操作性。我們在等以太坊的分片技術推出。但分片一直沒有實現,現在也沒有推出。因此,我想自己做一個擴充套件性更強的“以太坊”,在設計過程中將分片概念推到了一個比較極端的程度,就乾脆不要分片了,設計獨立的鏈就行。

這樣設計的話,不同鏈之間就可以互相傳遞資訊,最終的結果是透過一個共享的共識層面來實現通訊。

王峰:突然想問你一個問題,為什麼基於分片及PoS共識機制的以太坊2.0的研發速度會如此緩慢?Without you?(笑)

Gavin Wood:(笑)不能這麼認為,以太坊應該有他們自己的理由。我認為,這或許是在對沖未來的風險。我在設計Polkadot的過程中,也一直在思考這個問題。造成這種情況的原因在於:

首先,有很多新的底層技術出現,例如一些新的原生密碼學;

其次,在開發的過程中,一方面需要確保技術之後還會被採用,另一方面還要保證專案能跟上行業發展。

因此,Polkadot支援開發者在Polkadot上面發鏈,同時也設計了很多相容其它技術的部分。就像我剛才說的,很多人在等以太坊2.0推出,但一直等不到。所以我決定做Polkadot。

王峰:Cosmos將自己定位為Internet Of Blockchains,業界也常常比較你們。你介意在這裡談談Polkadot和Cosmos各自的優勢和不足嗎?

Gavin Wood:這個問題我不太好回答。Polkadot和Cosmos其實是兩個不同的專案。不過我跟Cosmos創始人Jae Kwon關係很好。你問的這個問題沒有出現在兩個專案的創始人之間,但常常出現在社羣中。如果人們對Polkadot的技術開發沒有什麼信心,就可能會更加關注別的專案。此外,也有某些投資者為了宣傳自己的專案,而說別的專案壞話。

第八問

王峰:按照現在的開發進度,可不可以進一步明確Polkadot主網在什麼時候釋出,是否會像以太坊那樣一推再推?另外,能否請你介紹一些具體的Milestone(里程碑)?

Gavin Wood:我們不可能像以太坊2.0那樣推遲那麼久,幾個部分的共識演算法已經很成熟,而且執行環境十分良好。

王峰:不如你告訴我,最近的一個Milestone(里程碑)什麼時候釋出吧。

Gavin Wood:我們三週前完成了Kusuma測試網的一些測試,可能需要2~3周才能正式公佈。共識協議也還存在一些安全性問題。我們沒有完全想好這些模型,很多時候也需要更多人測試節點,才能夠保證共識的安全性。

另外,我們還在設計一些經濟模型。接下來幾個月我們要做的是給Polkadot上的驗證節點設計一些懲罰措施以防節點作惡,另外還會增加經濟激勵模型。

現在還有一些網路傳輸協議,比如平行鏈。我們開發了一個新的概念,可以把平行鏈劃分的更細一些。因為大家都知道平行鏈上節點是有限的,只有這麼多,所以我就把這個進行細分。

還有一個關鍵節點是我們正在開發的一項功能。它能分為兩條鏈,兩條鏈進行升級時,可以把一部分核心邏輯放到一個特定部分。當涉及到一些重要交易時,可以直接使用這部分參與交易,而不是透過正常的鏈。由於這兩條鏈升級時,這部分核心邏輯沒有發生改變,因此可以保證兩條鏈在升級時,一些重要的交易依舊能夠進行。這是我們下一步要做的事情。

王峰:現在有多少人在從事這些工作呢?我具體指的是這個版本目前的開發人數。

Gavin Wood:只有4~5個人在完全從事Polkadot的工作。Polkadot智慧合約的核心開發者是3個人,剩下的人在做Substrate的開發環境。我們需要編寫的程式碼內容相對比較少,大部分都是做其它部分,比如一些開發環境,一些共識演算法之類。

我認為,30個人每人開發一天,比不上一個人連著開發3天。

王峰:這我想起一個問題,去年Vitalik和我交流時曾提到,他很推崇DAO,一個分散式自治組織。你認同DAO嗎?可是用這樣的方式進行開發,效率會不會比較低?

Gavin Wood:我認為DAO是很好的想法,未來可能會出現很多類似DAO的自發組織,但目前它還存在很多問題,需要透過很多設計才能實現。就目前而言,DAO不太可能有很實際的用處。

另外,我覺得DAO不適合創造一個新東西。說起創造新事物,還是一個人效率更高。進行創造時,一個人的大腦裡擁有所有構思,然後可以把構想的東西做出一個初步框架。這是第一個階段。

第二個階段,也是我們所組建3-5人小團隊。我們每個人都非常清楚對方在想什麼,合作起來完全沒有障礙。我認為10個人的團隊溝通成本已經非常高。在我們把這個東西的主幹創造出來以後,可以讓外部的人再來做一些幫助的事情,之後有幾百人甚至幾千人參與協作。

第九問

王峰:目前的規則是,任何團隊想在Polkadot上面建立平行鏈,需要經過Dot 持有者投票同意,這個做法會不會有點類似於EOS?Polkadot會不會在一定程度上相對遠離去中心化這一思想?它會不會可能變成類似EOS超級節點那樣的大型競賽?業界朋友很擔心這點,希望我詢問這個問題。

Gavin Wood:這也取決於EOS網路中心的想法,我們第一次上線時就出售了70%的Dot代幣。Dot要麼賣了,要麼分散到大家手裡。經過兩次公募,我們開放了60%的市場份額。

我的意思是,儘管你有很多Dot,可以保證你在Polkadot上建立一個平行鏈。但如果你只有一個平行鏈,而鏈上沒有做任何東西,其實對你也沒有任何經濟上的好處。而且Dot本來可以拿去做質押(Stake),質押還會帶來一些其他的用處。但如果你只是把Dot鎖在平行鏈上,這個鏈就沒有任何用處。非但不能從中賺錢,而且相當於你在虧錢。因為別人把Dot質押後,就可以抵抗通脹了。Polkadot網路存在一定的通脹。

所以,我認為Polkadot與EOS不同。EOS超級節點能夠分到更多錢,但Polkadot不是。雖然有些人可以擁有很多Dot,但如果他的平行鏈沒有什麼本質用途,依然賺不到錢。

很多人質疑Polkadot平行鏈的數量有限,可能開始時會有100個、200個,但我們會把每一個平行鏈再分成平行線。比如說平行鏈,我們可以把每一個出塊相當於拍賣出去,因為你可能不需要一整條平行鏈,只需要幾個區塊。另外每個人可以使用一條平行鏈的不同區塊,也可以輪流使用幾個區塊,這樣就可以讓更多人來使用這個平行鏈。

另外,開發者也可以從平行線開始做起,只做幾個區塊。如果做得好就可以轉換成做一整條平行鏈,如果覺得沒必要做平行鏈,也可以只做平行線。

第十問

王峰:你最初的程式設計啟發來自何處?我聽說你7歲開始程式設計,能否談談你在程式設計上的一些體會?

Gavin Wood:當時我家裡條件不太好,一開始在別人的電腦上程式設計。後來我家人花了40美金給我買了臺電腦。這臺電腦上有3個遊戲。後來我玩遊戲玩夠了,就開始學習程式設計。

我在學校學的大部分都是偏理論性的東西,沒有具體學習如何寫一個軟體。在英國讀大學時,只有一部分時間和學習有關,更多時間是在玩。比如我練了跆拳道。

讀碩士時,我研究了一些音樂和神經網路的東西。到了讀博士的時候,則是在研究音樂的視覺化。後來學心理學,我常常會思考社會是怎麼運轉的,覺得程式設計是表達自己一種很好的方式。

王峰:說到音樂,在你學習時,有沒有感覺數學和音樂有很多相通之處?比如音樂有音階、音程和調式轉換,而數學也有很多運算、公式和函式。

Gavin Wood:我特別喜歡電腦遊戲,也看到有人獨自一人開發遊戲持續了7年。所以畢業後,我的第一份工作就是去開發電腦遊戲。我還記得開發第一款遊戲是3D遊戲。

王峰:那時候你用什麼遊戲引擎在做呢?

Gavin Wood:是我自己開發的一個遊戲引擎,叫做“Ordio Engine”(音譯)。我曾經對自己開發的專案撰寫了一篇學術文章,但當時團隊的人不允許發表。所以工作一年後,我就離開了。

由於我認為自己不太適合給別人工作,就開始做一些自由職業,做一些諮詢工作。剛開始我給微軟研究院做一些諮詢工作,同時也在做一些專案,做一些視覺化程式語言。

我還在義大利住了一段時間,在一家學校裡教數學和音樂。真的需要一份工作時,我才會去工作,其它時候更多是在滿足自己的好奇心和享受生活。比如當時我做了一個桌遊。後來,我看到了一篇Vitalik的白皮書,我覺得這個挺有意思,於是就開始參與這方面的事情。

王峰:所以你和Vitalik認識,是先讀了他的以太坊白皮書,是嗎?

Gavin Wood:我和Vitalik在上海認識。一起吃飯時,他還向我介紹了一個Core,比特幣核心開發者。

王峰:你會給正準備入門的區塊鏈開發者們什麼建議?

Gavin Wood:我第一個建議是——遠離數字貨幣,遠離幣市。要認清自己做的事情,不要被正在做的事所限制,要對這個世界有一個比較整體的認知,比如區塊鏈、經濟模型,然後有很多方面的事情可以去做。

最重要的是,你要持懷疑態度去質疑和挑戰現有方式和方法。而且應該用“第一性原理”去理解很多事情。遇到問題時,要自己思考這個事情應該怎麼做,而不是讓別人來告訴你怎麼做。

王峰:這真是一次非常令人愉快的聊天。感謝Gavin Wood的分享,謝謝。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;