001-Bitcoin比特幣與BlockChain區塊鏈技術

1、比特幣歷史

2008 年 10 月 31 日,一個網名叫中本聰(英文翻譯過來滴)的傢伙發佈比特幣惟一的白皮書:《Bitcoin:A Peer-to-PeerElectronic Cash System/比特幣:一種點對點的電子現金系統》,拉開了比特幣的序幕。
2009 年 1 月 3 日,中本聰在位於芬蘭赫爾辛基的一個小型服務器上挖出了第一批 50 個比特幣,並記錄下當天泰晤士報的頭版標題:「 The Times 03/Jan/2009 Chancellor on brink ofsecond bailout for banks 」。
2010 年 5 月 21 日,第一次比特幣交易:佛羅里達程序員 Laszlo Hanyecz 用 1 萬 BTC 購買了價值 25 美圓的披薩優惠券。這是比特幣的首個兌換匯率:1: 0.0025 美金。
2010 年 7 月 17 日,第一個比特幣平臺成立。
2011 年,開始出現基於顯卡的挖礦設備。2011 年末,匯率約爲 2 美圓。
2012 年 9 月 27 日,比特幣基金創立,此時比特幣價格爲 12.46 美圓。
2012 年 11 月 28 日,比特幣產量第一次減半,即每一個新區塊新幣獎勵爲25個。
2013 年 3 月,1/3 的專業礦工已經採用專用 ASIC 礦機進行挖礦。
2013年 4 月 10 日,BTC (比特幣)創下歷史最高價,266 美圓。
2013 年 6 月 27日,德國會議做出決定:持有比特幣一年以上將予以避免稅,被業內認爲此舉變相承認了比特幣的法律地位,此時比特幣價格爲 102.24 美圓。
2013 年 10 月,世界第一臺能夠兌換比特幣的 ATM 在加拿大上線。
2013 年 11 月 29 日,比特幣的交易價格創下 1242 美圓的歷史新高,而同時黃金價格爲一盎司 1241.98 美圓,比特幣價格首度超過黃金。
2014 年 2 月,全球最大比特幣交易平臺 Mt.Gox 宣告因 85 萬個比特幣被盜而破產並關閉,形成大量投資者的損失,比特幣價格一度暴跌。
2014 年 3 月,中國第一臺能夠兌換比特幣的 ATM 在香港上線。
2014 年 6 月,美國加州經過 AB-129 法案,容許比特幣等數字貨幣在加州進行流通。
2015 年 6 月,紐約成爲美國第一個正式進行數字貨幣監管的州。
2015 年 10 月,歐盟法院裁定比特幣交易免徵增值稅。
2016 年 1 月,中國人民銀行在京召開了數字貨幣研討會,會後發佈公告宣稱或推出數字貨幣。
2016 年 7 月 9 日,比特幣產量第二次減半,即每一個新區塊新幣獎勵爲12.5個。
2017年2月4日,比特幣價格爲1008美圓/枚。
View Code

查看比特幣:https://blockchain.info/zh-cn實時價格git

