Don't Trust, Verify

這篇文章試圖討論全節(jié)點(diǎn)對(duì)于區(qū)塊鏈的意義。

角色

我們都知道,區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)有不同的角色蚤假。例如:

出塊節(jié)點(diǎn)

出塊節(jié)點(diǎn)負(fù)責(zé)打包交易,生產(chǎn)區(qū)塊吧兔。出塊節(jié)點(diǎn)在不同的地方有不同的名字磷仰,例如比特幣和以太坊中的礦工/礦池,Bitshares的Delegator境蔼,EOS的Producer, Cardarno的Stakeholder灶平,Tendermint和Casper中的Validator伺通,以及CITA中的共識(shí)節(jié)點(diǎn)等等。 在這些網(wǎng)絡(luò)中逢享,出塊節(jié)點(diǎn)的角色往往與全節(jié)點(diǎn)角色重合罐监。最接近純粹出塊節(jié)點(diǎn)的例子應(yīng)該是使用getblocktemplate協(xié)議參與挖礦的比特幣礦機(jī),他們不驗(yàn)證區(qū)塊瞒爬,但是擁有選擇交易打包和封裝完整區(qū)塊的權(quán)力弓柱。

出塊節(jié)點(diǎn)相對(duì)于其他節(jié)點(diǎn)往往需要付出更多的資源,包括算力(無(wú)論是用于PoW還是用于交易計(jì)算)侧但,磁盤(pán)矢空,網(wǎng)絡(luò)帶寬等等。這些資源要求抬高了出塊節(jié)點(diǎn)的門(mén)檻禀横,容易造成出塊節(jié)點(diǎn)分布的中心化妇多。

全節(jié)點(diǎn)

區(qū)塊鏈中的區(qū)塊由兩個(gè)部分組成,區(qū)塊頭和區(qū)塊體燕侠。區(qū)塊頭中存放包括區(qū)塊見(jiàn)證(例如工作量證明或是投票)在內(nèi)的元數(shù)據(jù)者祖,區(qū)塊體中包含交易數(shù)據(jù)。區(qū)塊的驗(yàn)證由此也可以分為兩部分绢彤,對(duì)區(qū)塊頭的驗(yàn)證和對(duì)區(qū)塊體的驗(yàn)證七问。對(duì)區(qū)塊頭的驗(yàn)證主要是出塊權(quán)的檢查,例如區(qū)塊頭中包含的工作量證明是否有效茫舶;對(duì)區(qū)塊體的驗(yàn)證主要是對(duì)交易有效性的檢查械巡,確保區(qū)塊體中每一筆交易都是有效的。

全節(jié)點(diǎn)同步交易和區(qū)塊饶氏,對(duì)其進(jìn)行驗(yàn)證讥耗,并轉(zhuǎn)發(fā)有效的交易和區(qū)塊。為了能夠進(jìn)行驗(yàn)證疹启,全節(jié)點(diǎn)必須有完整的當(dāng)前世界狀態(tài)(例如UTXO集合)古程。由于全節(jié)點(diǎn)自行進(jìn)行所有的驗(yàn)證,因此不需要信任其他第三方喊崖。

通常情況下挣磨,出塊節(jié)點(diǎn)構(gòu)造新區(qū)塊時(shí)需要引用前一個(gè)有效區(qū)塊,為了確認(rèn)父塊的有效性必須對(duì)其進(jìn)行驗(yàn)證荤懂。此時(shí)出塊節(jié)點(diǎn)也做了全節(jié)點(diǎn)的事情茁裙,也是一種全節(jié)點(diǎn)。這種角色上的重合不是必然的节仿,不影響后面的討論晤锥。

輕節(jié)點(diǎn)

