如何深入理解以太坊系統(tǒng)

不僅是國內,目前從全球的科技與金融領域趨勢來看局荚,區(qū)塊鏈注定將長時間成為科技和金融業(yè)界非常關注的技術,當然如果想要參與并計劃進行實際區(qū)塊鏈落地的話愈污,了解以太坊系統(tǒng)是提升區(qū)塊鏈應用理解的一個非常重要的過程耀态,這里總結了一下以太坊系統(tǒng)核心的技術點和原理,以便大家有一個系統(tǒng)具體的而非抽象的理解暂雹,相信仔細讀完會讓我們有一個系統(tǒng)的認知首装。本文從以下幾個核心問題來開展:

? 以太坊是什么?

? 以太坊采礦如何運作杭跪?

? 什么是智能合約仙逻?

? 什么是以太坊虛擬機?

? 什么是 以太幣(Ether)和 Gas涧尿?

? 什么是solidity系奉?

? Dapps和ICO。

什么是以太坊

以太坊官方定義:

“以太坊是一個分布式的平臺姑廉,可以運行智能合約:應用程序按照既定程序運行缺亮,不會出現停機,審查桥言,欺詐或第三方干擾的可能性萌踱。這些應用程序運行在定制構建的區(qū)塊鏈上,這是一個功能強大的全球共享基礎架構号阿,可以通過數字流轉來代表財產的所有權并鸵。“

盡管比特幣是區(qū)塊鏈技術的第一個應用扔涧,但它仍然只是一種貨幣园担。而以太坊帶來了區(qū)塊鏈技術的全部可能性。簡單來說扰柠,以太坊的設計之初就瞄準成為未來區(qū)塊鏈應用的終極軟件平臺粉铐。如果未來去中心化和dAPPs普及,那么以太坊必定會成為未來的核心平臺技術卤档。

正如以太坊聯(lián)合創(chuàng)始人 Dr. Gavin Wood所說:

“比特幣首先是一種貨幣蝙泼,這是區(qū)塊鏈的一個特殊應用。但是劝枣,這遠遠不是唯一的應用汤踏。舉一個類似的比喻:電子郵件是互聯(lián)網的一個特殊用途织鲸,并且肯定有助于推廣,但還有很多其他的溪胶÷Р粒“

以太坊采礦如何工作?

截至目前哗脖,以太坊和比特幣正在使用的基本同樣的工作量證明協(xié)議(POW)瀑踢。但基于以太坊在區(qū)塊鏈2.0+的應用,POW已經不再適用才避,以太坊計劃將轉移到權益證明(POS)橱夭,并且他們將使Casper協(xié)議進行這一遷移。

那么桑逝,POS和POW之間有什么區(qū)別呢棘劣?

POS vs POW

POW(Proof of work:)工作量證明:這是大多數加密貨幣如Ethereum和比特幣迄今一直遵循的共識算法。這意味著礦工通過使用專用硬件(礦機)來進行挖礦的動作楞遏。

POS(Proof of stake)權益證明:該共識算法將使整個采礦過程變得虛擬茬暇。在這個系統(tǒng)中,我們有驗證者而不是礦工寡喝。它的工作方式是作為一個驗證者糙俗,你首先必須鎖定你的一些以太(可以理解為保證金)。然后驗證者將開始驗證塊拘荡,這意味著如果找到任何認為可以加入到區(qū)塊鏈的塊臼节,你可以通過下注來對其進行驗證。如果該塊被加入區(qū)塊鏈珊皿,你將獲得與你投資的股權成比例的獎勵网缝。但是,如果你對錯誤或惡意區(qū)塊投注蟋定,你將失去之前的保證金和相關權益粉臊。

為了實施“權益證明”以太坊將使用Casper協(xié)議。

