深入了解區(qū)塊鏈的共識(shí)機(jī)制及算法原理


區(qū)塊鏈共識(shí)

什么是共識(shí)機(jī)制

所謂“共識(shí)機(jī)制”,是通過特殊節(jié)點(diǎn)的投票刚梭,在很短的時(shí)間內(nèi)完成對(duì)交易的驗(yàn)證和確認(rèn)今阳;對(duì)一筆交易,如果利益不相干的若干個(gè)節(jié)點(diǎn)能夠達(dá)成共識(shí)逊躁,我們就可以認(rèn)為全網(wǎng)對(duì)此也能夠達(dá)成共識(shí)似踱。再通俗一點(diǎn)來講,如果中國(guó)一名微博大V稽煤、美國(guó)一名虛擬幣玩家核芽、一名非洲留學(xué)生和一名歐洲旅行者互不相識(shí),但他們都一致認(rèn)為你是個(gè)好人念脯,那么基本上就可以斷定你這人還不壞狞洋。


區(qū)塊鏈為什么需要共識(shí)機(jī)制(算法)

要想整個(gè)區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)維持一份相同的數(shù)據(jù),同時(shí)保證每個(gè)參與者的公平性绿店,整個(gè)體系的所有參與者必須要有統(tǒng)一的協(xié)議吉懊,也就是我們這里要將的共識(shí)算法庐橙。比特幣所有的節(jié)點(diǎn)都遵循統(tǒng)一的協(xié)議規(guī)范。協(xié)議規(guī)范(共識(shí)算法)由相關(guān)的共識(shí)規(guī)則組成借嗽,這些規(guī)則可以分為兩個(gè)大的核心:工作量證明與最長(zhǎng)鏈機(jī)制态鳖。所有規(guī)則(共識(shí))的最終體現(xiàn)就是比特幣的最長(zhǎng)鏈。共識(shí)算法的目的就是保證比特幣不停地在最長(zhǎng)鏈條上運(yùn)轉(zhuǎn)恶导,從而保證整個(gè)記賬系統(tǒng)的一致性和可靠性浆竭。


四種主流的共識(shí)機(jī)制

區(qū)塊鏈中的用戶進(jìn)行交易時(shí)不需要考慮對(duì)方的信用、不需要信任對(duì)方惨寿,也無需一個(gè)可信的中介機(jī)構(gòu)或中央機(jī)構(gòu)邦泄,只需要依據(jù)區(qū)塊鏈協(xié)議即可實(shí)現(xiàn)交易。這種不需要可信第三方中介就可以順利交易的前提是區(qū)塊鏈的共識(shí)機(jī)制裂垦,即在互不了解顺囊、信任的市場(chǎng)環(huán)境中,參與交易的各節(jié)點(diǎn)出于對(duì)自身利益考慮蕉拢,沒有任何違規(guī)作弊的動(dòng)機(jī)特碳、行為,因此各節(jié)點(diǎn)會(huì)主動(dòng)自覺遵守預(yù)先設(shè)定的規(guī)則晕换,來判斷每一筆交易的真實(shí)性和可靠性午乓,并將檢驗(yàn)通過的記錄寫入到區(qū)塊鏈中。各節(jié)點(diǎn)的利益各不相同闸准,邏輯上將它們沒有合謀欺騙作弊的動(dòng)機(jī)產(chǎn)生益愈,而當(dāng)網(wǎng)絡(luò)中有的節(jié)點(diǎn)擁有公共信譽(yù)時(shí),這一點(diǎn)尤為明顯恕汇。區(qū)塊鏈技術(shù)運(yùn)用基于數(shù)學(xué)原理的共識(shí)算法腕唧,在節(jié)點(diǎn)之間建立“信任”網(wǎng)絡(luò)或辖,利用技術(shù)手段從而實(shí)現(xiàn)一種創(chuàng)新式的信用網(wǎng)絡(luò)瘾英。

目前區(qū)款連行業(yè)內(nèi)主流的共識(shí)算法機(jī)制包含:工作量證明機(jī)制、權(quán)益證明機(jī)制颂暇、股份授權(quán)證明機(jī)制和Pool驗(yàn)證池這四大類缺谴。

01 工作量證明機(jī)制

