以太坊私有網路自動發現節點
A. elasticsearch的自動發現節點機制是怎麼實現的,原理是怎樣
著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:ben well
鏈接:http://www.hu.com/question/29360024/answer/55368070
來源:知乎
早期 es 版本有 split brain 問題,俗稱腦裂。ES 採用的是一種 P2P 的 gossip 選舉方式,Gossip 演算法因為 Cassandra 而名聲大噪。
背景:
Gossip 演算法, 靈感來自辦公室八卦, 只要一個人八卦一下, 在有限的時間內所有人都會知道該八卦的信息,
這種方式也與病毒傳播類似, 因為 Gossip 有眾多的別名"閑話演算法"、"疫情傳播演算法"、"病毒感染演算法"、"謠言傳播(Rumor-Mongering)演算法".
但 Gossip 並不是一個新東西, 之前的泛洪查找、路由演算法都歸屬於這個范疇, 不同的是 Gossip 給這類演算法提供了明確的語義、具體實施方法及收斂性證明.
特點:
Gossip 演算法又被稱為反熵(Anti-Entropy), 熵是物理學上的一個概念, 代表雜亂無章, 而反熵就是在雜亂無章中尋求一致,
這充分說明了 Gossip 的特點:在一個有界網路中, 每個節點都隨機地與其他節點通信, 經過一番雜亂無章的通信,
最終所有節點的狀態都會達成一致. 每個節點可能知道所有其他節點, 也可能僅知道幾個鄰居節點,
只要這些節可以通過網路連通, 最終他們的狀態都是一致的, 當然這也是疫情傳播的特點.
要注意到的一點是, 即使有的節點因宕機而重啟, 有新節點加入, 但經過一段時間後,
這些節點的狀態也會與其他節點達成一致, 也就是說, Gossip 天然具有分布式容錯的優點.
本質:
Gossip 是一個帶冗餘的容錯演算法, 更進一步, Gossip 是一個最終一致性演算法。
雖然無法保證在某個時刻所有節點狀態一致, 但可以保證在」最終「所有節點一致, 」最終「是一個現實中存在, 但理論上無法證明的時間點。
因為 Gossip 不要求節點知道所有其他節點, 因此又具有去中心化的特點, 節點之間完全對等, 不需要任何的中心節點。
實際上 Gossip 可以用於眾多能接受「最終一致性」的領域:失敗檢測、路由同步、Pub/Sub、動態負載均衡。
但 Gossip 的缺點也很明顯, 冗餘通信會對網路帶寬、CPU 資源造成很大的負載, 而這些負載又受限於通信頻率, 該頻率又影響著演算法收斂的速度。
總結:
Gossip 是一種去中心化、容錯而又最終一致性的絕妙演算法, 其收斂性不但得到證明還具有指數級的收斂速度。
使用 Gossip 的系統可以很容易的把 Server 擴展到更多的節點, 滿足彈性擴展輕而易舉。
唯一的缺點是收斂是最終一致性, 不適應那些強一致性的場景, 比如 2PC。
B. 以太坊無法連接節點
把你的TCP/IP協議設置成自動獲取狀態試試,方法:右鍵網上鄰居-屬性- 右鍵"本地連接"屬性-雙擊"Internet 協議 TCP/IP"-改為自動獲取
IPX/SPX協議,IPX是NetWare最底層的協議,它只負責數據在網路中的移動,並不保證數據是否傳輸成功,也不提供糾錯服務。IPX在負責數據傳送時,如果接收節點在同一網段內,就直接按該節點的ID將數據傳給它;如果接收節點是遠程的(不在同一網段內,或位於不同的區域網中),數據將交給NetWare伺服器或路由器中的網路ID,繼續數據的下一步傳輸。SPX在整個協議中負責對所傳輸的數據進行無差錯處理,所以我們將IPX/SPX也叫做「Novell的協議集」。
C. 一個以太坊節點最多可以有 幾個賬戶地址
一個以太坊節點最多可以有 幾個賬戶地址?
答:一般只有一個賬戶地址,否則會出現錯誤的!區塊鏈本身就是具有唯一性的,如果有多個賬戶地址在一個節點上,就違反了區塊鏈的根本!
D. 以太坊私鏈不挖礦問題
MinerHub 公司旗下的奇跡摩爾系統(Wondermole)是一款基於Linux 內核,為礦工朋友們深度定製的「無盤」挖礦系統;
全方位解決問題
1、奇跡摩爾的 Linux 內核經過兩百多次深度優化,避免了部分硬體故障會直接導致系統死機這一問題;
2、針對市面上許多挖礦軟體重啟後無法連接礦池挖礦的情況,奇跡摩爾利用每次礦機重啟後重置鏡像的功能完美解決;
3、經測試,奇跡摩爾系統在各大礦池的平均算力誤差和延遲份額均不超過 1.5%,明顯提升了用戶的挖礦收益;
4、奇跡摩爾開發團隊經過無數次實驗,得出了最優化的顯卡 VBIOS 超頻設置,較傳統超頻手段,在進一步提升顯卡 5% 算力的同時,還可降低 15% 的功耗!
E. 以太坊存在的問題
1.擴展性不足:
以太坊社區的主要開發人員和研究人員始終認為區塊鏈技術要實現大規模採用,可擴展性是區塊鏈應用程序需要解決的唯一最重要的關鍵。
以太坊的底層設計,最大的問題是以太坊只有一條鏈,沒有側鏈,它把所有的程序對等的跑在全球所有節點的礦機上。這樣一個很耗資源的程序,會導致問題越來越嚴重。
2.合約程序漏洞,無法抵禦DDOS攻擊
據相關研究表明,在基於以太坊的近100萬個智能合約上,發現有34,200(約3%)個含有安全漏洞,將允許黑客竊取ETH、凍結資產或刪除合約。這幾年,以太坊面對合約程序漏洞和DDOS攻擊的問題,也一直無法找到很好的解決辦法。(更好用的數字貨幣交易平台「幣匯」)
3.對於ICO泡沫和項目方砸盤
目前的ETH下跌,很大程度上來自於項目方的砸盤套現,這個問題可以在ICO代幣融資上進行規則限制,不能像現在這樣毫無成本的就能發一個幣,而且還沒有任何監督懲罰機制。任何事情都需要有一套合理的演進規則,大家按規則辦事,所謂無規矩不成方圓。在規則的基礎上,各類ICO項目有效監督,有序進出,才是一個正常的市場,這樣才可能維系著代幣生態的持續、穩定發展。
4.智能合約費用過高
在以太坊上現在還是POW的挖礦模式,交易是有手續費的,用來激勵礦工來處理交易和保護網路,不同的是以太坊是以「gas」的形式來收費的。
在以太坊協議中規定,交易手續費=Gas 數量 x Gas 價格,其中 Gas 數量由智能合約的復雜程度決定,而 Gas 價格則由合約發起人決定。這對開發者和用戶意味著什麼呢?雖然讀取本地區塊鏈是免費的,但寫入和運算是花錢的,儲存更是尤其昂貴,因為任何寫入的信息都會被永久的儲存著。
5.社區對共識協議改變的分歧
以太坊計劃實現將 POW 機制改為 POW/POS 混合共識機制。但這個涉及到技術開發和礦工雙方能否達到利益共識的問題了。如果協議發生了變化,社區意見不合時,就會導致分叉,大家各自玩各自的。
F. 可以用雲伺服器搭建以太坊私有鏈節點嗎
可以的,但是建議使用海外伺服器會比較好,另外伺服器的配置要中等或以上。
G. geth以太坊客戶端輕節點模式啟動怎麼與全節點啟動的geth連接
一般來說,Undefined index就是自己編寫過程中出現了的的確確的寫法問題notice一般提示關於與執行代碼沒有直接關系的錯誤,但不要忘記,notice有時會返回一些多餘的錯誤信息