Casper是一種基于保證金的經濟激勵共識協(xié)議(security-deposit based economic consensus protocol)驶兜。協(xié)議中的節(jié)點扼仲,作為“鎖定保證金的驗證人(bonded validators)”,必須先繳納保證金(這一步叫做鎖定保證金抄淑,"bonding")才可以參與出塊和共識形成屠凶。Casper共識協(xié)議通過對這些保證金的直接控制來約束驗證人的行為。具體來說就是肆资,如果一個驗證人作出了任何Casper認為“無效”的事情矗愧,他的保證金將被罰沒,出塊和參與共識的權利也會被取消郑原。保證金的引入解決了"nothing at stake"唉韭,也就是經典POS協(xié)議中做壞事的代價很低的問題∫固椋現在有了代價,而且被客觀證明做錯事的驗證人將會付出這個代價属愤。

一開始女器,以太坊會是一個混合共識算法的系統(tǒng),其中大部分交易仍然采用POW方式住诸,少量采用POS(每100次交易就會使用POS機制)驾胆。

POS權益證明的好處

? 降低整體能源和資金成本:全球比特幣礦工每小時花費約50,000美元的電費。這是每天120萬美元只壳,每月3600萬美元俏拱,每年約4.5億美元!通過使用“權益證明”吼句,你可以使整個流程完全虛擬化并切斷所有這些成本。

? 不依賴ASIC:由于整個過程將是虛擬的事格,因此不依賴于誰擁有更好的設備或ASIC(專用集成電路)惕艳。

? 使51%的攻擊更難:51%的攻擊發(fā)生在一群礦工獲得超過50%的散列能力的情況下。使用POS能抵擋這種攻擊驹愚。

? 無惡意驗證者:任何將其資金鎖定在區(qū)塊鏈中的驗證人都將確保他們不會向鏈中添加任何錯誤或惡意塊远搪,因為這意味著他們將失去其投入的全部股份投資。

? 創(chuàng)建塊:使創(chuàng)建更新的塊和整個過程更快逢捺。

? 可擴展性:通過引入“sharding”的概念使區(qū)塊鏈可擴展(稍后會詳細介紹)谁鳍。

盡管以前有過各種簡單的關于POS共識機制的論證,但Casper協(xié)議與其他協(xié)議的區(qū)別在于劫瞳,它激勵了誠實的礦工并懲罰了不誠實的礦工倘潜。如果你把你的投資放在一個惡意塊上,你將失去你所有的投資和收益:通過此來懲罰任何不遵守規(guī)則的人志于。

“想象一下坐在圓桌旁的100個人涮因。一個人擁有一堆文件,每個文件都有不同的交易歷史伺绽。第一名參與者拿起一支筆并簽名养泡,然后傳遞給下一個做出類似選擇的人。如果每個參與者簽署大多數參與者登錄的交易歷史奈应,則每個參與者只獲得1美元澜掩。如果你想搞小動作,在一頁上簽名杖挣,然后在另一頁上又簽字肩榕,你的房子就會燒毀,“

什么是智能合約程梦?

智能合約顧名思義就是自動化合約点把。它們是自動執(zhí)行的橘荠,并在其代碼上寫入了特定的指令,并在特定條件下執(zhí)行郎逃。

智能合約是在Ethereum生態(tài)系統(tǒng)中如何完成的:

智能合約執(zhí)行流程

當有人想要在以太坊完成一項特定任務時哥童,他們會與一個或多個人發(fā)起智能合約。

智能合約是一系列指令褒翰,使用編程語言“ solidity” 編寫贮懈,該編程語言基于IFTTT邏輯(即IF-THIS-THEN-THAT邏輯工作:如果符合某個條件則做某件事情)∮叛担基本上朵你,如果完成了第一組指令,那么執(zhí)行下一個功能揣非,然后執(zhí)行下一個功能抡医,并繼續(xù)重復,直到達到合同結束早敬。

為了理解智能合約機制忌傻,我們可以設想有一臺自動售貨機。你采取售賣的的每一步都像是下一步執(zhí)行本身的觸發(fā)器搞监。它有點像多米諾骨牌效應水孩。來看看你在與自動售貨機進行交互時將采取的步驟:

? 第1步:你給自動售貨機一些錢。

? 第2步:你按下與你想要的貨物對應的按鈕琐驴。

