當前位置:編程學習大全網 - 源碼下載 - 《區塊鏈項目開發指南》讀書筆記

《區塊鏈項目開發指南》讀書筆記

ethash

答:在DAPP中,沒有壹個中心服務器來協調節點,或者決定什麽是對,什麽是錯,因此應對這個挑戰確實不容易,壹致性協議(concensus protocol)可用於解決這個問題。

補充:***識算法的核心就是解決拜占庭將軍問題(分布式網絡壹致性問題)。

答:修改bug或者更新DAPP很困難。

如果我需要從壹個中心化應用抓取數據,如車輛違章信息,怎麽保證抓取的數據是真實有效的?

答:為了訪問中心化的API,可以使用Oraclize服務可以作為中間人,Oraclize為從中心化服務智能合約中抓取的數據提供TLSNotary驗證。

中心化應用的所有者需要有盈利才能長期維護應用的運行,而DAPP雖然沒有所有者,但是跟中心化應用壹樣,DAPP節點需要硬件和網絡資源才能維持運行。DAPP節點需要壹些有用的回報來維持運行,於是內部貨幣登場了。大多數DAPP都有內置內部貨幣,或者可以說最成功的DAPP都有內置內部貨幣。如以太幣

授權的DAPP不對所有人開放。授權的DAPP繼承了免權限DAPP的全部屬性,但需要權限才能參與到網絡中去。授權的DAPP與免權限的DAPP的***識協議是不同的。授權的DAPP沒有內部貨幣。

超級賬本(Hyperledger)項目致力於開發創建授權的DAPP技術。

為什麽少數國家認定比特幣是非法的,大部分國家對此還沒有做出決定呢?原因如下:

星際文件存儲系統(InterPlanetary File System)是壹個去中心化的文件系統。

目標是通過使交易幾乎瞬間完成,並隱藏交易賬戶的信息,還可以防止他人用ISP追蹤所有者。

任何人都可以成為以太坊網絡中的礦工。每個礦工獨自解決問題,第壹個解決問題的礦工是勝利者,它得到的回報是5個以太幣和該區塊中全部交易的交易費。區塊鏈中有多少個區塊沒有限制,可以生成的以太幣總數也沒有限制。

網絡中的任何節點都可以檢查區塊鏈是否合法,首先檢查交易在區塊鏈中是否合法以及時間戳的驗證情況,然後檢查區塊的目標值和隨機數是否合法、礦工是否得到合法的回報等。

節點是如何發現網絡中的其他節點的呢?

以太坊的節點發現協議:Kadelima,在這種協議中,有壹種特殊節點Bootstrap節點。它保存了壹段時間內與它連接的所有節點列表,但其本身不保存區塊鏈。

當對等節點連接到以太坊網絡時,它們首先連接到Bootstrap節點。

可以有多種以太坊實例,也就是說,不同的網絡每個都有自己的網絡ID。

兩種主要的以太坊網絡是主網和測試網。以太幣在主網上交易,而測試網供開發人員測試。

壹個去中心化的通信協議,它支持廣播、用戶到用戶、加密信息等,但不用於傳輸大數據。

壹個去中心化的文件系統。

geth為其他應用提供了與其通信的JSON-RPC API。使用HTTP、WebSocket和其他協議服務於JSON-RPC API。

JSON-RPC API提供的API分成如下類型:

以太坊網絡中的節點默認用 30303 端口通信。

--networkid 用於指定網絡ID,1代表主網網絡ID,缺省默認值為1,2代表測試網絡ID

--dev 標記運行壹個私有網絡

--etherbase 指定挖礦賺取的回報存入的錢包地址

--unlock 解鎖壹個或者多個賬戶

以太坊錢包與geth捆綁在壹起。運行以太坊時,它會嘗試發現壹個本地geth實例並與之連接;如果它不能發現geth正在運行,它就啟動自己的geth節點。以太坊錢包使用IPC與geth通信。geth支持以文件為基礎的IPC。

以太坊下壹個主要更新的名字。Serenity把***識協議改為casper,並將整合狀態通道和分片。

Casper 實施了壹個進程,使得它可以懲罰所有的惡意因素。這就是權益證明在Casper下是如何工作的:

驗證者押下壹定比例的他們擁有的以太幣作為保證金。然後,他們將開始驗證區塊。也就是說,當他們發現壹個可以他們認為可以被加到鏈上的區塊的時候,他們將以通過押下賭註來驗證它。

如果該區塊被加到鏈上,然後驗證者們將得到壹個跟他們的賭註成比例的獎勵。但是,如果壹個驗證者采用壹種惡意的方式行動、試圖做“無利害關系”的事,他們將立即遭到懲罰,他們所有的權益都會被砍掉。正如妳可以看到的,Casper被設計成可以在壹個無需信任的系統上工作,並且是更加拜占庭容錯的。

支付通道 功能允許將兩個以上向另壹個賬戶發送以太幣的交易合並成兩個交易。其工作原理為:假設X是壹個視頻網站老板,Y是個用戶。X每分鐘收費1個以太幣。現在X想讓Y看視頻期間每分鐘交壹次錢。當然,Y可以每分鐘廣播交易,但是這裏有些問題,例如X不得不等待確認,所以視頻就會中斷壹會。支付通道可以解決這個問題。使用支付通道,Y可以廣播壹個鎖定交易,為X把壹些以太幣(比如100個以太幣)鎖定壹段時間(比如24小時)。現在每看完壹分鐘視頻,Y將發送壹個簽名記錄表示可以解鎖,壹個以太幣就進入X的賬戶,其余的進入Y的賬戶。再過壹分鐘,Y將發送壹個簽名記錄表示可以解鎖,兩個以太幣就進入X的賬戶,其余的進入Y的賬戶。Y觀看X網站的視頻過程中,該過程將持續。現在假設Y看完了100小時視頻或者24小時時間到了,X將向網絡廣播最後的簽名記錄,以把錢收到自己的賬戶裏。如果X沒有在24小時內提款,全款會返還給Y。所以在區塊鏈中,我們將看到lock和unlock兩種交易。

Sybil攻擊

51%攻擊

補充:不能存儲較大數據,目前有Swarm與IPFS等分布式存儲方式可供選擇

把所有東西都存在內存裏,因此,節點壹旦重啟,將丟失以前的狀態。

默認監聽端口:8545

  • 上一篇:喜歡自己錄歌,但錄制效果不太完美,急求壹個包裝~美化~效果處理聲音的軟件
  • 下一篇:如何在Linux上運行Mono
  • copyright 2024編程學習大全網