2、區塊鏈及比特幣的關係

  中本聰開發了一個開源的區塊鏈技術的系統,根據系統規則,他經過解數學難題的方式建立了第一個區塊,並擁有這個區塊的記帳權,這個區塊叫創世區塊,作爲建立報酬,他得到50個比特幣及區塊中所含交易的交易費獎勵,任何人均可以接入這個區塊鏈系統,你們都經過解數學難題的方式建立新的區塊並擁有記帳權,連接在第一個創世區塊上,而後一個接一個向後排,造成一個區塊鏈,一但有人率先解出難題,就向全部接入者廣播,當成功獲得共識驗證後,將建立這個新的區塊並擁有這個區塊的記帳權,一樣能獲得獎勵——50個比特幣及區塊中所含交易的交易費獎勵,不過比特幣獎勵會約每隔4年減半,到如今只有12.5個的獎勵了。比特幣能夠在參與者之間進行儲存和流通,它的總數量固定爲2100萬枚,約在2140年被挖光,如此這樣造成的一個網絡叫比特幣網絡。程序員

  由於解一個新的難題須要巨大算力,須要工做量證實(POW),就像挖礦同樣,因此這些專業設備叫礦機(以下圖)。算法

    

  專業地說:比特幣是基於密碼學和經濟博弈的一種數字貨幣,是一個基於數字貨幣生態系統而造成的概念與技術的集合,也是歷史上首個通過大規模長時間運做檢驗的數字貨幣系統。它是區塊鏈技術的衍生品,區塊鏈狹義來說, 區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可僞造的分佈式帳本。廣義來說,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分佈式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操做數據的一種全新的分佈式基礎架構與計算範式。數據庫

 3、區塊鏈技術的特色:

  • 去中心化:區塊數據存儲在全部加入這個系統的電腦中,每個均可以是服務器。
  • 高可靠:由於去中心化,且基於點對點網絡,區塊鏈網絡中只要還有一臺電腦正常工做,服務就不會中斷,因此高可靠。
  • 安全性:主要體如今分佈式、51%攻擊,即便49%節點被攻擊或宕機也不會影響網絡的運行。
  • 去信任:系統中全部節點之間無需信任也能夠進行交易,由於數據庫和整個系統的運做是公開透明的,在系統的規則和時間範圍內,節點之間沒法欺騙彼此,區塊鏈其實是數學方法解決信任問題的產物。
  • 集體維護:系統是由其中全部具備維護功能的節點共同維護的,系統中全部人共同參與維護工做。
  • 不可篡改:一致提交後的數據會一直存在,幾乎不可被銷燬或修改。
  • 可追溯:能夠追溯區塊鏈中任什麼時候期的記錄。
  • 可靠數據庫:系統中每個節點都擁有最新的完整數據庫拷貝,修改單個節點的數據庫是無效的,由於系統會自動比較,認爲最屢次出現的相同數據記錄爲真。
  • 數據透明:全網共享帳本,每個節點都可以存儲全網發生的歷史交易記錄的完整、一致帳本。
  • 密碼學技術:區塊鏈中使用Hash算法、非對稱加密、數字簽名、數字證書等密碼學技術。
  • 源代碼開源:區塊鏈網絡中設定的共識機制、規則等均可以經過一致的、開源的源代碼進行驗證。
  • 經過區塊鏈技術衍生的新特色:
  • 做品確權、數字化證實: 經過時間戳、哈希算法對做品進行確權,證實一段文字、視頻、音頻等存在性、真實性和惟一性。

 4、區塊鏈分類

公有鏈:任何人都可自由參加和退出,好比中本聰發起的比特幣網絡。
聯盟鏈:加入和退出須要通過聯盟受權,好比全球多家公司發起的聯盟鏈。
私有鏈:權力徹底控制在一個組織中,好比公司內部使用的私有鏈。編程

5、區塊和區塊鏈原理及結構:

  • 區塊(Block):由記錄着區塊大小信息、區塊頭信息、交易計數器、交易具體內容等的區塊文件做爲基本存儲單位,記錄着一段時間內發生的交易和狀態結果,是對當前帳本狀態的一次共識;
  • 鏈(Chain):由每一個區塊頭信息中記錄的上一個合法區塊值進行連接,構成一個以時間爲序的區塊鏈是整個系統狀態變化的日誌記錄。
  • 區塊鏈(BlockChain):由記錄着區塊大小信息、區塊頭信息、交易計數器、交易具體內容等的區塊文件做爲基本存儲單位,並經過每一個區塊頭信息中記錄的上一個合法區塊值進行連接,構成一個以時間爲序的區塊鏈。
  • 交易(Transaction):一次操做,致使帳本(區塊)狀態的一次改變,如添加一條記錄;

區塊結構:安全

  

區塊中區塊頭結構:服務器

  

區塊鏈,區塊的鏈式鏈接:網絡

  

