理工男的网红生意, 6000万月活50万条日更的背后, 内容链还能这样操作?
記者 | Aholiab
出品 | 區塊鏈大本營(blockchain_camp)
在區塊鏈開發者隊伍中,有一批來自傳統的互聯網開發人員。在區塊鏈圈子里崇尚年輕和「天才」的文化氛圍中,這批開發者因經歷了兩次重大浪潮的洗禮而更加的扎實和沉穩。
戴碩就是其中一位。
戴碩,內容公鏈Contentos首席科學家,清華畢業,中科院碩士,曾在騰訊任職,后又在獵豹移動負責社交產品LiveMe開發工作。對于底層開發和安全的理解更為深入。
正是有了這樣的經歷,戴碩直言區塊鏈的開發入門成本遠高于傳統互聯網,「不建議剛畢業的年輕人直接從事區塊鏈開發」。
作為數字內容公鏈,Contentos主要從圖片、短視頻和直播領域切入,數據類型多樣,給數據存儲帶來了很大的挑戰。此外,面對6000萬月活、100萬全球內容創作者和每天超過50萬條的內容交互,復雜程度甚至超過比特幣和以太坊。
?
在Contentos生態產品Cheez,用戶利用通證COS創作和消費短視頻
直播平臺LiveMe用戶創作的內容可以利用Contentos「上鏈」
那么,戴碩和他的團隊是如何實現這樣的內容公鏈的?作為曾經的傳統互聯網開發者,他對區塊鏈開發又有哪些心得?他又是怎樣理解區塊鏈的一些核心技術的呢?
帶著這些問題,營長近日對內容公鏈Contentos的首席科學家戴碩進行了一次專訪。以下為精華整理。
“應屆畢業生,不建議直接上手區塊鏈”
營長:在做區塊鏈之前,你的經歷是什么?
戴碩:我本科在清華讀計算機專業,后來又在中科院拿了碩士學位。畢業后就開始從事軟件開發和信息安全有關的工作。先在江民殺毒軟件做了很長時間的信息安全,又在騰訊做了一段時間。之后又去了獵豹移動,開始是做「電池醫生」App,屬于工具類應用,后來主要精力全部放在了直播和短視頻類應用的開發工作。
營長:你現在做起區塊鏈的原因是什么?
戴碩:決定從事區塊鏈研究一定不能選擇「跟風」。在我的職業生涯里,很長時間都在做信息安全。我發現,用技術解決安全問題,實際上是無法形成閉環的。這就好像把一個要保護的東西放在保險柜里,然后保險柜的鑰匙放在另外一個柜子里,以此類推,最后一把鑰匙總要交給所謂的“信任”。
我一直有一個心結,就是用技術方案解決信任問題,形成閉環。而區塊鏈之所以吸引我,正是因為它是計算機歷史上,第一次用技術構建了一種被大家公認的信任機制,并且對其他行業產生顛覆重意義。
營長:作為曾經的移動開發者,在你看來,區塊鏈開發與移動開發的不同點有哪些?
戴碩:我們都知道,在移動開發中有一個理念叫「敏捷開發」,即快速試錯,小步快跑。根據用戶的反饋不斷優化。但這一理念放在區塊鏈當中是不可能的。
一款移動App如果一個月不更新一個版本,肯定不是一個好的App。但一條公鏈,且不說一個月,就算是三個月更新一次版本,就沒法用了。所以公鏈最終的交付目標一定是穩定、安全、高性能的,因為版本更新的代價太高了,而且還有分叉的風險。
營長:從移動開發者到區塊鏈開發者,需要學習哪些技能?成長周期大概是多長時間?
戴碩:區塊鏈開發要學的知識比App開發要多得多。首先要學的就是密碼學的知識,之后要學分布式系統原理,包括分布式系統上面的共識原理和技術名詞。此外,如果是做公鏈開發,還涉及存儲的問題,所以也要對數據存儲有所了解。
從我的經驗來看,從一個零基礎成長為一個合格的公鏈開發者,至少要三年左右。所以我不建議沒有任何開發經驗的人或者應屆畢業生直接上手區塊鏈開發,至少要有三年左右的開發經驗,才能比較順暢的入門。
營長:這樣說來,有什么比較好的學習建議嗎?
戴碩:想要做區塊鏈開發,第一步要對一些基本概念有了解,比如區塊鏈是什么?什么是礦工?什么是挖礦?什么是數字代幣等,可以去看一些科普類的文章。
第二,要從實操入手。任何技術都是這樣,你得親手去試。網上有很多項目,比如加密貨幣,可以先試著買一些。另外,像智能合約部署等,要明白實現原理,可以親手試一下。用了一段時間,才能對區塊鏈里的基本概念了解更快。
第三,學習源代碼。很多項目都是開源的,源代碼是最好的學習資料,如果想深入了解區塊鏈開發,至少要研究一下比特幣和EOS的源代碼。一個是PoW,一個是DPoS。通過研究一些源代碼,再配合錢包的使用,智能合約的部署等,結合起來學習,可以更快地了解區塊鏈內部實現的原理。
源于Steem,高于Steem
營長:在內容公鏈中,Steem是繞不開的一個話題,在技術上你們與Steem有哪些不同?
戴碩:剛開始做Contentos這個項目,大家的經驗都不是很豐富,我們看了下,Steemit跟我們的業務重合度較高,而且已經很成熟。所以我們先從Steem的源代碼入手,通過學習人家的源代碼,提升自己的能力。另外,我們也看到了Steem本身的一些欠缺和不足。
營長:能舉個例子嗎?
戴碩:比如Steemit網站的用戶基數不是很大,日活躍用戶只有5萬左右,但我們想做的內容公鏈是遠超過這個量級的項目。通過分析,我們發現Steem現有的技術選型,并不能達到更高量級的要求。因為Steem最大的特點就是單節點的性能決定了整個網絡的性能。
Contentos團隊對Steem公鏈項目的信息統計
我們都知道區塊鏈是一個鏈上所有信息的集合,這個集合是存儲到單機上的,這個本身沒有問題,但問題是它是存儲到內存里的。一臺機器的內存,要存儲這個鏈上所有的東西。這樣做的好處就是快(內存肯定比硬盤要快,比網絡也要快),但是缺點也很明顯,就是天花板太低了。
如果要接入百萬PV的網站,上面所有的操作都要入到我們的狀態數據庫里面,按照Steem現在運行的狀況,如果它的訪問量乘以100,那1~2T的內存可以供多長時間?答案就是三個月以內。
如果使用Steem的技術選型,結局注定是失敗的。
我們也去研究了一些其他的替代方案,比如以太坊,發現行不通。因為以太坊的數據模型是比較簡單的,本質上只存儲賬戶信息。但我們要做的業務類型可能有幾十種上百種邏輯上的數據類型彼此交互。
所以現有的技術方案,根本無法滿足我們的業務需求,我們只好自己重新做了一套存儲方案。
營長:能具體說一下這個存儲方案的實現機制嗎?
戴碩:首先內存型的數據庫被我們pass掉了,不能用內存的,我們只好用基于硬盤的。同時,我們也采用了可插拔技術,為今后的多機方案作準備,比如在測試網和主網上線之后,仍然使用單機數據庫。在不修改代碼只修改配置文件的情況下,把單機數據庫直接遷移到一個分布式的存儲網絡上。
Contentos數據存儲方案架構
另一方面,我們本質上用的是K-V存儲數據庫,但在業務邏輯上是一種關系型數據庫的需求。因為我們的數據類型很多,彼此間有千絲萬縷的聯系。所以,我們在K-V數據存儲上面直接做了一層類似于關系型數據的中間層的實現。
共識算法設計的兩大原則
營長:Contentos的共識算法是DPoS+saBFT,這種設計是出于哪些原則?
戴碩:所謂共識算法,實際上可以理解為分布式網絡上各個獨立節點之間彼此通訊的一套規則。所有好的節點都會按照這套規則去操作;惡意節點則相反。
因此,規則的制定,要遵循共識算法的兩個特性:安全性和可用性。
安全性是在有拜占庭節點(惡意節點)的情況下,好的節點要么達成共識yes,要么達成共識no。不能一個說yes一個說no,這樣就發生了分叉。
可用性是指,在理論上可以達成共識的情況下,一定可以達成共識。不能說因為惡意節點的存在,就造成了好的節點不知所措,結果被鎖死在某個狀態而無法達成共識。無法做到這兩點的很難稱為合格的算法。
營長:那么,DPoS和saBFT兩種共識算法的作用分別是什么?以及saBFT和BFT的區別是什么?
戴碩:簡單來說,DPoS決定了由誰來出塊,saBFT決定了出的塊是否有效。與BFT算法相比,saBFT是異步處理,它無需向BFT那樣出一個塊大家進行投票,通過后再出一個。它的處理方式是一邊出塊,一邊確認。
舉個例子,我連續出100個塊,但在第90個塊的時候網絡條件出現了抖動,造成共識速度落后于出塊的速度,中間差了10個塊。saBFT可以跳過第91個塊,直接對第100個塊進行確認。
因為一個塊是一個鏈式結構,你對靠后的塊的確認,實際上間接的確認了這個塊之前的所有連接點。也就是說,等于一下子把90-100之間的全確認了。
saBFT算法實現原理
營長:在眾多共識算法中,為什么選擇了這種模式?
戴碩:從行業發展的角度,區塊鏈行業將來一定是多鏈協作的模式,而多鏈協作的本質就是鏈上數據的共享。但目前困擾區塊鏈行業的一個痛點就是「交易確認時間」。很可惜,基于PoW的交易確認時間是無窮的。
還有一個致命的概念叫「相對安全時間」,也就是說你在比特幣和以太坊上完成了一筆交易,一段時間后,如果這筆交易沒有被逆轉,它就「相對安全」了,但這并不是百分之百的。
如果這種模式發生在多鏈數據共享中,一旦有一筆「相對安全」的數據被回滾,就會引發雪崩效應,給所有協作的節點帶來災難。
所以,我們在選擇共識算法的時候,首先考慮的是以最快的速度達到100%確認的狀態。目前,我們的平均確認時間是1秒以內,已經完全接近中心化網站或移動應用的交易確認時間了。
“區塊鏈,往大了說是會造福全人類的”
營長:你如何定義「內容公鏈」?
戴碩:其實,沒有一個非常嚴格的定義。我覺得,內容公鏈應該是一個基礎設施平臺,可以承接所有形式的數字內容,包括文章、圖片、音樂、視頻等信息。當然,這個基于區塊鏈技術開發的開放內容平臺,打破了現有中心化內容平臺的信息隔閡,為價值內容交易提供一條高速通道。
營長:去中心化的內容平臺與中心化的內容平臺區別是什么?
戴碩:去中心化的內容平臺更加公平透明,它打破了公司制中心化內容平臺的霸權,從而回歸價值于內容創作者。因此,特別吸引中長尾的創作者。
如果一個視頻創作新手想要在中心化的平臺上獲得粉絲關注,這基本上是很難的。對于中心化平臺而言,中長尾創作者不能更好地帶給他們商業利益,也根本得不到平臺分發過來的流量。但基于區塊鏈技術的內容平臺,把內容的價值回歸給了用戶自己,我們要做的是把決定權回歸給用戶。
營長:除了內容公鏈外,你還看好哪些區塊鏈應用方向?
戴碩:還看好區塊鏈金融相關,比如區塊鏈發票、白條。還有存證相關的,法院可以接受的憑證。最后是游戲。
營長:最后,跟區塊鏈大本營(blockchain_camp)的讀者說幾句話吧?
戴碩:從我個人來講非常相信區塊鏈有一個非常美好的未來,原因我說了,大家公認的這種信任,信任是整個人類社會合作發展的一個最重要的技術。而且我也算是一種信仰,我相信區塊鏈的未來是非常美好的。人一旦有了信仰,就可以抗住很多的困難和壓力,也不容易輕易的放棄。
我覺得如果作為區塊鏈的創業者或從業者,如果沒有這個信仰支撐,我覺得就不要做了。因為沒有信仰的人,看有信仰的人覺得像傻子一樣;但是沒有信仰的人,在遇到困難和挫折的時候,一定比較容易退卻。
所以我希望那些對區塊鏈的未來同樣有信心的人,可以一起努力。像區塊鏈這樣的技術革命,實際上也不常發生。我們能夠在年富力強的時候進入這個行業,趕上這個技術革新,也是非常幸運的一件事情,希望大家通過自己的努力,能夠推動這個事業的發展。
這個事業往大了說,是會造福全人類的。
技術架構?|?應用架構?|?安全?|?隱私
推薦閱讀:
要錢還是要命? 比特幣正悄悄殺死你...
大學生利用漏洞“騙走”京東110萬, 中心化白條的漏洞, 區塊鏈能否補得上?
好萊塢大片! 為躲避死亡威脅, 只用15步, 這個密碼朋克大叔就從世界"消失"了...
前阿里 P9 級員工稱離婚是模擬測試,已回滾復婚!
淘寶、飛豬、閑魚都掛了,阿里云卻正常?!
剛剛,數學界“諾獎”Abel Prize迎來首位女性得主
沒有新芯片,沒有大核彈,黃教主這次給大家帶來了個PRADA
曝光!月薪 5 萬的程序員面試題:73% 人都做錯,你敢試嗎?
猛戳"閱讀原文"有驚喜喲!
老鐵在看了嗎??
總結
以上是生活随笔為你收集整理的理工男的网红生意, 6000万月活50万条日更的背后, 内容链还能这样操作?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bert预训练新法则!
- 下一篇: 平面设计自学能学会吗?学习平面设需要学多