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