6、比特幣網絡中新區塊的產生:

  • 建立一個新區塊,對區塊頭和nonce(挖礦隨機數)進行哈希運算(SHA256(SHA256(Version+HashPreBlock + Merkle_root + Timestamp + Bits + Nonce )) ≤ 難度數)將所得哈希值與目標哈希值(難度數)進行比較,這隻能經過一個接着一個的嘗試完全部的隨機數,直到一個產生了想要的哈希值的隨機數被找到,這個目標值越低就越難找到合適的隨機數。若是當前nonce值計算的哈希值小於目標哈希值,則挖礦成功。成功後將新區塊發送給其它結點進行共識驗證,並繼續傳播此塊,而後基於這個區塊開始尋找下一個區塊。
  • 成功建立新區域將獲得兩種類型的獎勵:1)建立新區塊的比特幣獎勵(總量達到以前)。2)區塊中所含交易的交易費。
  • 新區塊每10分鐘出來一個塊,每一個區塊大小是1MB,全網每秒7筆的交易速度(這個是至關的慢),爲了交易安全,每次交易須要等待 6個塊的可信確認,致使約1個小時的最終確認時間(雙花問題引發)。
  • 挖礦就是挨個測試nonce值,使得本區塊的哈希值(markle根)不斷變化,只到找到一個知足目標的值,這個區塊就能夠建立,具體步驟以下:

   

7、區塊鏈發展及演進

  區塊鏈技術起源於化名爲「中本聰」(Satoshi Nakamoto)的傢伙在2008年發表的奠定性論文《比特幣: 一種點對點電子現金系統》。目前,區塊鏈技術被不少大型機構稱爲是完全改變業務乃至機構運做方式的重大突破性技術。同時,就像雲計算、大數據、物聯網等新一代信息技術同樣,區塊鏈技術並非單一信息技術,而是依託於現有技術,加以首創性的組合及創新,從而實現之前未實現的功能。至今爲止,區塊鏈技術大體經歷了3個發展階段,以下圖:數據結構

   