輕節(jié)點(diǎn)與全節(jié)點(diǎn)不同:輕節(jié)點(diǎn)只同步和驗(yàn)證區(qū)塊頭,不會(huì)同步和驗(yàn)證區(qū)塊體以及其中的交易廊宪。因此矾瘾,輕節(jié)點(diǎn)只能驗(yàn)證區(qū)塊頭的有效性眉踱,無(wú)法驗(yàn)證該區(qū)塊頭對(duì)應(yīng)的區(qū)塊體中交易的有效性,只能相信構(gòu)造這個(gè)區(qū)塊的出塊節(jié)點(diǎn)沒(méi)有打包無(wú)效的交易霜威,并且相信將這個(gè)看起來(lái)合理的區(qū)塊頭發(fā)送給自己的全節(jié)點(diǎn)對(duì)其進(jìn)行了完整的檢查谈喳。輕節(jié)點(diǎn)是信任其它節(jié)點(diǎn)的節(jié)點(diǎn)。由于不同步交易戈泼,輕節(jié)點(diǎn)也無(wú)法得知交易處理之后的世界狀態(tài)婿禽,自然也無(wú)法驗(yàn)證交易雙花或是世界狀態(tài)的變更。輕節(jié)點(diǎn)的驗(yàn)證能力大大弱于全節(jié)點(diǎn)大猛。

相信其它節(jié)點(diǎn)的好處是扭倾,輕節(jié)點(diǎn)的開(kāi)銷(xiāo)很小:區(qū)塊頭的體積只占區(qū)塊的很小一部分挽绩,很容易同步和存儲(chǔ)膛壹。因此輕節(jié)點(diǎn)可以運(yùn)行在筆記本甚至手機(jī)等各種有限硬件環(huán)境中。

關(guān)系

這幾種角色之間的關(guān)系是一個(gè)非常有意思的問(wèn)題唉堪,也是我和朋友們常常會(huì)討論的一個(gè)話(huà)題模聋。在這樣的討論中,如果你拿出一支筆唠亚,請(qǐng)?jiān)趫?chǎng)的任意一位朋友在白板上畫(huà)出他心目中的這三種節(jié)點(diǎn)組成的區(qū)塊鏈網(wǎng)絡(luò)拓?fù)淞捶剑蟾怕蕰?huì)得到類(lèi)似這樣的圖:

圖1. 朋友心中的節(jié)點(diǎn)拓?fù)銩
圖2. 朋友心中的節(jié)點(diǎn)拓?fù)銪

在圖1中,出塊節(jié)點(diǎn)在最中心的位置灶搜,全節(jié)點(diǎn)圍繞出塊節(jié)點(diǎn)形成網(wǎng)絡(luò)祟蚀,輕節(jié)點(diǎn)連接在全節(jié)點(diǎn)上;在圖2中割卖,出塊節(jié)點(diǎn)和全節(jié)點(diǎn)混合組成分布式網(wǎng)絡(luò)位于中心前酿,輕節(jié)點(diǎn)連接在全節(jié)點(diǎn)或者出塊節(jié)點(diǎn)上。哪一副圖更接近真實(shí)情況呢鹏溯?

誰(shuí)是守護(hù)者

人們通常認(rèn)為出塊節(jié)點(diǎn)是守護(hù)者(Keeper)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)的守護(hù)者罢维,這樣的觀(guān)點(diǎn)不無(wú)道理。畢竟是出塊節(jié)點(diǎn)驗(yàn)證交易剿涮,生產(chǎn)新的區(qū)塊言津,為用戶(hù)提供服務(wù)攻人,這也是為什么人們會(huì)把出塊節(jié)點(diǎn)/礦工畫(huà)在網(wǎng)絡(luò)拓?fù)涞闹行娜∈浴?瓷先セ澄牵麄円呀?jīng)擁有了定義區(qū)塊鏈的權(quán)力瞬浓。然而,如果我們將注意力再下降一層蓬坡,從P2P網(wǎng)絡(luò)的觀(guān)點(diǎn)來(lái)看猿棉,結(jié)果卻不是這樣磅叛。

一般的P2P網(wǎng)絡(luò),例如BitTorrent或是Kad Network萨赁,目的在于更快的分享數(shù)據(jù)弊琴,這些網(wǎng)絡(luò)中的節(jié)點(diǎn)并不關(guān)心自己轉(zhuǎn)發(fā)的數(shù)據(jù)包包含的是什么樣的數(shù)據(jù)。這些節(jié)點(diǎn)不需要理解數(shù)據(jù)杖爽,只需要轉(zhuǎn)發(fā)數(shù)據(jù)敲董,幫助數(shù)據(jù)從網(wǎng)絡(luò)中的一點(diǎn)流動(dòng)到另外一個(gè)點(diǎn)。它們只是數(shù)據(jù)的搬運(yùn)工慰安。