? 第3步:你買的貨物自動從售貨機出來俘种,你拿到它。

現在看看所有這些步驟并思考它绝淡。如果前一個步驟未執(zhí)行宙刘,是否有任何步驟有效?每一步都與前一步直接相關够委。還有一個要考慮的因素荐类,它是智能合約的一個組成部分。你會發(fā)現茁帽,在與自動售貨機的整個交互過程中玉罐,你(請求者)完全是與機器(提供者)一起工作的。絕對沒有第三方參與潘拨。

那么吊输,現在這個交易看起來如果發(fā)生在以太坊網絡上呢?

假設你剛剛在Ethereum網絡的自動售貨機上購買了一些東西铁追,那么這些步驟將如何季蚂?

?步驟1:你給自動售貨機一些錢,這會被以太坊網絡中的所有節(jié)點記錄下來,交易會在賬本中更新扭屁。

?步驟2:按下與你想要的貨物對應的按鈕算谈,并在Ethereum網絡和分類賬中更新記錄。

?第3步:該貨物自動出來料滥,你拿到它然眼,這是由所有的節(jié)點和總賬記錄。

你通過智能合同進行的每筆交易都將通過網絡進行記錄和更新葵腹。它所做的是讓參與合同的每個人都對自己的行為負責高每。它通過使整個網絡可見的每一個行動消除惡意行為。

什么是以太坊虛擬機践宴?

在我們了解以太坊虛擬機(EVM)之前鲸匿,我們必須了解為什么需要“虛擬機”。

那么讓我們回到智能合約阻肩。

我們希望在我們的智能合約中有哪些理想的屬性带欢?

任何在區(qū)塊鏈上運行的東西都必須是不可變的,并且必須能夠在不損害其完整性的情況下運行多個節(jié)點烤惊。因此洪囤,智能合約功能需要三個特性

? 確定性。

? 可終止撕氧。

? 隔離性。

特征#1:確定性

一個程序是確定性的喇完,如果它每次給一個給定的輸入提供相同的輸出伦泥。例如。如果3 + 1 = 4锦溪,那么3 + 1總是4(假設基數相同)不脯。所以當一個程序在不同的計算機上向同一組輸入提供相同的輸出時,該程序被稱為確定性的刻诊。

有一個程序可以以不確定的方式行事的各種時刻:

? 調用非確定性系統(tǒng)函數:當程序員在其程序中調用非確定性函數時防楷。

? 非確定性數據資源:如果一個程序在運行期間獲取數據并且該數據源不確定,那么該程序將變得不確定则涯。例如复局。假設一個程序獲得特定查詢的前10個谷歌搜索。該列表可能會不斷變化粟判。

? 動態(tài)調用:當程序調用第二個程序時亿昏,它被稱為動態(tài)調用。由于呼叫目標僅在執(zhí)行期間確定档礁,因此它本質上是不確定的角钩。

特征#2:可終止

在數學邏輯中,我們有一個稱為“暫停問題”的錯誤〉堇瘢基本上惨险,它表明無法知道給定的程序是否可以在有限的時間內執(zhí)行其功能。1936年脊髓,Alan Turing使用Cantor的對角線問題推斷辫愉,無法知道給定的程序是否可以在時限內完成。

這顯然是智能合約的一個問題供炼,因為根據定義一屋,合約必須能夠在給定時間內終止。采取了一些措施來確保有一種方法可以從外部“殺死”合同并且不會陷入無休止的循環(huán)袋哼,這會消耗資源:

? 圖靈不完備性:圖靈不完備區(qū)塊鏈的功能有限冀墨,不能進行跳轉和/或循環(huán)。因此他們不能進入無限循環(huán)涛贯。

? 步驟和費用計量表:程序可以簡單地跟蹤它所采取的編號“步驟”诽嘉,即執(zhí)行的指令數量,然后在執(zhí)行特定步驟計數后終止弟翘。另一種方法是費用計量器。這里的合同是以預付費執(zhí)行的稀余。每個指令執(zhí)行都需要特定的費用悦冀。如果花費超過了預付費师骗,那么合同將被終止。