1)技術起源

  • P2P網絡:是區塊鏈系統鏈接各對等節點的組網技術,即「點對點」或「端對端」網絡,是構建在互聯網上的一種鏈接網絡。好比P2P下載技術等,下圖左爲P2P網絡,右爲中心化網絡。
  • 加密:區塊鏈使用非對稱加密的公、私鑰對來構建節點間信任的。非對稱加密是指使用公私鑰對數據存儲和傳輸進行加密和解密。公鑰可公開發布,用於發送方加密要發送的信息,私鑰用於接收方解密接收到的加密內容。公私鑰對計算時間較長,主要用於加密較少的數據。經常使用的非對稱加密算法有RSA和ECC。架構

  • 數據庫技術:在區塊鏈系統建設方面,傳統的關係型數據庫和分佈式鍵值數據均適用。
  • 電子現金(Ecash):又被稱爲數字貨幣(Digital money)或電子貨幣(Emoney),視爲對現實貨幣的模擬,涉及用戶、商家和處於中心化地位的銀行或第三方支付機構,好比支付寶。

 2)區塊鏈1.0-數字貨幣,是轉帳、匯款和數字化支付相關的密碼學貨幣應用。

  2009年1月3日,比特幣網絡正式上線運行。做爲一種虛擬貨幣系統,比特幣的總量是由網絡共識協議限定的,沒有任何我的及機構可以隨意修改其中的供應量及交易記錄。在比特幣網絡成功運行多年後,部分金融機構開始意識到,支撐比特幣運行的底層技術——區塊鏈其實是一種極其巧妙的分佈式共享帳本及點對點價值傳輸技術,對金融乃至各行各業帶來的潛在影響甚至可能不亞於複式記帳法的發明。
  若從其實質分析,區塊鏈就是一種無須中介參與,亦能在互不信任或弱信任的參與者之間維繫一套不可篡改的帳本記錄的技術。區塊鏈1.0的技術架構以下圖:

  

  • 應用層:主要由客戶端完成記帳和轉帳功能。
  • 激勵層
    1. 發行機制,以比特幣網絡爲例,目前每10分鐘產生一個新區塊,每一個區塊獎勵12.5個比特幣給礦工,這是貨幣發行的方式。
    2. 分配機制,來源於交易費用,生成新區塊的參與者擁有此區塊的記帳權,全部交易都須要支付手續費給記錄區塊的參與者,若是某筆交易的交易費用不足,那麼將拒絕執行。

  • 網絡層:P2P網絡又稱點對點技術,是沒有中心服務器、依靠用戶羣交換信息的分佈式互聯網體系。分佈式系統,碰到的第一個問題就是一致性的保障。很顯然,若是一個分佈式集羣沒法保證處理結果一致的話,那任何創建於其上的業務系統都沒法正常工做。傳播機制及驗證機制就是保障分佈式系統正常一致工做的。
  • 數據層
    1. 數字簽名:橢圓曲線數字簽名算法(ECDSA)是使用橢圓曲線對數字簽名算法(DSA)的模擬,該算法是構成區塊鏈系統的基石。
    2. Hash (哈希或散列)算法:是信息技術領域很是基礎也很是重要的技術。它能任意長度的二進制值(明文)映射爲較短的固定長度的二進制值(Hash 值),而且不一樣的明文很難映射爲相同的 Hash 值。MD5 是一個經典的 hash 算法,其和 SHA-1 算法都已被證實 安全性不足應用於商業場景。
    3. Merkle樹(又叫哈希樹)是一種二叉樹,由一個根節點、一組中間節點和一組葉節點組成。最下面的葉節點包含存儲數據或其哈希值,每一箇中間節點是它的兩個孩子節點內容的哈希值,根節點也是由它的兩個子節點內容的哈希值組成。
    4. 非對稱加密:非對稱加密是現代密碼學歷史上最爲偉大的發明,能夠很好的解決對稱加密須要的提早分發密鑰問題。顧名思義,加密密鑰和解密密鑰是不一樣的,分別稱爲公鑰和私鑰。公鑰通常是公開的,人人可獲取的,私鑰通常是我的本身持有,不能被他人獲取。優勢是公私鑰分開,不安全通道也可以使用。區塊鏈系統中私鑰能夠推算出公鑰,反之則不行。

 區塊鏈1.0的典型特徵有:

  • 以區塊爲單位的鏈狀數據塊結構:區塊鏈系統各節點經過必定的共識機制選取具備記帳權限的區塊節點,該節點須要將新區塊的前一個區塊的哈希值、當前時間戳、一段時間內發生的有效交易及其梅克爾樹根值等內容打包成到一個新區塊,向全網廣播。因爲每個區塊都是與前續區塊經過密碼學證實的方式連接在一塊兒的,當區塊鏈達到必定的長度後,要修改某個歷史區塊中的交易內容就必須將該區塊以前的全部區塊的交易記錄及密碼學證實進行重構,有效實現了防篡改。
  • 全網共享帳本:在區塊鏈網絡中,每個全功能節點都可以存儲全網發生的歷史交易記錄的完整、一致帳本,即對個別節點的帳本數據的篡改、攻擊不會影響全網總帳的安全性。
  • 非對稱加密:加密密鑰和解密密鑰是不一樣的,分別稱爲公鑰和私鑰典型的區塊鏈網絡中,帳戶體系由非對稱加密算法下的公鑰和私鑰組成,若沒有私鑰則沒法使用對應公鑰中的資產。
  • 源代碼開源:區塊鏈網絡中設定的共識機制、規則等均可以經過一致的、開源的源代碼進行驗證。