區(qū)塊鏈的P2P網(wǎng)絡(luò)則不僅僅是數(shù)據(jù)的搬運(yùn)工腋寨,還是數(shù)據(jù)的驗(yàn)證者。P2P網(wǎng)絡(luò)由全節(jié)點(diǎn)構(gòu)成化焕,全節(jié)點(diǎn)在接收到新的交易或者新的區(qū)塊時(shí)萄窜,首先做的事情是驗(yàn)證。這里的驗(yàn)證不僅僅是驗(yàn)證數(shù)據(jù)本身的完整性(Integrity)撒桨,還要驗(yàn)證數(shù)據(jù)在業(yè)務(wù)邏輯中的有效性查刻,例如這筆交易是否和賬本中已經(jīng)有的交易沖突(雙花),或者這個(gè)新區(qū)塊是否包含了無(wú)效的交易凤类。驗(yàn)證交易是否雙花是業(yè)務(wù)層(賬本)的邏輯赖阻,不是網(wǎng)絡(luò)層的邏輯。在區(qū)塊鏈的P2P網(wǎng)絡(luò)中踱蠢,節(jié)點(diǎn)不僅僅要轉(zhuǎn)發(fā)數(shù)據(jù)火欧,還需要理解數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)發(fā)在區(qū)塊鏈節(jié)點(diǎn)中是一個(gè)提升到業(yè)務(wù)層的概念茎截,而不只是一個(gè)網(wǎng)絡(luò)層的概念苇侵。

這種設(shè)計(jì)所導(dǎo)致的結(jié)果就是,全節(jié)點(diǎn)組成的網(wǎng)絡(luò)形成了一道“防火墻”企锌,有效阻止了無(wú)效交易和區(qū)塊的傳播榆浓。出塊節(jié)點(diǎn)如果產(chǎn)生一個(gè)包含無(wú)效交易的區(qū)塊,這個(gè)區(qū)塊只能夠傳播到與其相鄰的全節(jié)點(diǎn)撕攒,無(wú)法穿透這些相鄰節(jié)點(diǎn)形成的防火墻傳播到更遠(yuǎn)的地方陡鹃,無(wú)法進(jìn)入全節(jié)點(diǎn)網(wǎng)絡(luò)維護(hù)的區(qū)塊鏈主分叉,無(wú)效交易也就無(wú)法被依賴(lài)全節(jié)點(diǎn)的輕節(jié)點(diǎn)或是錢(qián)包接受抖坪。

因此萍鲸,出塊節(jié)點(diǎn)只是新的區(qū)塊的提議者,并不能讓全節(jié)點(diǎn)網(wǎng)絡(luò)接受無(wú)效的區(qū)塊或是交易擦俐。挖出一個(gè)新的區(qū)塊并不是共識(shí)的結(jié)束脊阴,而是共識(shí)的開(kāi)始。如果套用Paxos共識(shí)里面的詞匯,出塊節(jié)點(diǎn)是Proposer嘿期,全節(jié)點(diǎn)是Acceptor品擎。出塊節(jié)點(diǎn)持續(xù)打包交易,提交新的區(qū)塊备徐,全節(jié)點(diǎn)驗(yàn)證新的區(qū)塊提案萄传,保證新區(qū)塊和其中交易的正確性。從這個(gè)角度看蜜猾,作為驗(yàn)證者的全節(jié)點(diǎn)更應(yīng)該被稱(chēng)作守護(hù)者(Keeper)盲再。

按照這樣的理解,我們可以畫(huà)出這樣一個(gè)圖:

圖3. 以全節(jié)點(diǎn)為屏障的節(jié)點(diǎn)拓?fù)?/div>

在圖3中瓣铣,全節(jié)點(diǎn)網(wǎng)絡(luò)位于中心答朋,形成一個(gè)相互驗(yàn)證的去中心化網(wǎng)絡(luò),一道安全屏障棠笑。輕節(jié)點(diǎn)連接這個(gè)網(wǎng)絡(luò)中的全節(jié)點(diǎn)梦碗,使用全節(jié)點(diǎn)提供的服務(wù)。輕節(jié)點(diǎn)之間也可以形成自己的網(wǎng)絡(luò)蓖救,但需要注意的是洪规,輕節(jié)點(diǎn)網(wǎng)絡(luò)沒(méi)有驗(yàn)證功能,轉(zhuǎn)發(fā)在這里更多的是網(wǎng)絡(luò)層的概念。輕節(jié)點(diǎn)網(wǎng)絡(luò)和全節(jié)點(diǎn)網(wǎng)絡(luò)是不同的網(wǎng)絡(luò)。出塊節(jié)點(diǎn)連接全節(jié)點(diǎn)提交新的區(qū)塊赡勘,出塊節(jié)點(diǎn)之間也可以形成自己的網(wǎng)絡(luò),以更好的提供服務(wù)念赶,例如比特幣的FIBRE就是一個(gè)礦池之間的專(zhuān)用網(wǎng)絡(luò)。