工作量證明機(jī)制即對(duì)于工作量的證明,是生成要加入到區(qū)塊鏈中的一筆新的交易信息(即新區(qū)塊)時(shí)必須滿足的要求耳鸯。在基于工作量證明機(jī)制構(gòu)建的區(qū)塊鏈網(wǎng)絡(luò)中湿蛔,節(jié)點(diǎn)通過計(jì)算隨機(jī)哈希散列的數(shù)值解爭(zhēng)奪記賬權(quán),求得正確的數(shù)值解以生成區(qū)塊的能力是節(jié)點(diǎn)算力的具體表現(xiàn)县爬。工作量證明機(jī)制具有完全去中心化的優(yōu)點(diǎn)阳啥,在以工作量證明機(jī)制為共識(shí)的區(qū)塊鏈中,節(jié)點(diǎn)可以自由進(jìn)出财喳。大家所熟知的比特幣網(wǎng)絡(luò)就應(yīng)用工作量證明機(jī)制來生產(chǎn)新的貨幣察迟。然而斩狱,由于工作量證明機(jī)制在比特幣網(wǎng)絡(luò)中的應(yīng)用已經(jīng)吸引了全球計(jì)算機(jī)大部分的算力,其他想嘗試使用該機(jī)制的區(qū)塊鏈應(yīng)用很難獲得同樣規(guī)模的算力來維持自身的安全扎瓶。同時(shí)所踊,基于工作量證明機(jī)制的挖礦行為還造成了大量的資源浪費(fèi),達(dá)成共識(shí)所需要的周期也較長(zhǎng)概荷,因此該機(jī)制并不適合商業(yè)應(yīng)用秕岛。

02 權(quán)益證明機(jī)制

2012年,化名Sunny King的網(wǎng)友推出了Peercoin误证,該加密電子貨幣采用工作量證明機(jī)制發(fā)行新幣继薛,采用權(quán)益證明機(jī)制維護(hù)網(wǎng)絡(luò)安全,這是權(quán)益證明機(jī)制在加密電子貨幣中的首次應(yīng)用愈捅。與要求證明人執(zhí)行一定量的計(jì)算工作不同惋增,權(quán)益證明要求證明人提供一定數(shù)量加密貨幣的所有權(quán)即可。權(quán)益證明機(jī)制的運(yùn)作方式是改鲫,當(dāng)創(chuàng)造一個(gè)新區(qū)塊時(shí)诈皿,礦工需要?jiǎng)?chuàng)建一個(gè)“幣權(quán)”交易,交易會(huì)按照預(yù)先設(shè)定的比例把一些幣發(fā)送給礦工本身像棘。權(quán)益證明機(jī)制根據(jù)每個(gè)節(jié)點(diǎn)擁有代幣的比例和時(shí)間稽亏,依據(jù)算法等比例地降低節(jié)點(diǎn)的挖礦難度,從而加快了尋找隨機(jī)數(shù)的速度缕题。這種共識(shí)機(jī)制可以縮短達(dá)成共識(shí)所需的時(shí)間截歉,但本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行挖礦運(yùn)算。因此烟零,PoS機(jī)制并沒有從根本上解決PoW機(jī)制難以應(yīng)用于商業(yè)領(lǐng)域的問題瘪松。

03 股份授權(quán)證明機(jī)制

股份授權(quán)證明機(jī)制是一種新的保障網(wǎng)絡(luò)安全的共識(shí)機(jī)制。它在嘗試解決傳統(tǒng)的PoW機(jī)制和PoS機(jī)制問題的同時(shí)锨阿,還能通過實(shí)施科技式的民主抵消中心化所帶來的負(fù)面效應(yīng)宵睦。

股份授權(quán)證明機(jī)制與董事會(huì)投票類似,該機(jī)制擁有一個(gè)內(nèi)置的實(shí)時(shí)股權(quán)人投票系統(tǒng)墅诡,就像系統(tǒng)隨時(shí)都在召開一個(gè)永不散場(chǎng)的股東大會(huì)壳嚎,所有股東都在這里投票決定公司決策∧┰纾基于DPoS機(jī)制建立的區(qū)塊鏈的去中心化依賴于一定數(shù)量的代表烟馅,而非全體用戶。在這樣的區(qū)塊鏈中然磷,全體節(jié)點(diǎn)投票選舉出一定數(shù)量的節(jié)點(diǎn)代表郑趁,由他們來代理全體節(jié)點(diǎn)確認(rèn)區(qū)塊、維持系統(tǒng)有序運(yùn)行姿搜。同時(shí)寡润,區(qū)塊鏈中的全體節(jié)點(diǎn)具有隨時(shí)罷免和任命代表的權(quán)力缺脉。如果必要,全體節(jié)點(diǎn)可以通過投票讓現(xiàn)任節(jié)點(diǎn)代表失去代表資格悦穿,重新選舉新的代表攻礼,實(shí)現(xiàn)實(shí)時(shí)的民主。