3)區塊鏈2.0-智能合約,是經濟、市場和金融應用的基石

  區塊鏈最先相關概念是比特幣的發明者-中本聰在論文中提出,自那之後,區塊鏈脫離比特幣網絡,成爲一種支持分佈式記帳能力的底層技術,具備去中心化和加密安全等特色。隨着業界開始認識到區塊鏈技術的重要價值,並將其用於數字貨幣外的領域,如分佈式身份認證、分佈式域名系統、分佈式自治組織等。這些應用稱爲分佈式應用(DAPP)。用區塊鏈技術架構從零開始構建DAPP很是困難,但不一樣的DAPP共享了不少相同的組件。區塊鏈2.0試圖建立可共用的技術平臺並向開發者提供BaaS服務,極大提升了交易速度,大大下降資源消耗,並支持PoW、PoS和DPoS等多種共識算法,使DAPP的開發變得更容易。
  區塊鏈2.0的技術架構以下圖:

   

  智能合約:是由事件驅勱的、具備狀態的、得到多方認可的、運行在一個可信、共享的區塊鏈帳本上的,且可以根據預設條件自動處理帳本上資產的程序。智能合約的優點是利用程序算法替代人仲裁和執行合同,其模型以下圖。

   

  • EVM:以太坊虛擬機,以太坊中智能合約的運行環境。若是作比喻的話智能合約運行更像是Java程序,JAVA程序經過JAVA虛擬機(JVM)將代碼解釋字節進行執行,以太坊的智能合約經過以太坊虛擬機(EVM)解釋成字節碼進行執行。
  • DAPP:去中心化應用,這類應用天生具備去中心化、去信任中心的特色,這些應用在運行時由用戶行爲觸發而改變其內部數據,數據和應用代碼都被記錄在區塊鏈上,天生具有防人爲簒改的特性。
  • POS:(Proof of Stake)股權證實,典型的過程是經過保證金(代幣、資產、名聲等具有價值屬性的物品便可)來對賭一個合法的塊成爲新的區塊,收益爲抵押資本的利息和交易服務費。提供證實的保證金(例如經過轉帳貨幣記錄)越多,則得到記帳權的機率就越大。合法記帳者能夠得到收益。PoS 是試圖解決在 PoW 中大量資源被浪費的缺點。惡意參與者將存在保證金被罰沒的風險,即損失經濟利益。
  • DPOS:(Delegated Proof-of-Stake)受權股權證實機制,一種股權證實機制的新實現方式,該方式能夠對交易進行秒級驗證,而且可以在更短的時間內提供比現有任何股權證實系統都更好的安全性。在比特幣網絡產生一個區塊的時間事後,一個受權股權證實系統(DPOS)能使你的交易獲得20%股東的核實,而在比特幣網絡聲明交易已幾乎不可逆(6個區塊,約1小時)的時間事後,在DPOS機制下,經過其表明,你的交易已經獲得100%股東的核實。
  • PBFT:(Practical Byzantine Fault Tolerance)拜占庭容錯算法。這個算法在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。

 區塊鏈2.0的典型特徵以下:

  • 智能合約:區塊鏈系統中的應用,是已編碼的、可自動運行的業務邏輯,一般有本身的代幣和專用開發語言。
  • DAPP:包含用戶界面的應用,包括但不限於各類加密貨幣,如以太坊錢包。
  • 虛擬機:用於執行智能合約編譯後的代碼。虛擬機是圖靈完備的。

隨着區塊鏈技術和應用的不斷深刻,以智能合約、DAPP爲表明的區塊鏈2.0,將不只僅只是支撐各類典型行業應用的架構體系。在組織、公司、社會等多種形態的運轉背後,可能都能看到區塊鏈的這種分佈式協做模式的影子。能夠說,區塊鏈必將普遍而深入地改變人們的生活方式。區塊鏈技術可能應用於人類活動的規模協調,甚至有人大膽預測人類社會可能進入到區塊鏈時代,即區塊鏈3.0。

 8、區塊鏈常見問題

  • 問:區塊鏈是誰發明的,安全麼?
    • 答:區塊鏈最先相關概念是比特幣的發明者-中本聰(化名)在論文中提出,自那之後,區塊鏈脫離比特幣網絡,成爲一種支持分佈式記帳能力的底層技術,具備去中心化和加密安全等特色。
  • 問:區塊鏈和比特幣是啥關係?
    • 答:比特幣是基於區塊鏈技術的一種數字現金(cash)應用;區塊鏈技術在比特幣分佈式系統中獲得應用,確保了其在 2009 年上線後在自治狀況下正常運轉。
  • 問:區塊鏈和分佈式數據庫是啥關係?
    • 答:二者定位徹底不一樣。分佈式數據庫是解決大規模場景下的數據存儲問題;區塊鏈則是在多方(無需彼此信任)之間提供一套可信的記帳和合約履行機制。
  • 問:區塊鏈有哪些種類?
    • 答:根據參與者的不一樣,能夠分爲公開鏈、聯盟鏈和私有鏈。從功能上看,能夠分爲以貨幣交易爲主的初代區塊鏈,和支持智能合約和鏈上代碼的新一代區塊鏈。
  • 問:比特幣區塊鏈爲什麼要設計爲每 10 分鐘纔出來一個塊,快一些不能夠嗎?
    • 答:這個主要是從公平的角度,當某一個新塊被計算出來後,須要在全球的比特幣網絡內公佈,臨近的礦工將最早拿到消息並開始計算,較遠的礦工則較晚獲得通知。最壞狀況下,可能須要數十秒的延遲。爲儘可能確保礦工們都處在同一塊兒跑線上,這個時間不能過短。但太長了又會致使每一個交易的「最終」確認時間過長,目前看,10 分鐘左右是一個相對合適的折中。
  • 問:比特幣區塊鏈每一個區塊大小爲什麼是 1 MB,大一些不能夠嗎?
    • 答:這個也是折中的結果。區塊產生的平均時間間隔是固定的 10 分鐘,大一些,意味着發生交易的吞吐量能夠增長,但節點進行驗證的成本會提升(hash 處理約爲 100 MB/s),同時存儲整個區塊鏈的成本會快速上升。1 MB,意味着每秒能夠記錄(1MB/(10*60)=1.7KB) 的交易數據,而通常的交易數據大小在 0.2 ~ 1 KB。實際上,以前社區也曾屢次討論過改變區塊大小的提案,但都未被最終接受。
  • 問:(公有鏈狀況下)區塊鏈是如何保證沒有人做惡的?
    • 答:區塊鏈並無試圖保障每個人都不做惡,每一個參與者都默認在最長的鏈上進行擴展。當某個做惡者嘗試延續一個非法鏈的時候,實際上在跟全部的「非做惡」者進行競爭。所以,看成惡者超過一半(還要保持選擇一致)時,在機率意義上才能破壞規則。而失敗,全部付出的資源(例如算力)都將浪費掉。