全節(jié)點(diǎn)網(wǎng)絡(luò)對(duì)區(qū)塊鏈的安全至關(guān)重要恰力。全節(jié)點(diǎn)數(shù)量越多叉谜,網(wǎng)絡(luò)越可靠,加密經(jīng)濟(jì)的基礎(chǔ)越穩(wěn)固踩萎。全節(jié)點(diǎn)的運(yùn)行成本和長(zhǎng)期數(shù)量這兩個(gè)指標(biāo)在未來(lái)的區(qū)塊鏈價(jià)值評(píng)估中應(yīng)該會(huì)扮演越來(lái)越重要的作用停局。區(qū)塊鏈發(fā)展面臨的一個(gè)關(guān)鍵問(wèn)題是,如何激勵(lì)全節(jié)點(diǎn)香府?這個(gè)問(wèn)題看上去簡(jiǎn)單董栽,實(shí)際上會(huì)觸及一些非常深層次的(也許是不可調(diào)和的)矛盾,例如data availability problem企孩,這里就不展開(kāi)說(shuō)了锭碳,以后有時(shí)間再寫(xiě)文章討論。

案例分析

當(dāng)我們理解了全節(jié)點(diǎn)的重要性柠硕,在腦海中建立了正確的網(wǎng)絡(luò)拓?fù)浜蠊ず蹋涂梢杂眠@個(gè)框架來(lái)分析實(shí)際的問(wèn)題了运提。這里舉兩個(gè)例子蝗柔。

FIBRE

FIBRE是比特幣快速網(wǎng)絡(luò)中繼引擎(Fast Internet Bitcoin Relay Engine)的縮寫(xiě)闻葵,是一個(gè)專(zhuān)門(mén)給礦工提供服務(wù)的區(qū)塊傳輸網(wǎng)絡(luò)。FIBRE在全球不同的位置部署了6個(gè)節(jié)點(diǎn)癣丧,相互之間通過(guò)高速網(wǎng)絡(luò)連接槽畔,使用UDP+ForwardErrorCorrection傳送數(shù)據(jù),幾乎實(shí)現(xiàn)了無(wú)延遲的傳輸胁编。在FIBRE注冊(cè)過(guò)的礦工可以連接到離自己最近的FIBRE節(jié)點(diǎn)厢钧,以最短的時(shí)間獲得新的區(qū)塊數(shù)據(jù)。FIBRE和比特幣P2P網(wǎng)絡(luò)傳輸協(xié)議的一系列優(yōu)化使得比特幣的新區(qū)塊幾乎可以在瞬間被全世界的礦工接收嬉橙,非常有效的降低了孤塊率早直,保證了網(wǎng)絡(luò)安全。

FIBRE是由Matt Corallo維護(hù)的一個(gè)需要注冊(cè)使用的網(wǎng)絡(luò)市框,因此是一個(gè)中心化管理的系統(tǒng)霞扬。這也是FIBRE常為人所詬病的地方。但是如果我們按照?qǐng)D3的拓?fù)鋪?lái)分析枫振,就會(huì)發(fā)現(xiàn)FIBRE的中心化對(duì)比特幣網(wǎng)絡(luò)并沒(méi)有負(fù)面影響:無(wú)論礦工是用中心化還是去中心化的網(wǎng)絡(luò)加速新區(qū)塊的傳播喻圃,這個(gè)行為都不會(huì)影響全節(jié)點(diǎn)對(duì)新區(qū)塊的驗(yàn)證。FIBRE也不是整個(gè)網(wǎng)絡(luò)的單點(diǎn)粪滤,如果FIBRE崩潰或者作惡斧拍,礦工隨時(shí)可以切換回比特幣自己的P2P網(wǎng)絡(luò)。