? 定時器:這里保留一個預定義的定時器辟癌。如果合同執(zhí)行超過時間限制寒屯,則會在外部中止。

功能#3:隔離性

在區(qū)塊鏈中黍少,任何人和每個人都可以上傳智能合約寡夹。但是,正因為如此仍侥,這些合同可能在故意和不知情的情況下包含病毒和錯誤要出。

如果合同不是隔離的,這可能會妨礙整個系統(tǒng)农渊。因此患蹂,將合同隔離在沙箱中以保護整個生態(tài)系統(tǒng)免受任何負面影響至關重要或颊。

通常情況下,智能合約可以基于以下兩種系統(tǒng)之一運行:

? 虛擬機:以太坊使用這個传于。

? Docker:Fabric使用這個囱挑。

讓我們來比較這兩個,并確定哪些是更好的生態(tài)系統(tǒng)沼溜。為了簡單起見平挑,我們將比較以太坊(虛擬機)和Fabric(Docker)。

EVM和Docker的對比

因此系草,可以看出通熄,虛擬機為智能合同提供了更好的確定性,可終止和隔離的環(huán)境找都。然而唇辨,dockers有一個明顯的優(yōu)勢。他們在能為虛擬機(如以太坊虛擬機之類)提供靈活的編碼語言能耻。

EVM是所有智能合約在以太坊中運作的虛擬機器赏枚。它是一個簡單而強大的圖靈完備的 256位虛擬機。圖靈完備意味著在給定資源和內存的情況下晓猛,EVM中執(zhí)行的任何程序都可以解決任何問題饿幅。

為了在EVM中編寫智能合約,需要學習編程語言Solidity戒职。

那么:

什么是Solidity栗恩?

對于想要學習如何創(chuàng)建智能合約的人來說,Solidity是絕對必要的洪燥。Gavin Wood摄凡,Christian Reitwiessner,Alex Beregszaszi蚓曼,Yoichi Hirai和幾位以前的以太坊核心成員開發(fā)了Solidity,以便在區(qū)塊鏈平臺(如以太坊)撰寫智能合約钦扭。

