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