股份授權(quán)證明機(jī)制可以大大縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量栗柒,從而達(dá)到秒級(jí)的共識(shí)驗(yàn)證礁扮。然而,該共識(shí)機(jī)制仍然不能完美解決區(qū)塊鏈在商業(yè)中的應(yīng)用問題瞬沦,因?yàn)樵摴沧R(shí)機(jī)制無法擺脫對(duì)于代幣的依賴太伊,而在很多商業(yè)應(yīng)用中并不需要代幣的存在。

04 PooI驗(yàn)證池

Pool驗(yàn)證池基于傳統(tǒng)的分布式一致性技術(shù)建立逛钻,并輔之以數(shù)據(jù)驗(yàn)證機(jī)制僚焦,是目前區(qū)塊鏈中廣泛使用的一種共識(shí)機(jī)制。

Pool驗(yàn)證池不需要依賴代幣就可以工作曙痘,在成熟的分布式一致性算法(Pasox芳悲、Raft)基礎(chǔ)之上,可以實(shí)現(xiàn)秒級(jí)共識(shí)驗(yàn)證边坤,更適合有多方參與的多中心商業(yè)模式名扛。不過,Pool驗(yàn)證池也存在一些不足茧痒,例如該共識(shí)機(jī)制能夠?qū)崿F(xiàn)的分布式程度不如PoW機(jī)制等


工作量證明算法解析

這里主要講解區(qū)塊鏈工作量證明機(jī)制的一些算法原理以及比特幣網(wǎng)絡(luò)是如何證明自己的工作量的肮韧,希望大家能夠?qū)沧R(shí)算法有一個(gè)基本的認(rèn)識(shí)。

基本技術(shù)原理

工作量證明系統(tǒng)的主要特征是客戶端要做一定難度的工作來得到一個(gè)結(jié)果旺订,驗(yàn)證方則很容易通過結(jié)果來檢查客戶端是不是做了相應(yīng)的工作弄企。這種方案的一個(gè)核心特征是不對(duì)稱性:工作對(duì)于請(qǐng)求方是適中中的,對(duì)于驗(yàn)證方是易于驗(yàn)證的区拳。它與驗(yàn)證碼不同拘领,驗(yàn)證碼是易于被人類解決而不是易于被計(jì)算機(jī)解決。

下圖所示的為工作量證明流程劳闹。

工作量證明流程

舉個(gè)例子院究,給個(gè)一個(gè)基本的字符創(chuàng)“hello,world本涕!”,我們給出的工作量要求是伙窃,可以在這個(gè)字符創(chuàng)后面添加一個(gè)叫做nonce(隨機(jī)數(shù))的整數(shù)值菩颖,對(duì)變更后(添加nonce)的字符創(chuàng)進(jìn)行SHA-256運(yùn)算,如果得到的結(jié)果(一十六進(jìn)制的形式表示)以“0000”開頭的为障,則驗(yàn)證通過晦闰。為了達(dá)到這個(gè)工作量證明的目標(biāo)放祟,需要不停地遞增nonce值,對(duì)得到的字符創(chuàng)進(jìn)行SHA-256哈希運(yùn)算呻右。按照這個(gè)規(guī)則跪妥,需要經(jīng)過4251次運(yùn)算,才能找到前導(dǎo)為4個(gè)0的哈希散列声滥。

“Hello,World!0"=>1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64

“Hello,World!1"=>e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8

“Hello,World!2"=>ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7

...“Hello,World!4250"=>0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

通過這個(gè)示例我們對(duì)工作量證明機(jī)制有了一個(gè)初步的理解眉撵。有人或許認(rèn)為如果工作量證明只是這樣一個(gè)過程,那是不是只要記住nonce為4521使計(jì)算能通過驗(yàn)證就行了落塑,當(dāng)然不是了纽疟,這只是一個(gè)例子。