Solidity是一種面向對象的語言纫版,語法非常類似于ECMAScript(Javascript)。從以太坊設計原理文檔中客情,我們需要記住一些關鍵點其弊,即我們正在使用32字節(jié)指令字大小的堆棧和內存模型,EVM(以太坊虛擬機)使我們能夠訪問程序“堆棸蛘“梭伐,它就像一個寄存器空間,我們也可以粘貼存儲器地址仰担,使程序計數器循環(huán)/跳轉(用于順序程序控制糊识,EVM需要智能合約中的完全確定性。

(注意:以太坊計劃最終從Solidity轉移到Viper。)

我們來看看一個基本的Solidity合約示例赂苗。

讓我們運行一個簡單的while循環(huán):

contract BasicIterator { address creator; // reserve one "address"-type spot uint8[10] integers; // reserve a chunk of storage for 10 8-bit unsigned integers in an array function BasicIterator() { creator = msg.sender;uint8 x = 0; //Section 1: Assigning valueswhile(x < integers.length) { integers[x] = x;? x++; } } function getSum() constant returns (uint) { uint8 sum = 0; uint8 x = 0; //Section 2: Adding the integers in an array.while(x < integers.length) { sum = sum + integers[x];x++; } return sum; } // Section 3: Killing the contractfunction kill() { if (msg.sender == creator) { suicide(creator); }}}

我們來分析一下代碼愉耙。為了便于理解,我們已經將代碼分成三部分拌滋。

第1部分:分配值

在第一步中朴沿,我們將填充一個名為“integers”的數組,其中包含10個8位無符號整數败砂。我們這樣做的方式是通過一個while循環(huán)赌渣。我們來看看while循環(huán)內發(fā)生了什么。

while(x < integers.length) {integers[x] = x;x++;}

記住昌犹,我們已經給整數x賦了一個“0”的值坚芜。while循環(huán)從0到整數。長度祭隔。Integers.length是一個返回數組最大容量的函數货岭。因此,如果我們確定數組將有10個整數疾渴,則arrayname.length將返回值10.在上面的循環(huán)中千贯,x的值從0到9(<10),并將其自身的值分配給整數數組也是如此搞坝。因此搔谴,在循環(huán)結束時,整數將具有以下值:

0,1,2,3,4,5,6,7,8,9桩撮。

第2部分:添加數組內容

在getSum()函數內部敦第,我們將添加數組本身的內容。方法是通過重復上面的while循環(huán)并使用變量“sum”來添加數組的內容店量。

第3部分:中止合同

該功能會中止合同并將合同中的剩余資金返還給合同創(chuàng)建者芜果。

當被問及創(chuàng)造 Solidity后面的靈感和動機是什么時,Gavin Woods博士這樣說道:

“它[Solidity]旨在成為開發(fā)合同的復雜工具融师,最終可以為開發(fā)人員和用戶提供有關代碼所做工作的完整信息右钾。為了解決這個問題,我設計了一種合約友好型文檔格式的NatSpec旱爆。我還提出了一個正式的校對語言子集(尚未實施)舀射,以便最大限度地提供可以進行的正確性保證。

我將事件作為第一類公民引入Solidity語言中怀伦,以便為類似于函數調用的LOG提供很好的抽象脆烟。對此的啟示來自Qt元對象系統(tǒng)的“signals”。

Christian R.和我一起想到的一個后來的功能是功能調節(jié)器; 它允許作為函數簽名的一部分放置的屬性對視函數體進行一些修改房待。作為一種非常具有說明性的表達手段邢羔,這是一種很好地融入到面向契約的編程領域的習慣用法驼抹。“张抄,如果對于智能合約開發(fā)工具和環(huán)境感興趣砂蔽,也可以瀏覽:區(qū)塊鏈開發(fā):最佳的智能合約開發(fā)工具總結

什么是以太(Ether)和 Gas?

以太幣(Ether)是生態(tài)系統(tǒng)中的主要代幣(token)署惯。激勵參與者執(zhí)行以太相關的智能合同項目左驾。gas是滿足特定合同所有需求所需的’燃料’量,它用來衡量一個行為或者一系列行為有多少“工作量”极谊。诡右。

當某人提交智能合同時,它具有預定的 gas 價值轻猖。當合同執(zhí)行時帆吻,合同的每一步都需要執(zhí)行一定數量的gas。所以:gas是計算費用的方式咙边。不過猜煮,這些費用仍然是以ether計算。類似于败许,我開車需要消耗多少天然氣(gas)王带,但是最終結算時用人民幣(以太幣)來結算。

這可能導致兩種情況:

? 所需的gas超過了設定的極限市殷。如果是這種情況愕撰,那么合同狀態(tài)將恢復到原始狀態(tài),并且所有的gas都用完了醋寝。

? 所需的gas少于設定的限值搞挣。如果是這樣的話,那么合同就完成了音羞,剩余的gas被交給合同制定者囱桨。

以下是平均gas價格的圖表。

圖片來源:Etherscan

Gas 是以太坊的命脈,就好比石油是工業(yè)系統(tǒng)的命脈一般嗅绰。

以太坊的所有交易均由礦工確認蝇摸∧岜洌基本上,他們必須手動將每一筆交易放入他們?yōu)榻灰走M行驗證而開采的塊中策州。作為交換他們的服務讥电,他們收取一定數量的交易費用。

通常情況下踩叭,高額gas費用的智能合約是優(yōu)先考慮的,因為礦工有機會在那里收取更高的費用。與比特幣相比制圈,收取的費用仍然很有名们童。

這張圖表比較了比特幣的交易費用與以太坊。

圖片來源:Bitinfocharts

事實上鲸鹦,正如你所看到的慧库,在這個0.01 Ether的交易中,只有0.00000000000002以太被收集為交易費用馋嗜,這是<0.000001美元齐板。

圖片來源:Etherscan

Dapps和ICO

以太坊最令人興奮的功能之一顯然是它為用戶創(chuàng)建自己的Dapps提供的平臺。

任何人葛菇,任何地點都可以創(chuàng)建自己的dAPP甘磨,并通過提供白皮書,通過ICO獲得資金眯停!相關ICO流程可以參考:數字貨幣ICO流程济舆,ICO 與IPO的差異分析

這是以太坊最令人興奮和最危險的功能之一(事實上,很可能你已經看到了這些ICO最近瘋狂的圈錢)

由于某些企業(yè)重量級人物的支持和ICO的普及莺债,以太坊已經得到廣泛采用滋觉。因此,以太坊網絡上的節(jié)點數目呈指數級增長齐邦。實際上椎侠,它是擁有最多節(jié)點的加密貨幣,因此最為分散侄旬。

最后:

目前很多區(qū)塊鏈項目和ICO相關大部分都衍生于以太坊肺蔚,當然也有很多非常垃圾的圈錢項目,但是正如某人說過:技術無罪儡羔。不能因為一些不正常炒作而否定技術本身宣羊,我們班更應該關注的是如何使用技術來推動產業(yè)革命。

來源:知乎區(qū)塊鏈專欄

微信公眾號:區(qū)塊鏈大小姐

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末汰蜘,一起剝皮案震驚了整個濱河市仇冯,隨后出現的幾起案子,更是在濱河造成了極大的恐慌族操,老刑警劉巖苛坚,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異色难,居然都是意外死亡泼舱,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門枷莉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娇昙,“玉大人,你說我怎么就攤上這事笤妙∶罢疲” “怎么了噪裕?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長股毫。 經常有香客問我膳音,道長,這世上最難降的妖魔是什么铃诬? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任祭陷,我火速辦了婚禮,結果婚禮上氧急,老公的妹妹穿的比我還像新娘颗胡。我一直安慰自己,他們只是感情好吩坝,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布毒姨。 她就那樣靜靜地躺著,像睡著了一般钉寝。 火紅的嫁衣襯著肌膚如雪弧呐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天嵌纲,我揣著相機與錄音俘枫,去河邊找鬼。 笑死逮走,一個胖子當著我的面吹牛鸠蚪,可吹牛的內容都是我干的。 我是一名探鬼主播师溅,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茅信,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了墓臭?” 一聲冷哼從身側響起蘸鲸,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窿锉,沒想到半個月后酌摇,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡嗡载,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年窑多,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洼滚。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡埂息,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情耿芹,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布挪哄,位于F島的核電站吧秕,受9級特大地震影響,放射性物質發(fā)生泄漏迹炼。R本人自食惡果不足惜砸彬,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斯入。 院中可真熱鬧砂碉,春花似錦、人聲如沸刻两。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磅摹。三九已至滋迈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間户誓,已是汗流浹背饼灿。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留帝美,地道東北人碍彭。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像悼潭,于是被迫代替她去往敵國和親庇忌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內容

  • 聽《幸福的方法》女责,感受怎樣才能幸福漆枚,思考幸福到底是什么?才恍然抵知,幸福其實很簡單墙基。 伴隨著年齡的增長,卻發(fā)現快樂在遞...
    小笨魚王月閱讀 257評論 12 0
  • 文圖/仙女艾 看到別人寫的游記刷喜,就這么興起也想寫自己的廈門行残制。仔細一想,才發(fā)現到今天剛剛好過了兩個月了掖疮。 我們三人...
    仙女艾閱讀 337評論 0 1
  • 下午下了一陣雨?初茶,地上濕濕的。本來就打算把車庫門前的草清清浊闪,正好今天休息恼布,又剛下完雨螺戳,決定馬上開工。 誰知下完雨也...
    杭杭出狀元閱讀 318評論 0 1
  • 今日看諸子百家的學說,發(fā)現其中的很多理論爽待,有的剛好與自己的認知相同损同,比如“所以知之在人者謂之知,知有所合謂之智”鸟款;...
    司牧堯閱讀 1,854評論 0 1