思考題:同樣的出塊節(jié)點(diǎn)間專(zhuān)用加速網(wǎng)絡(luò)杖小,如果用于提升網(wǎng)絡(luò)吞吐量解決scalability問(wèn)題肆汹,上述結(jié)論依然成立嗎?

圖4. 出塊節(jié)點(diǎn)專(zhuān)用網(wǎng)絡(luò)(虛線(xiàn))

EOS

EOS的目標(biāo)是百萬(wàn)級(jí)的TPS予权,為了實(shí)現(xiàn)這個(gè)目標(biāo)县踢,EOS使用投票的方式由全網(wǎng)選出21個(gè)出塊節(jié)點(diǎn)(以及一定數(shù)量的候選節(jié)點(diǎn)),并要求出塊節(jié)點(diǎn)使用最好的硬件來(lái)支撐高性能伟件。EOS是否真的實(shí)現(xiàn)了百萬(wàn)級(jí)TPS并不重要硼啤,重要的是,通過(guò)這種方式來(lái)提升性能不僅僅要求出塊節(jié)點(diǎn)付出不菲的成本斧账,也要求全節(jié)點(diǎn)付出同樣的成本谴返。然而與出塊節(jié)點(diǎn)不同,EOS網(wǎng)絡(luò)中的全節(jié)點(diǎn)并沒(méi)有得到網(wǎng)絡(luò)的補(bǔ)貼咧织,因此用戶(hù)很難有足夠的動(dòng)力真的去支付幾乎與出塊節(jié)點(diǎn)相同的成本去運(yùn)行一個(gè)全節(jié)點(diǎn)嗓袱。在這種情況下,網(wǎng)絡(luò)最終會(huì)演化成一個(gè)沒(méi)有全節(jié)點(diǎn)的結(jié)構(gòu):

圖5. 沒(méi)有全節(jié)點(diǎn)的網(wǎng)絡(luò)

ByteMaster對(duì)21個(gè)節(jié)點(diǎn)合理性的論證是习绢,比特幣的算力也是集中在<10個(gè)礦池手中渠抹,21個(gè)節(jié)點(diǎn)其實(shí)比10個(gè)礦池更加去中心化蝙昙。我們通過(guò)比較網(wǎng)絡(luò)拓?fù)鋺?yīng)該容易看出,這個(gè)辯護(hù)并不成立梧却,因?yàn)閮烧叩木W(wǎng)絡(luò)結(jié)構(gòu)有很大區(qū)別奇颠,無(wú)法這樣直接比較。在EOS網(wǎng)絡(luò)中放航,由于去中心化全節(jié)點(diǎn)網(wǎng)絡(luò)的缺失烈拒,出塊節(jié)點(diǎn)缺乏監(jiān)督,用戶(hù)只能完全相信出塊節(jié)點(diǎn)不會(huì)作惡广鳍。出塊和驗(yàn)證的工作最終都集中到出塊節(jié)點(diǎn)的角色上荆几,出塊節(jié)點(diǎn)既是運(yùn)動(dòng)員,又是裁判赊时。而在比特幣的網(wǎng)絡(luò)中吨铸,大量的全節(jié)點(diǎn)承擔(dān)了裁判的角色,礦池僅僅是運(yùn)動(dòng)員祖秒。用戶(hù)可以相信大量的全節(jié)點(diǎn)诞吱,不需要相信礦池。

需要指出的是狈涮,這個(gè)問(wèn)題實(shí)際上不僅僅是EOS的問(wèn)題狐胎,也是其他要在Layer 1擴(kuò)容的項(xiàng)目會(huì)遇到的問(wèn)題。

對(duì)CKB的啟示

