<Mastering Bitcoin V1> Note

Overview
前言
快速術語檢索
第1章 介紹
第2章 比特幣的原理
第3章 比特幣客戶端
第4章 密鑰搓彻、地址、錢包
第4章 高級密鑰和地址
第5章 交易
第6章 比特幣網絡
第7章 區(qū)塊鏈
第8章 挖礦與共識
第8章 區(qū)塊鏈分叉嘱朽、礦池旭贬、共識攻擊
第9章 競爭幣、競爭塊鏈和應用程序
第10章 比特幣安全
附錄 比特幣改進協議

Overview

記錄一下個人關于這本書的閱讀搪泳,
<精通比特幣 第一版>/<Mastering Bitcoin 1st Edition>


前言

  • 大自然向我們證明稀轨,去中心化體制具有彈性并能創(chuàng)造出意想不到的復雜性和難以想象的精妙,而不需要中央集權體制岸军、等級制度或復雜的組織結構奋刽。

快速術語檢索

  • 地址/比特幣地址(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串字符和數字組成,以阿拉伯數字“1”開頭艰赞。就像別人向你的email地址發(fā)送電子郵件一樣佣谐,他可以通過你的比特幣地址向你發(fā)送比特幣。
  • 區(qū)塊方妖,一個區(qū)塊就是若干交易數據的集合台谍,它會被標記上時間戳和之前一個區(qū)塊的獨特標記。區(qū)塊頭經過哈希運算后會生成一份工作量證明吁断,從而驗證區(qū)塊中的交易趁蕊。有效的區(qū)塊經過全網絡的共識后會被追加到主區(qū)塊鏈中
  • 區(qū)塊鏈,區(qū)塊鏈是一串通過驗證的區(qū)塊仔役,當中的每一個區(qū)塊都與上一個相連掷伙,一直連到創(chuàng)世區(qū)塊
  • 確認,當一項交易被區(qū)塊收錄時又兵,我們可以說它有一次確認任柜。礦工們在此區(qū)塊之后每再產生一個區(qū)塊卒废,此項交易的確認數就再加一。當確認數達到六及以上時宙地,通常認為這筆交易比較安全并難以逆轉
    錢包摔认,錢包指保存比特幣地址和私鑰的軟件,可以用它來接受宅粥、發(fā)送参袱、儲存你的比特幣

第1章 介紹

比特幣代表了數十年的密碼學和分布式系統的巔峰之作,這是一個獨特而強大的組合秽梅,匯集了四個關鍵的創(chuàng)新點抹蚀。比特幣由這些構成,

  • 一個去中心化的點對點網絡(比特幣協議)
  • 一個公共的交易賬簿(區(qū)塊鏈)
  • 一個去中心化的數學的和確定性的貨幣發(fā)行(分布式挖礦)
  • 一個去中心化的交易驗證系統(交易腳本)

第3章 比特幣客戶端

創(chuàng)世區(qū)塊于2009-01-04 02:15:05(GMT+8)

client 命令

bitcoin code 比特幣核心代碼,

- getinfo:顯示關于比特幣網絡節(jié)點企垦、錢包环壤、區(qū)塊鏈數據庫狀態(tài)的基礎信息
- encryptwallet:用自定義密碼`加密`比特幣錢包
- walletpassphrase:用自定義密碼和鎖定倒計時來`解密`錢包
- backupwallet:備份錢包
- importwallet:加載錢包(需先解密錢包)
- dumpwallet:打印錢包信息

- getnewaddress:為錢包新建一個地址/公鑰(一個錢包可以包含很多地址?)
- getreceivedbyaddress:該地址已經接收到的比特幣數額
- listtransactions:整個錢包所接收到的交易钞诡,得到交易哈希值txid
- getaddressesbyaccount:列出整個錢包的所有地址
- getbalance:顯示所有確認過的交易后的總余額
- dumpprivkey:將私鑰以Base58校驗和編碼格式顯示
- base58check-decode:私鑰從B58C編碼到十六進制Hex編碼
- base58check-encode:Hex到B58C

- gettransaction:通過txid獲取一筆交易簡要
- getrawtransaction:通過txid獲取一個`原始十六進制字符串`
- decoderawtransaction:解碼raw transcation成json形式

- getblock:查找區(qū)塊的信息
- getblockhash:通過區(qū)塊高度來檢索一個區(qū)塊(創(chuàng)世區(qū)塊高度為0)

- listunspent:查看錢包中余額
- gettxout:查看未花費的輸出的詳細細節(jié)
- createrawtransaction:建立一筆交易郑现,并產生了一個`原始十六進制字符串`
- signrawtransaction:對一筆交易進行簽名(需先解密錢包),并產生了一個`原始十六進制字符串`
- sendrawtransaction:發(fā)布交易到比特幣網絡荧降,并返回txid

第4章 密鑰懂酱、地址、錢包

  • 錢包是私鑰的容器
  • 比特幣的所有權是通過數字密鑰誊抛、比特幣地址和數字簽名來確立的
  • 每筆比特幣交易都需要一個有效的簽名才會被存儲在區(qū)塊鏈列牺。只有有效的數字密鑰才能產生有效的數字簽名,因此擁有比特幣的密鑰副本就擁有了該帳戶的比特幣控制權
橢圓曲線: y^2 mod p = (x^3 + 7) mod p
公鑰K到比特幣地址A
Base58Check編碼
key relation
  • 私鑰256bit拗窃,公鑰520bit
  • 錢包是私鑰的容器瞎领,可以包含多個私鑰-公鑰對。用戶用這些私鑰來簽名交易随夸,從而證明它們擁有交易的輸出(也就是其中的比特幣)九默。比特幣是以交易輸出的形式來儲存在區(qū)塊鏈中(通常記為vout或txout)
  • 私鑰就類似于銀行賬戶密碼;地址就類似于銀行賬號
  • 錢包是我們用來生產私鑰和地址宾毒、管理私鑰和地址驼修、接收和發(fā)送比特幣的工具
  • 比特幣私鑰是什么?備份dat后錢包里所有的錢都備份起來了嗎?

第5章 交易

  • 比特幣網絡被設計為能高效靈活地傳遞交易和區(qū)塊至所有節(jié)點的模式诈铛,因而比特幣網絡能抵御入侵乙各。為了避免垃圾信息的濫發(fā)、拒絕服務攻擊或其他針對比特幣系統的惡意攻擊幢竹,每一個節(jié)點在傳播每一筆交易之前均進行獨立驗證耳峦。 一個異常交易所能到達的節(jié)點不會超過一個
  • UTXO,Unspent Transaction Output焕毫, 表示未花費的輸出蹲坷,即余額
  • 交易費可當作是為了包含(挖礦)一筆交易到下一個區(qū)塊中的一種鼓勵驶乾,也可當作是對于欺詐交易和任何種類的系統濫用,在每一筆交易上通過征收一筆小成本的稅而造成的一種妨礙
  • 在孤立池中保留孤塊的機制保證了其他合法的交易不會只是因為父交易被耽誤了而被拋棄循签,類似于java線程池queue
  • 比特幣交易腳本語言级乐,也稱為腳本,并不是一種通用語言县匠,施加的這些限制確保該語言不被用于創(chuàng)造無限循環(huán)或其它類型的邏輯炸彈风科,這樣的炸彈可以植入在一筆交易中,通過引起拒絕服務的方式攻擊比特幣網絡聚唐。受限制的語言能防止交易激活機制被人當作薄弱環(huán)節(jié)而加以利用
  • 比特幣網絡上的大多數交易都是P2PKH交易丐重,此類交易都含有一個鎖定腳本腔召,該腳本由公鑰哈希實現阻止輸出功能杆查,公鑰哈希即為廣為人知的比特幣地址。由P2PKH腳本鎖定的輸出可以通過鍵入公鑰和由相應私鑰創(chuàng)設的數字簽名得以解鎖
  • P2SH(Pay-to-Script-Hash)臀蛛,向含該哈希的組合腳本支付(520byte)取代了之前的向該5個多重簽名腳本支付(20byte)亲桦,即通過SHA256來實現降維
  • 將比特幣鎖定在一個未來不能被花費的P2SH中。因為比特幣網絡本身會接受這一P2SH浊仆,即便它與無效的贖回腳本所對應(因為該贖回腳本哈希沒有對其所表征的腳本給出指令)客峭,存放比特幣到未來

第6章 比特幣網絡

  • 比特幣采用了基于國際互聯網(Internet)的P2P(peer-to-peer)網絡架構。P2P是指位于同一網絡中的每臺計算機都彼此對等抡柿,各個節(jié)點共同提供網絡服務,不存在任何特殊節(jié)點。每個網絡節(jié)點以“扁平(flat)”的拓撲結構相互連通绵咱。在P2P網絡中不存在任何服務端(server)空幻、中央化的服務、以及層級結構
  • 擴展比特幣網絡(extended bitcoin network)指代所有包含比特幣P2P協議囱稽、礦池挖礦協議郊尝、Stratum協議以及其他連接比特幣系統組件相關協議的整體網絡結構
  • 盡管比特幣P2P網絡中的各個節(jié)點相互對等,但是根據所提供的功能不同战惊,各節(jié)點可能具有不同的分工流昏。每個比特幣節(jié)點都是路由、區(qū)塊鏈數據庫吞获、挖礦况凉、錢包服務的功能集合
    • 全節(jié)點,保存有一份完整的各拷、最新的區(qū)塊鏈拷貝茎刚。能夠獨立自主地校驗所有交易,而不需借由任何外部參照
    • 輕量級節(jié)點/SPV節(jié)點撤逢,只保留了區(qū)塊鏈的一部分膛锭,它們通過一種名為“簡易支付驗證(SPV)”的方式來完成交易驗證
    • 挖礦節(jié)點粮坞,通過運行在特殊硬件設備上的工作量證明算法(proof-of-work),以相互競爭的方式創(chuàng)建新的區(qū)塊
    • 用戶錢包節(jié)點初狰,可以是全節(jié)點或SPV節(jié)點
    • 其他類型節(jié)點
擴展比特幣網絡的不同節(jié)點類型
  • 全節(jié)點通過檢查整個鏈中在它之下的數千個區(qū)塊來保證這個UTXO沒有被支付莫杈,從而驗證交易
  • SPV節(jié)點通過檢查在其上面的區(qū)塊將它壓在下面的深度來驗證交易
  • Bloom filter被用來過濾SPV節(jié)點從對等節(jié)點里收到的交易信息,增加私密性

第7章 區(qū)塊鏈

  • 區(qū)塊鏈是由包含交易信息的區(qū)塊從后向前有序鏈接起來的數據結構
  • 瀑布效應奢入,把區(qū)塊鏈想象成地質構造中的地質層或者是冰川巖芯筝闹,在區(qū)塊鏈里,最近的幾個區(qū)塊可能會由于區(qū)塊鏈分叉所引發(fā)的重新計算而被修改腥光。最新的六個區(qū)塊就像幾英寸深的表土層关顷。但是,超過這六塊后武福,區(qū)塊在區(qū)塊鏈中的位置越深议双,被改變的可能性就越小
  • 區(qū)塊是一種被包含在公開賬簿(區(qū)塊鏈)里的聚合了交易信息的容器數據結構
    • 區(qū)塊頭,80byte
      • 引用父區(qū)塊哈希值的數據捉片,區(qū)塊與區(qū)塊鏈中前一區(qū)塊(父區(qū)塊)相連接
      • 元數據平痰,即難度、時間戳和nonce伍纫,與挖礦競爭相關
      • merkle樹根宗雇,一種用來有效地總結區(qū)塊中所有交易的數據結構
    • 區(qū)塊主體,一長串交易莹规,每個區(qū)塊至少包含超過500個交易赔蒲,平均每個交易至少是250byte
  • 無論區(qū)塊中有一個交易或者有十萬個交易,Merkle根總會把所有交易歸納為32byte
  • 一個節(jié)點能夠通過生成一條僅有4個32byte哈希值長度(總128byte)的Merkle路徑良漱,來證明區(qū)塊中存在一筆交易K
  • SPV節(jié)點會收到區(qū)塊頭(用于關聯交易與區(qū)塊舞虱、區(qū)塊和區(qū)塊鏈,證明交易存在于區(qū)塊鏈)和Merkle路徑(一條連接目標交易Merkle根的路徑债热,節(jié)點使用該路徑找到與該交易相關的區(qū)塊砾嫉,進而驗證對應區(qū)塊中該交易的有無)

第8章 挖礦與共識

比特幣發(fā)行總量計算

初始條件,

  1. 每10分鐘產生一個區(qū)塊
  2. 初始的塊獎勵為50BTC

計算結論窒篱,

  • 每10分鐘產生一個區(qū)塊焕刮,210000個區(qū)塊大約生產的時間是差不多4年的時間(4 * 365 * 24 * 60 / 10 = 210240)
  • 初始的塊獎勵為50BTC,所有區(qū)塊的獎勵從50到25再到12.5逐漸遞減墙杯,所以一共是 50 + 25 + 12.5 + 6.25 + 3.125 ... = 100的獎勵
  • 210000 * 50 + 210000 * 25 + 210000 * 12.5 +……= 21萬 * 50 * 2 = 2100萬
  • 1 聰(Satoshi) = 0.00000001 BTC(1億倍)
  • 總2100萬個BTC配并,初始50BTC獎勵,然后每一個周期折半高镐,即50/(2^n) = 1聰溉旋,得n = 32.22。一個周期4年嫉髓,得32.22 * 4之后比特幣礦就會挖完观腊,不再有新BTC獎勵邑闲,2009 + 32.22 * 4 = 2137.88 ≈ 2140年,屆時新區(qū)塊的挖掘不再包含比特幣獎勵梧油,礦工的收益全部來自交易費
  • 區(qū)塊鏈并不是由一個中心機構創(chuàng)造的苫耸,它是由比特幣網絡中的所有節(jié)點各自獨立競爭完成的。換句話說比特幣網絡中的所有節(jié)點儡陨,依靠著節(jié)點間的不穩(wěn)定的網絡連接所傳輸的信息褪子,最終得出同樣的結果并維護了同一個公共總帳
  • 中本聰的主要發(fā)明就是這種去中心化的自發(fā)共識機制。這種自發(fā)骗村,是指沒有經過明確選舉或者沒有固定達成的共識的時間(paxos? zookeeper?)
  • 如果交易費用太低以至于無法進入一個空的區(qū)塊嫌褪,交易將被拒絕
  • 在收到交易后,胚股,每一個節(jié)點都會在全網廣播前對這些交易進行校驗笼痛,并以接收時的相應順序,為有效的新交易建立一個池(交易池)
  • 挖礦機從比特幣網絡收到了區(qū)塊277,315信轿。這個區(qū)塊的到來標志著終結了產出區(qū)塊277,315競賽晃痴,與此同時也是產出區(qū)塊277,316競賽的開始
  • 挖礦節(jié)點會檢查內存池中的全部交易残吩,并移除剛剛到來的277,315區(qū)塊中出現過的交易記錄财忽,確保任何留在內存池中的交易都是未確認的,等待被記錄到新區(qū)塊中
  • 挖礦節(jié)點立刻構建一個新的空區(qū)塊泣侮,做為區(qū)塊277,316(未全網傳播)的候選區(qū)塊即彪。稱作候選區(qū)塊是因為它還沒有包含有效的工作量證明,不是一個有效的區(qū)塊活尊,而只有在礦工成功找到一個工作量證明解之后隶校,這個區(qū)塊才生效
  • 在區(qū)塊被填滿后,內存池中的剩余交易會成為下一個區(qū)塊的候選交易蛹锰。因為這些交易還留在內存池中深胳,所以隨著新的區(qū)塊被加到鏈上,這些交易輸入時所引用UTXO的深度(即交易“塊齡”)也會隨著變大铜犬。由于交易的優(yōu)先值取決于它交易輸入的“塊齡”舞终,所以這個交易的優(yōu)先值也就隨之增長了。最后癣猾,一個零礦工費交易的優(yōu)先值就有可能會滿足高優(yōu)先級的門檻敛劝,被免費地打包進區(qū)塊(交易確認時長換交易費)
  • 尋找一個比特幣區(qū)塊需要整個網絡花費10分鐘來處理,每發(fā)現2,016個區(qū)塊時會根據前2,016個區(qū)塊完成的時間對難度進行調整
  • 挖礦節(jié)點創(chuàng)建一個候選區(qū)塊纷宇,礦機上有成千上萬個集成電路可以超高速地并行運行SHA256算法夸盟。這些定制的硬件通過USB連接到挖礦節(jié)點上,將277,316區(qū)塊頭信息傳送給這些硬件像捶,讓它們以每秒億萬次的速度進行nonce測試上陕。在對區(qū)塊277,316的挖礦工作開始大概11分鐘后桩砰,這些硬件里的其中一個求得了解并發(fā)回挖礦節(jié)點。當把這個結果放進區(qū)塊頭時释簿,nonce 4,215,469,401 就會產生一個區(qū)塊哈希值:0000000000000002a7bbd25a417c0374cc55261021e8a9ca74442b01284f0569 < 0000000000000003A30C00000000000000000000000000000000000000000000(目標難度)五芝。挖礦節(jié)點立刻將這個區(qū)塊發(fā)給它的所有相鄰節(jié)點。這些節(jié)點在接收并驗證這個新區(qū)塊后辕万,也會繼續(xù)傳播此區(qū)塊枢步。當這個新區(qū)塊在網絡中擴散時,每個節(jié)點都會將它作為區(qū)塊277,316加到自身節(jié)點的區(qū)塊鏈副本中渐尿。當挖礦節(jié)點收到并驗證了這個新區(qū)塊后醉途,它們會放棄之前對構建這個相同高度區(qū)塊的計算,并立即開始計算區(qū)塊鏈中下一個區(qū)塊的工作(弱礦機算一次砖茸,強礦機算一萬次隘擎,算力越強,越快逼近目標nonce凉夯。nonce∈[0, N]货葬,有些從0開始,有些從N/2開始劲够,可以并行震桶。有沒有argument說從N/2開始自增/自減更容易hash到小于目標難度?引入礦池)
  • 校驗新區(qū)塊
    • 區(qū)塊頭的哈希值小于目標難度(確認包含足夠的工作量證明)
    • 第一個交易(且只有第一個)是coinbase交易
    • 區(qū)塊時間戳早于驗證時刻未來兩個小時(允許時間錯誤)
  • 每一個節(jié)點總是選擇并嘗試延長代表累計了最大工作量證明的區(qū)塊鏈征绎,也就是最長的或最大累計難度的鏈
  • 帶有短鏈的節(jié)點接納了新的更長的鏈蹲姐,被迫改變了原有對區(qū)塊鏈的觀點,這就叫做鏈的重新共識(一個新區(qū)塊的誕生又工作量證明人柿,其歸入主鏈過程如果出現分叉柴墩,則還依賴于基于這個新區(qū)塊進行下一輪新區(qū)快挖掘的速度)
  • 比特幣將區(qū)塊間隔設計為10分鐘,是在更快速的交易確認和更低的分叉概率間作出的妥協
算力演進(https://bitinfocharts.com/zh/comparison/bitcoin-hashrate.html)
價格演進(https://bitinfocharts.com/zh/bitcoin)
最富有錢包地址(https://btc.com/stats/rich-list)
  • 礦工連接到礦池服務器使用一個采礦協議比如Stratum (STM)或者 GetBlockTemplate (GBT)
  • P2Pool通過將礦池服務器的功能去中心化凫岖,實現一個并行的類似區(qū)塊鏈的系統江咳,名叫份額鏈
  • 比起用一個礦池服務器記錄礦工的份額和獎勵,份額鏈允許所有礦工通過類似比特幣區(qū)塊鏈系統的去中心化的共識機制跟蹤所有份額(低難度區(qū)塊鏈)
  • 共識攻擊也不會影響用戶的私鑰以及橢圓曲線簽名加密算法(ECDSA)哥放。共識攻擊也不能從其他的錢包那里偷到比特幣歼指、不簽名地支付比特幣、重新分配比特幣婶芭、改變過去的交易或者改變比特幣持有紀錄东臀。共識攻擊能夠造成的唯一影響是影響最近的區(qū)塊(最多10個)并且通過拒絕服務來影響未來區(qū)塊的生成
    • 雙重支付,支付者A的BTC在支付給B后犀农,B確認了并發(fā)貨惰赋,然后A發(fā)起共識攻擊(雙重支付),該交易被無效化,而A支付到C錢包地址的交易被算有效(所以要等至少6個區(qū)塊確認后才算放心發(fā)貨)
    • 拒絕交易赁濒,拒絕對某個特定的比特幣地址提供服務轨奄,攻擊者可以故意分叉,然后重新產生區(qū)塊拒炎,并且把想忽略的交易從這個區(qū)塊中移除

第9章 競爭幣挪拟、競爭塊鏈和應用程序

  • 比特幣是20多年的分布式系統和貨幣研究的結果,是一項具有革命性的新技術:一種基于工作量證明的去中心化的一致性機制击你。這項比特幣的核心發(fā)明引領了一場包括貨幣體系玉组、金融服務、經濟學丁侄、分布式系統惯雳、投票系統、聯合監(jiān)管和合同體系在內的創(chuàng)新浪潮(:))
  • 競爭幣 alt coin鸿摇,Litecoin, Dogecoin
  • 競爭塊鏈 alt chains石景,Ethereum
  • 除了比特幣系統使用的基于工作量證明的一致性機制這種協議以外,還有基于資源證明發(fā)布證明的一些試驗性協議拙吉。后續(xù)將探討以Maidsafe和Twister為代表的這類協議
  • 有一些比特幣的競爭者潮孽,比如Ripple等,也提供電子貨幣(BTC是固定且挖礦得來筷黔,再流通往史,稀缺性)和交易網絡,但并沒有像比特幣一樣使用分布式賬簿或者一致性機制
  • 元幣的第一個實現利用了大量的 hack 技巧把元數據添加到比特幣塊鏈中必逆,比如使用比特幣地址編碼數據怠堪,或者利用空白的交易字段存放新協議層增加的這些元數據揽乱。自從交易腳本操作碼問世之后名眉,元幣得以直接將信息存放在塊鏈之中(將重要信息存儲單向存儲在區(qū)塊鏈,類似于把東西hash后放入保險柜
    • 染色幣凰棉,協議將特定比特幣指定其代表另一種資產(這個比特幣代表了盧浮宮里某件珍藏损拢,且可以被交易)
  • 比特幣BTC與比特幣現金B(yǎng)CH
  • 比特幣的一致性機制建立在基于SHA256算法的工作量證明之上。第一款引入scrypt算法作為一致性機制的競爭幣是為了便于CPU挖礦撒犀,避免ASIC礦機可能導致的算力集中化的問題
  • 比特幣的工作量證明機制只有一個目的:維護比特幣系統的安全福压。跟維護一個傳統貨幣系統比起來,挖礦的成本并不高或舞。然而荆姆,某些批評者認為挖礦這一行為是一種浪費。新一代的加密貨幣試圖解決這個爭議映凳。多目的挖礦算法就是為了解決工作量證明導致的“浪費”問題而出現的胆筒。多目的挖礦在為貨幣系統的安全加入額外需求的同時,也為該系統的供需關系加入了額外的變量
  • CryptoNote,一種提供了電子貨幣基礎的匿名性的參考實現
  • Bitmessage是一個實現了去中心化安全消息服務的比特幣競爭幣區(qū)塊鏈
  • 以太坊是一種圖靈完備的平臺仆救,基于區(qū)塊鏈賬簿抒和,用于合約的處理和執(zhí)行。它不是比特幣的一個克隆彤蔽,而是完完全全獨立的一種設計和實現摧莽,以太坊區(qū)塊鏈記錄的東西叫做合約
  • BTC圖靈非完備語言 vs Ethereum圖靈完備語言
  • 在以前,很多人類活動都需要一個中心化的機構或組織來實現權威或可信控制點的功能《倩荆現在镊辕,這些都可以去中心化了。區(qū)塊鏈和共識系統的發(fā)明蚁袭,還會顯著降低大型系統在組織及協調上的花銷丑蛤,同時也將消除權力攫取、腐敗及管制俘獲的可趁之機

第10章 比特幣安全

  • 你可以像備份其他文件一樣撕阎,備份含有密鑰的比特幣錢包受裹。它可以被復制成很多份,放到不同的地方保存起來虏束,甚至能打印到紙上進行實體備份
  • 比特幣網絡的安全性是基于工作量證明而非訪問控制
  • 一筆比特幣交易只授權向指定接收方發(fā)送一個指定數額棉饶,并且不能被修改或偽造。它不會透露任何個人信息镇匀,例如當事人的身份照藻,也不能用于權限外的支付
  • 冷存儲系統是在一個離線系統(一個從來沒有連接過互聯網的系統)上生成密鑰,并離線存儲到紙上或者 U 盤等電子媒介
  • 硬件錢包將成為比特幣儲存的主要方式
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末汗侵,一起剝皮案震驚了整個濱河市幸缕,隨后出現的幾起案子,更是在濱河造成了極大的恐慌晰韵,老刑警劉巖发乔,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異雪猪,居然都是意外死亡栏尚,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門只恨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來译仗,“玉大人,你說我怎么就攤上這事官觅∽菥” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵休涤,是天一觀的道長咱圆。 經常有香客問我,道長,這世上最難降的妖魔是什么闷堡? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任隘膘,我火速辦了婚禮,結果婚禮上杠览,老公的妹妹穿的比我還像新娘弯菊。我一直安慰自己,他們只是感情好踱阿,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布管钳。 她就那樣靜靜地躺著,像睡著了一般软舌。 火紅的嫁衣襯著肌膚如雪才漆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天佛点,我揣著相機與錄音醇滥,去河邊找鬼。 笑死超营,一個胖子當著我的面吹牛鸳玩,可吹牛的內容都是我干的。 我是一名探鬼主播演闭,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼不跟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了米碰?” 一聲冷哼從身側響起窝革,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吕座,沒想到半個月后虐译,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡米诉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年菱蔬,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片史侣。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖魏身,靈堂內的尸體忽然破棺而出惊橱,到底是詐尸還是另有隱情,我是刑警寧澤箭昵,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布税朴,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏正林。R本人自食惡果不足惜泡一,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望觅廓。 院中可真熱鬧鼻忠,春花似錦、人聲如沸杈绸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞳脓。三九已至塑娇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劫侧,已是汗流浹背埋酬。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烧栋,地道東北人奇瘦。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像劲弦,于是被迫代替她去往敵國和親耳标。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345