下面我們將輸入簡(jiǎn)單的變更為”Hello,World!+整數(shù)值”憾赁,整數(shù)值取1~1000污朽,也就是說將輸入變成一個(gè)1~1000的數(shù)組:Hello,World!1;Hello,World!2龙考;...蟆肆;Hello,World!1000。然后對(duì)數(shù)組中的每一個(gè)輸入依次進(jìn)行上面的工作量證明—找到前導(dǎo)為4個(gè)0的哈希散列晦款。

由于哈希值偽隨機(jī)的特性颓芭,根據(jù)概率論的相關(guān)知識(shí)容易計(jì)算出,預(yù)計(jì)要進(jìn)行2的16次方次數(shù)的嘗試柬赐,才能得到前導(dǎo)為4個(gè)0的哈希散列亡问。而統(tǒng)計(jì)一下剛剛進(jìn)行的1000次計(jì)算的實(shí)際結(jié)果會(huì)發(fā)現(xiàn),進(jìn)行計(jì)算的平均次數(shù)為66958次肛宋,十分接近2的16次方(65536)州藕。在這個(gè)例子中,數(shù)學(xué)期望的計(jì)算次數(shù)實(shí)際就是要求的“工作量”酝陈,重復(fù)進(jìn)行多次的工作量證明會(huì)是一個(gè)符合統(tǒng)計(jì)學(xué)規(guī)律的概率事件床玻。

統(tǒng)計(jì)輸入的字符創(chuàng)與得到對(duì)應(yīng)目標(biāo)結(jié)果實(shí)際使用的計(jì)算次數(shù)如下:

Hello,World!1=>42153

Hello,World!2=>2643

Hello,World!3=>32825

Hello,World!4=>250

Hello,World!5=>7300

...

Hello,World!995=>164819

Hello,World!996=>178486

Hello,World!997=>22798

Hello,World!998=>68868

Hello,World!999=>46281

比特幣的工作量證明

對(duì)于比特幣網(wǎng)絡(luò)中的任何節(jié)點(diǎn),如果想生成一個(gè)新的區(qū)塊加入到區(qū)塊鏈中沉帮,則必須解決出比特幣網(wǎng)絡(luò)出的這道謎題锈死。這道題的關(guān)鍵要素是工作量證明函數(shù)、區(qū)塊及難度值穆壕。工作量證明函數(shù)是這道題的計(jì)算方法待牵,區(qū)塊是這道題的輸入數(shù)據(jù),難度值決定了解這道題的所需要的計(jì)算量喇勋。

比特幣網(wǎng)絡(luò)中使用的工作量證明函數(shù)正是上文提及的SHA-256缨该。區(qū)塊其實(shí)就是在工作量證明環(huán)節(jié)產(chǎn)生的。曠工通過不停地構(gòu)造區(qū)塊數(shù)據(jù)川背,檢驗(yàn)每次計(jì)算出的結(jié)果是否滿足要求的工作量贰拿,從而判斷該區(qū)塊是不是符合網(wǎng)絡(luò)難度蛤袒。區(qū)塊頭即比特幣工作量證明函數(shù)的輸入數(shù)據(jù)。

難度值是礦工們挖掘的重要參考指標(biāo)膨更,它決定了曠工需要經(jīng)過多少次哈希運(yùn)算才能產(chǎn)生一個(gè)合法的區(qū)塊妙真。比特幣網(wǎng)絡(luò)大約每10分鐘生成一個(gè)區(qū)塊,如果在不同的全網(wǎng)算力條件下荚守,新區(qū)塊的產(chǎn)生基本都保持這個(gè)速度珍德,難度值必須根據(jù)全網(wǎng)算力的變化進(jìn)行調(diào)整〗∪铮總的原則即為無論挖礦能力如何菱阵,使得網(wǎng)絡(luò)始終保持10分鐘產(chǎn)生一個(gè)新區(qū)塊。

難度值的調(diào)整是在每個(gè)完整節(jié)點(diǎn)中獨(dú)立自動(dòng)發(fā)生的缩功。每隔2016個(gè)區(qū)塊晴及,所有節(jié)點(diǎn)都會(huì)按照統(tǒng)一的格式自動(dòng)調(diào)整難度值,這個(gè)公式是由最新產(chǎn)生的2016個(gè)區(qū)塊的花費(fèi)時(shí)長(zhǎng)與期望時(shí)長(zhǎng)(按每10分鐘產(chǎn)生一個(gè)取款嫡锌,則期望時(shí)長(zhǎng)為20160分鐘)比較得出來的虑稼,根據(jù)實(shí)際時(shí)長(zhǎng)一期望時(shí)長(zhǎng)的比值進(jìn)行調(diào)整菜循。也就是說告匠,如果區(qū)塊產(chǎn)生的速度比10分鐘快,則增加難度值昼伴;反正啦桌,則降低難度值溯壶。用公式來表達(dá)如下:

新難度值=舊難度值*(20160分鐘/過去2016個(gè)區(qū)塊花費(fèi)時(shí)長(zhǎng))。

工作量證明需要有一個(gè)目標(biāo)值甫男。比特幣工作量證明的目標(biāo)值(Target)的計(jì)算公式如下:

目標(biāo)值=最大目標(biāo)值/難度值且改,其中最大目標(biāo)值為一個(gè)恒定值0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

目標(biāo)值的大小與難度值成反比,比特幣工作量證明的達(dá)成就是礦中計(jì)算出來的區(qū)塊哈希值必須小于目標(biāo)值板驳。

我們也可以將比特幣工作量的過程簡(jiǎn)單的理解成又跛,通過不停變更區(qū)塊頭(即嘗試不同nonce值)并將其作為輸入,進(jìn)行SHA-256哈希運(yùn)算若治,找出一個(gè)有特定格式哈希值的過程(即要求有一定數(shù)量的前導(dǎo)0)慨蓝,而要求的前導(dǎo)0個(gè)數(shù)越多,難度越大端幼。

可以把比特幣將這道工作量證明謎題的步驟大致歸納如下:

1)生成coinbase交易礼烈,并與其他所有打包進(jìn)區(qū)塊的交易組成交易列表,通過Merkle Tree算法生成Merkle Root Hash静暂。

2)把Merkle Root Hash及其他相關(guān)字段組裝成區(qū)塊頭济丘,將區(qū)塊頭的80字節(jié)數(shù)據(jù)作為工作量證明的輸入。

3)不停變更區(qū)塊頭中的隨機(jī)數(shù)(即nonce值)洽蛀,并對(duì)每次變更后的區(qū)塊頭進(jìn)行雙重SHA-256運(yùn)算摹迷,將結(jié)果值哈希翻轉(zhuǎn)并與當(dāng)前網(wǎng)絡(luò)的目標(biāo)值對(duì)應(yīng)的十進(jìn)制字符創(chuàng)對(duì)比,如果小于目標(biāo)值郊供,則解題成功峡碉,工作量證明完成。

該過程可以用下圖表示:

區(qū)塊謎題

比特幣的工作量證明驮审,就是我們俗稱“挖礦”所做的主要工作鲫寄。理解工作量證明機(jī)制,將為我們進(jìn)一步理解比特幣區(qū)塊鏈的共識(shí)機(jī)制奠定基礎(chǔ)疯淫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末地来,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子熙掺,更是在濱河造成了極大的恐慌未斑,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件币绩,死亡現(xiàn)場(chǎng)離奇詭異蜡秽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缆镣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門芽突,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人董瞻,你說我怎么就攤上這事寞蚌。” “怎么了钠糊?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵挟秤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我眠蚂,道長(zhǎng)煞聪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任逝慧,我火速辦了婚禮昔脯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘笛臣。我一直安慰自己云稚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布沈堡。 她就那樣靜靜地躺著静陈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鲸拥,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天拐格,我揣著相機(jī)與錄音,去河邊找鬼刑赶。 笑死捏浊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的撞叨。 我是一名探鬼主播金踪,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼牵敷!你這毒婦竟也來了胡岔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤枷餐,失蹤者是張志新(化名)和其女友劉穎靶瘸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尖淘,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奕锌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了村生。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惊暴。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖趁桃,靈堂內(nèi)的尸體忽然破棺而出辽话,到底是詐尸還是另有隱情,我是刑警寧澤卫病,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布油啤,位于F島的核電站,受9級(jí)特大地震影響蟀苛,放射性物質(zhì)發(fā)生泄漏益咬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一帜平、第九天 我趴在偏房一處隱蔽的房頂上張望幽告。 院中可真熱鬧,春花似錦裆甩、人聲如沸冗锁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冻河。三九已至箍邮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叨叙,已是汗流浹背锭弊。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摔敛,地道東北人廷蓉。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓全封,卻偏偏與公主長(zhǎng)得像马昙,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刹悴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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