出塊節(jié)點(diǎn)歌馍,全節(jié)點(diǎn)握巢,輕節(jié)點(diǎn)形成了一個(gè)動(dòng)態(tài)的網(wǎng)絡(luò),網(wǎng)絡(luò)中的各類(lèi)角色都可以自由進(jìn)出(額松却,出塊節(jié)點(diǎn)實(shí)際上在很多區(qū)塊鏈中無(wú)法自由進(jìn)出暴浦,這個(gè)也不展開(kāi)了,以后有時(shí)間再寫(xiě)文章討論...)晓锻,這些角色形成的拓?fù)浣Y(jié)構(gòu)(例如節(jié)點(diǎn)比例歌焦、誰(shuí)和誰(shuí)連接等等等等)決定了網(wǎng)絡(luò)的性質(zhì),包括性能砚哆、安全独撇、中心化程度等各個(gè)方面。不同的設(shè)計(jì)可能會(huì)導(dǎo)致網(wǎng)絡(luò)最終形成不同的結(jié)構(gòu)躁锁,而這個(gè)最終結(jié)構(gòu)所展現(xiàn)的性質(zhì)有可能和設(shè)計(jì)初衷是相違背的纷铣。

全節(jié)點(diǎn)為了能夠不信任任何第三方,選擇自行驗(yàn)證所有交易歷史战转。這種做法使全節(jié)點(diǎn)不僅僅滿(mǎn)足了自己的需求搜立,也為網(wǎng)絡(luò)安全貢獻(xiàn)了力量,體現(xiàn)出一種正外部性槐秧。區(qū)塊鏈需要這種安全保證啄踊,因此全節(jié)點(diǎn)對(duì)于一個(gè)去中心化的網(wǎng)絡(luò)至關(guān)重要忧设。如何內(nèi)部化這種正外部性是一個(gè)需要重視的課題,在這個(gè)課題還沒(méi)有解決的情況下颠通,我們能做的只能是保證全節(jié)點(diǎn)可以運(yùn)行在一個(gè)較低的成本址晕,以促進(jìn)網(wǎng)絡(luò)保有盡可能多的全節(jié)點(diǎn)。

對(duì)于希望成為未來(lái)加密經(jīng)濟(jì)的基礎(chǔ)設(shè)施的Nervos CKB來(lái)說(shuō)蒜哀,必須在設(shè)計(jì)之初就把這些因素考慮在內(nèi)斩箫,以理想中的網(wǎng)絡(luò)結(jié)構(gòu)為目標(biāo)吏砂,并通過(guò)經(jīng)濟(jì)激勵(lì)和其他機(jī)制設(shè)計(jì)來(lái)實(shí)現(xiàn)撵儿。這并不是一件容易的事情,還需要大量的研究和探索狐血。

感謝

謝謝Kevin Wang和李家蓀老師參與討論并提供寶貴意見(jiàn)! <3<3<3

We're hiring!

如果你對(duì)創(chuàng)造未來(lái)的加密經(jīng)濟(jì)感興趣淀歇,對(duì)自己的能力有自信,歡迎投簡(jiǎn)歷到 join@cryptape.com 加入我們匈织!

  • Nervos AppChain Team
  • Nervos CKB Team
  • CITA Kernel Team
  • Cryptape Research
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浪默,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子缀匕,更是在濱河造成了極大的恐慌纳决,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乡小,死亡現(xiàn)場(chǎng)離奇詭異阔加,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)满钟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)胜榔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人湃番,你說(shuō)我怎么就攤上這事夭织。” “怎么了吠撮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵尊惰,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我泥兰,道長(zhǎng)弄屡,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任逾条,我火速辦了婚禮琢岩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘师脂。我一直安慰自己担孔,他們只是感情好江锨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著糕篇,像睡著了一般啄育。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拌消,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天挑豌,我揣著相機(jī)與錄音,去河邊找鬼墩崩。 笑死氓英,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鹦筹。 我是一名探鬼主播铝阐,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼铐拐!你這毒婦竟也來(lái)了徘键?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遍蟋,失蹤者是張志新(化名)和其女友劉穎吹害,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體虚青,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡它呀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挟憔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钟些。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绊谭,靈堂內(nèi)的尸體忽然破棺而出政恍,到底是詐尸還是另有隱情,我是刑警寧澤达传,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布篙耗,位于F島的核電站,受9級(jí)特大地震影響宪赶,放射性物質(zhì)發(fā)生泄漏宗弯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一搂妻、第九天 我趴在偏房一處隱蔽的房頂上張望蒙保。 院中可真熱鬧,春花似錦欲主、人聲如沸邓厕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)详恼。三九已至补君,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昧互,已是汗流浹背挽铁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敞掘,地道東北人叽掘。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像渐逃,于是被迫代替她去往敵國(guó)和親够掠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子民褂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容