9、區塊鏈名詞解釋

  • Bitcoin:比特幣,中本聰發起的數字貨幣技術。
  • Blockchain:區塊鏈,基於密碼學的可實現信任化的信息存儲和處理技術。
  • Chaincode:鏈上代碼,運行在區塊鏈上提早約定的代碼(狀態機)。
  • DAO:Decentralized Autonomous Organization,分佈式自治組織,基於區塊鏈的按照智能合約聯繫起來的鬆散衆籌羣體。
  • Distributed Ledger:分佈式記帳本,你們都承認的去中心化的帳本記錄平臺。
  • DLT:Distributed Ledger Technology。
  • DTCC:Depository Trust and Clearing Corporation,存託和結算公司,全球最大的金融交易後臺服務機構。
  • EVM:以太坊虛擬機。
  • Fintech:Financial Technology,跟金融相關的(信息)技術。
  • Hash:哈希算法,任意長度的二進制值映射爲較短的固定長度的二進制值的算法。
  • Lightning Network:閃電網絡,經過鏈外的微支付通道來增大交易吞吐量的技術。
  • Nonce:密碼學術語,表示一個臨時的值,多爲隨機字符串。
  • P2P:點到點的通訊網絡,網絡中全部節點地位均等,不存在中心化的控制機制。
  • PoW:Proof of Work,工做量證實,在必定難題前提下求解一個 SHA256 的 hash 問題。
  • Smart Contract:智能合約,運行在區塊鏈上提早約定的合同;
  • Sybil Attack(女巫攻擊):少數節點經過僞造或盜用身份假裝成大量節點,進而對分佈式系統系統進行破壞。
  • SWIFT:Society for Worldwide Interbank Financial Telecommunication,環球銀行金融電信協會,運營世界金融電文網絡,服務銀行和金融機構。
  • 挖礦:經過暴力嘗試來找到一個字符串,使得它加上一組交易信息後的 hash 值符合特定規則(例如前綴包括若干個 0),找到的人能夠宣稱新區塊被發現,並得到系統獎勵的比特幣。
  • 礦工:參與挖礦的人或組織。
  • 礦機:專門爲比特幣挖礦而設計的設備,包括 GPU、專用芯片等。
  • 礦池:採用團隊協做方式來集中算力進行挖礦,對產出的比特幣進行分配。
  • 市場深度:未成交的交易,衡量市場承受大額交易後匯率的穩定能力。
  • 圖靈完備:指一個機器或裝置能用來模擬圖靈機(現代通用計算機的雛形)的功能,圖靈完備的機器在可計算性上等價,在可計算理論中,當一組數據操做的規則(一組指令集,編程語言,或者元胞自動機)知足任意數據按照必定的順序能夠計算出結果,被稱爲圖靈完備(turing complete)。

參看地址:http://blog.csdn.net/jamenew/article/details/54884637

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息