區塊鏈技術指南女巫攻擊6
⑴ 區塊鏈為什麼有分叉分叉會發生什麼情況
區塊鏈的分叉(fork)的形成原因可能有多種。
當兩個結點幾乎在同一個時間挖到了礦並同時發布區塊,此時就出現臨時性的的分叉(state fork),
本質上是對比特幣這個區塊鏈當前的狀態產生了意見分歧,
當人為的發起分叉攻擊(forking attack),也就是故意造成這類分叉(deliberate fork)還有一類分叉是,當比特幣的協議發生了改變的時候,軟體需要升級。而在分布式系統中不能保證所有節點同時升級軟體,假設存在部分節點未升級,會導致協議分叉(protocol fork)。對協議修改的內容的不同,又可以將分叉分為硬分叉(hard fork)和軟分叉(soft fork);
比特幣協議增加新協議,擴展新功能,未升級軟體的舊節點會不認可這些修改,會認為這些特性是非法的。這也就是對比特幣協議內容產生分歧,從而導致的分叉叫 硬分叉 。此時,就出現了新節點永遠沿著新節點產生的鏈挖礦,舊節點永遠沿著舊節點鏈挖礦,由於新節點算力足夠強,所以形成兩條永遠都在延伸且平行的鏈。只要這部分舊節點永遠不更新,則舊鏈將一直延續,可見這種分叉是持久性的。
出現hard fork後,便變成了兩條平行的鏈,也就造成了社區分裂。社區中有一部分人,會認為下面的鏈才是根正苗紅,各個鏈上的貨幣獨立。以太坊歷史上的一件大事就是硬分叉事件。以太坊稱為ETH,但目前看到的ETH已經不是最初的ETH了,以太坊在歷史上發生過硬分叉,另一個鏈稱為ETC。實際上,ETC才是以太坊設計原本的協議,而ETH是黑客攻擊ETH上一個智能合約THE DAO後,進行回滾的協議鏈(將黑客攻擊偷取的以太幣採用硬分叉方式回滾回到另一智能合約,然後退還給真正擁有者)。
分叉之初,由於兩個鏈分叉造成了互相影響,產生了很多麻煩。比如:在ETH鏈上有一筆轉賬B->C,有人便在ETC鏈上回放,將ETC鏈上的貨幣頁轉給了C(C收到兩筆錢)。後來,對兩條鏈各添加了一個chainID,將兩個鏈區分開,才使得這兩條鏈真正分開。
如果對BTC協議添加限制,使得原本合法交易在新交易中不合法,便會形成軟分叉。
當大多數節點已經更新完畢之後,舊節點認可新節點挖出的區塊,因此發布自己挖出的區塊,但新節點不認可舊結點挖出的區塊,便沿著上一個新節點發布的區塊繼續挖礦,當新節點擁有大部分算力的時候,新鏈會越來越長,從而舊節點挖出並發布的區塊一直被拋棄,無法獲得出塊獎勵,最終倒逼舊節點升級軟體,實現所有節點認可新協議並進行升級。可見,只要系統中擁有半數以上算力節點更新軟體,此類分叉不會出現永久性分叉。比特幣腳本中的P2SH就是通過軟分叉方法加進去的。
這一部分我並沒有查到太多的資料,但是在絕大多數共識協議之中我們都假設需要過半算力;
在理論上,如果掌握了50%以上的算力,就擁有了獲得記賬權的絕對優勢,可以更快地生成區塊,也擁有了篡改區塊鏈數據的權利。因此,當具有過半的算力,也就是51%都是誠實可靠的,能保證整一個區塊鏈在合法有序的進行運行。
但是為什麼選擇過半的算力,而不是過半的用戶?比特幣系統,任何人都可以加入,且創建賬戶及其簡單,只需要本地產生公私鑰對即可。只有轉賬(交易)時候,比特幣系統才能知道該賬戶的存在。這樣,黑客可以使用計算機專門生成大量公私鑰對,當其產生大量公私鑰對超過系統中一半數目,就可以獲得支配地位(女巫攻擊)。因此,比特幣系統中很巧妙的使用算力作為投票的依據。
⑵ 區塊鏈中女巫攻擊問題
何為女巫攻擊?
解釋一: 大規模的p2p系統面臨著有問題的和敵對的節點的威脅,為了應付這種威脅,很多系統採用了冗餘。然而,如果一個有惡意的實體模仿了多個身份,他就可以控制橘虛核系統的很大一部分,破壞了系統的冗餘策略。我們把這種模仿多個身份的攻擊定義為女巫攻擊(Sybil Attack)。
解釋二: 女巫攻擊是在P2P網路中,因為節點隨時加入退出等圓掘原因,為了維持網路穩定,同一份數據通常需要備份到多個分布式節點上,這就是 數據冗餘機制 。 女巫攻擊是攻擊數據冗餘機制的一種有效手段。譽鋒 如果網路中存在一個惡意節點,那麼同一個惡意節點可以具有多重身份,就如電影里的女主角都可以分裂出16個身份,那麼惡意節點比它還能分。這樣,原來需要備份到多個節點的數據被欺騙地備份到了同一個惡意節點(該惡意節點偽裝成多重身份),這就是女巫攻擊。
總而言之就是 分身詐騙術
如何解決這種攻擊?
1.幹活 你即便分身千千萬,唯有真心能幹活。分心是虛幻的,沒有力氣,pow證明。
2.發身份證 可靠第三方公安局給你發身份證,沒有身份證都是分身妖怪(根據某一個可靠的第三方進行身份驗證)
3.熟人社會 你遷戶口到一個新的村子裡,必須得到村子裡,大部分人的認證,這就是中國傳統社會的身份認證方法。群眾的眼睛就是火眼金睛,照出一切妖魔鬼怪。(新加入的節點都需要獲得當前網路中所有可靠節點的認證,這種方法採用了隨機密鑰分發驗證的公鑰體系的認證方式,需要獲得網路中大多數節點的認證才能加入)
⑶ 女巫攻擊與雙花攻擊
女巫攻擊 的名字源於1973年由小說《Sybil》改編的同名電影。電影中的女主人公Sybil Dorsett患有分離性身份認同障礙,本身兼有16種人格。
區塊鏈底層是 P2P網路 。網路中各個節點可以隨時加入或退出,為了維持網路的有效性,一般一份數據常常需要部署在若干個分布式節點上。如果一個惡意節點偽裝有多個身份就存在可獲得全部數據的幾率,下面我打個比方:
假設神龍造出了七顆龍珠,並且要將它們分別投放到地球的各個角落。於是神龍昭告天下,讓每個洲來一個人領取龍珠。此時,精通喬裝易容術的我分別假扮出七個不同地域的人來神龍這拿到了龍珠。本來神龍將龍珠放到世界不同的地方基配圓就是為了平衡各地方力量,但是由於我偽造了身份,成功地拿到了全部龍珠,控制了地球。
以上比喻就是女巫攻擊的本質體現。
雙花攻擊是大多區塊鏈加密數字貨幣都要面對的一種攻擊手段。顧名思義,雙花攻擊就是一筆有效的錢被先後花了兩次。
雙花攻擊的可行性完全是由於區塊鏈的共識機制導致。拿比特幣舉例,由於比特幣的POW共識機制屬於最終一致性共識,一筆交易從發布到全網所有節點都達成統一確認需要一定時間,而攻擊者就是利用這個時間間隙進行攻擊。舉個生活中的例子:
假如銀行A有兩個支行B和C。但是,這個銀行的賬目系統比較低效,支行B和C每過1個小時才會去主行A那裡同步賬本。我在主行A中存了100塊錢,過了一個小時後支行B和C同步了賬本,於是我在B和C中都可以查到我擁有100塊錢。之後,我通過支行B用我的賬戶買了100塊錢的好吃的,隨即又通過支行C用我的賬戶賣唯買了100塊錢好玩的。由於支行B和C之間做不到賬目的隨時同步,所以支行C在我去買好玩的時候依然認為我擁搏塌有100塊錢。
以上就是雙花攻擊,並且「雙花」永遠是一種 流通貨幣 所要解決的首要問題。
⑷ 全球首次關於FileCoin集群挖礦和礦池技術分享
Filecoin 自問世就備受矚目,而 Filecoin 挖掘更是一個全新的機會,礦工可以在 Filecoin 網路上存儲和檢索客戶信息直接獲利。Filecoin 是如何獎勵礦工,底層技術的工作原理是什麼?如何成為 Filecoin 礦工獲得更多利潤?
這篇文章 星鏈 核心開發工程師幣圈外星人傑克從 Filecoin 的背景,原理,底層技術,挖礦邏輯,礦場礦池等方面進行了詳細的分享,為你帶來全球首套Filecoin礦池解決方案。
01Filecoin背景
時間回溯到2017年,Filecoin在短短一小時內便募集到了1.86億美元的融資,最終總共募集到了2.57億美元,是區塊鏈 歷史 上最大規模的融資之一。在當年的融資中,Filecoin得到了紅杉資本、文科沃萊斯資本等多個知名機構的投資。Filecoin 總數為20億枚,其具體分配和價格如下:分配 & 價格
總數:20億
礦工:70%
Protocol Labs:15%
投資者:10%
Filecoin基金會:5%
成本:$0.75
獎勵:每個塊153個*$3=$459,每天1920個塊*$459=$881,280。
02
Filecoin原理
Filecoin工作方式的描述
用戶將數據文件的儲存委託給Filecoin
網路內的礦工提供儲存
礦工憑借儲存空間大小獲得獎勵
需要解決的核心問題
女巫攻擊:礦工作弊,多個節點讀取同一份存檔,或者用一份文件申領多份獎勵。解決方法 - 零知識證明在不暴露文件內容的條件下就可以證明存儲了一份文件。
解決方案 - PoRep & PoSt演算法
這兩個演算法組合使用有以下特點:
能夠證明礦工存儲了特定文件
原始文件加入礦工信息後進行編碼,證明存儲的獨特性
編碼很慢解碼很快,方式礦工作弊
編碼後的文件則為用戶的「有效存儲」
有效存儲越多生成區塊概率越大,獲取獎勵的概率越高
- PoRep
不能進行並行計算,多核、多線程技術無法提高速度
正常一份有效存儲需要計算8小時,優化後也需要2小時
一份有效存儲是32GB
佔用內存上百GB
臨時存儲達到大幾百GB,硬體要求高
- PoSt
系統每45秒抽查一次
抽到後要計算出證明並上傳,否則就要接受懲罰
對礦工的存儲穩定性、隨機讀速度等都有較高要求
03
Filecoin挖礦
打破了礦工原有的慣性思維
現有的挖礦機制的物理屬性中沒有「狀態」,挖礦 歷史 不重要
礦機等硬體插電就開始,停電就結束,轉換幣種無成本
投資礦業相當於購買相應幣種期貨期貨,相當於「做多」,隨時間慢慢收回成本
投資礦機,隨時間慢慢收回成本
Filecoin挖礦改變了礦業的金屬屬性
一層期貨變為兩層期貨
投資算力和存儲設備 - 期貨1
算力設備挖出有效存儲 - 期貨2
有效存儲隨時間推移收回成本
Filecoin挖礦改變了礦業的物理屬性
參與Filecoin挖礦需要較高的維護成本
大規模儲存的部署在技術上有難度
礦工需要在本地做文件的冗餘備份,防止無法提供證明被懲罰
需要保證文件讀寫速度的保證
需要保證網路穩定性
存儲容量擴容
04
Filecoin礦場
集群化部署
存儲
存儲的可擴容性
存儲的穩定性
存儲的安全性
存儲需要人工維護工作
計算
優化後的計算程序
計算的可擴容性
網路
網路的吞吐性
網路的穩定性
05
星鏈 提供的解決方案
礦池產品
我們對Filecoin礦池產品的實現方式有三個方向的設想:
雲算力 - 全部硬體租賃
用戶租賃計算資源,存儲資源根據挖到的有效存儲自動調整;
按租賃規模和時間收費。
礦場方案 - 全部硬體購買
提供計算型礦機,存儲型礦機和網路等硬體方案;
提供挖礦的軟體方案;
提供部署和維護服務。
礦機託管 - 買算力,租存儲
用戶購買計算型礦機,託管在我方礦場;
我方負責網路和存儲設備的接入;
按租賃存儲的規模和時間收費。
06
星鏈後續規劃
近期,星鏈礦池,進入Top礦工磅。與此同時,全方位廣泛收集用戶對於礦池的需求,調整提供服務的方式和計費方法。
星鏈負責提供Filecoin挖礦相關的硬體和軟體。
⑸ 在公鏈項目早期,為什麼PoW是一個更好選擇
在傳統的互聯網公司或金融機構中,如果一家公司,在一年之內,被委託的交易結算的總量為萬億美元的話,這家公司要麼擁有可靠的技術和雄厚的資本,要麼就是其它大公司及政府為其信用來做背書。而比特幣卻在沒有政府或公司背書的情況下,在過去一年內支持了相當於一萬億美元的交易。這是因為比特幣的工作量證明(PoW)機制確保了全世界的比特幣礦工以點對點的方式去分布式地維護賬本,且保證了其正確性和不可篡改性。
實際上,PoW 協議並不完美,它在運行過程中需要消耗大量的能量來計算哈希函數的結果,以保護區塊鏈系統不被攻擊。很多人認為這是一種「無用的能源消耗」。為了避免這種消耗,股權證明協議(PoS)便作為替代方案被提出。包括以太坊在內的幾個著名的項目也開始探索股權證明協議(PoS), 甚至有人認為,PoS協議在未來將完全取代PoW協議。
但是,在對PoS 協議進行了深入的技術剖析之後,我們會發現:在一個公鏈項目的早期階段,PoS 協議會帶來很多問題,而這些問題在PoW協議下是可以避免。首先,使用PoS協議啟動主網的公鏈項目,會不可避免地存在共識中心化的問題,因為主網上線的時候股權分布往往是相對集中的。此外,純 PoS 協議還面臨著遠程攻擊(Long Range attack)的威脅。最嚴重的遠程攻擊會導致新加入的節點必須信任一些中心化的網站給出的信息,而這會導致 PoS 公鏈成為一個本質上中心化的網路。去使用PoW協議啟動主網的區塊鏈則可以實現分散的共識,從而避免這些問題。當PoW公鏈經過一段時間的發展,股權分布相對分散以後,還可以選擇PoW/PoS復合機制。
除此之外,還有一點值得注意的是,很多人誤以為比特幣的擴容問題是PoW機制的局限性造成的。我們經常在媒體網站或白皮書中看到這樣的句子,「比特幣因為使用了PoW機制,所以只能處理每秒3-7筆交易」。而事實上,經過適當的設計,例如,GHOST, Conflux 這樣的PoW演算法可以顯著提高出塊效率,達到每秒處理數千筆交易,且每筆交易都能得到全網節點的驗證。
PoW v.s. PoS:如何確定投票權
關於PoW和PoS之間的主要區別,就是在於如何確定區塊鏈共識中的投票權。 在PoW中,系統中的投票權與節點的計算能力成正比。每秒可以計算哈希函數次數越多,節點就越有可能贏得區塊鏈中下一個區塊的出塊權。而在PoS中,系統的投票權與持有的股權比例成正比。節點擁有資金越多,能為確定的下一個區塊投的票數就越多。
在公鏈早期階段,股權中心化將導致共識中心化
對於一個公有鏈來說,其上線初期往往是股權最集中的時候。在主網上線伊始,創始塊中分配的幣絕大多數屬於項目方和私募投資人,而這些人的數量往往非常有限。對於PoW共識機制,初始股權的集中不會帶來安全性問題,因為它的出塊和安全性不依賴於股權持有的分散,而是依賴於算力的分散。對於使用反 ASIC 礦機的挖礦演算法的公有鏈來說,任何人只要擁有顯卡和網路就可以成為礦工,這有助於促進更多人參與挖礦,實現早期算力的分散。只要超過50%的算力來自於誠實的礦工,區塊鏈中的交易就是安全不可逆轉的。
然而,在PoS共識機制下,股權集中會導致共識協議的參與者集中。區塊鏈的出塊權只能由少數在創世塊中擁有股權的玩家決定。如果這些人合謀對區塊鏈進行攻擊,則完全可以成功的實現雙花攻擊(Double spending attack). 盡管開發者和投資人出於利益考慮不會進行這樣的攻擊來摧毀他們自己的公鏈,但PoS公鏈也無可避免的在主網上線後就被這些人壟斷和支配。更糟的是,如果出塊可以獲得大量獎勵和交易費用,這些壟斷者就會將大量股權牢牢控制在自己的手裡,使得PoS公鏈成為一個本質上由巨頭控制的網路。
我們不要忘了,區塊鏈的核心價值是什麼?是去中心化的共識協議,保證了區塊鏈系統中每筆交易的正確性、不可篡改性。如果共識協議無法保證參與者的分散,區塊鏈就無法做到無需信任的安全性,那麼區塊鏈和傳統的分布式系統相比就沒有任何優勢了,甚至傳統的分布式系統能做得更經濟更高效。因此,公鏈項目在早期使用PoW, 是避免共識中心化,保護區塊鏈核心價值的明智選擇。
「長程攻擊」與「主觀依賴」問題
在一個公有鏈中,一個攻擊者如果擁有當下足夠多的算力或股權,無疑是可以打破公有鏈安全性完成攻擊的。但是在PoS 公鏈中,如果攻擊者獲得了一些賬戶的私鑰,這些私鑰在歷史上某一時刻控制了超過51%的股權,也可以完成攻擊,這種攻擊的方式被稱為長程攻擊(Long Range Attack)。
在長程攻擊中,攻擊者首先獲得一些私鑰,只要這些私鑰在歷史上曾經獲得了足夠多的股權,便可以從這一時刻開始分叉進行51% 攻擊,製造一條分叉鏈出來。而 PoS 的出塊不需要進行工作量證明,攻擊者可以短時間內讓重寫歷史的分叉鏈追趕上原本的主鏈,從而造成PoS鏈的分叉和防篡改性被打破。
攻擊者能夠取得這些私鑰不是天方夜譚。如果PoS公鏈的早期投資人在二級市場將持有的代幣賣掉後,將賬戶私鑰賣給攻擊者,攻擊者就可以從創世塊進行長鏈攻擊,從而可以打破一個鏈的安全性。如果一些投資者追求短期收益而非價值投資,攻擊者從他們手裡獲得私鑰就成為了一個可能的事情。
而為了應對長程攻擊,則有各種各樣的解決方案被提出:例如使用密鑰演化演算法更新密鑰,以避免密鑰被盜。但是如果早期投資者一開始就決定通過出售私鑰獲利,那麼他完全可以保留密鑰種子以繞開這一限制。還有一些解決方案基於這樣一個事實:如果攻擊者挖了一條完全不同的鏈,長期在系統中運行的節點或許有能力探測出這種異常。但是,這些方案依然存在如下問題:
PoS 長程攻擊造成的分叉與 PoW 的分叉有所不同。PoW 的分叉鏈難以獲得比特幣全網算力,比特幣礦工很容易從總算力中辨別誰是真正的比特幣。鑒於PoS共識協議在實際運行時,絕大多數股權持有者只是區塊鏈的使用者,並不會一直運行一台伺服器。攻擊者只要在一個歷史節點擁有了相當與PoS實際參與者的股權比例,就可以製造出一條難以辨別的分叉鏈出來。配合女巫攻擊(Sybil Attack),攻擊者可以從區塊歷史和節點數量上都獲得和被攻擊主鏈接近的水平,令新加入的節點無法區分,只能通過人工指定的方式選擇。這樣新參與者必須咨詢受信任節點來安全地加入系統,這一問題被稱為「主觀依賴」(Weak Subjectivity)
無利害攻擊
無利害攻擊(Nothing at Stake)是另一種PoS攻擊方式。當一個 PoS 鏈因為網路延遲、長程攻擊或其他原因出現分叉時,PoS 礦工可以選擇在兩個分叉的鏈上同時出塊,以獲取最大收益。而這違反了共識協議。
在PoW 鏈中,如果一個礦工想同時在多個分叉上挖礦,就必須將自己的算力分散在多個分叉上,所有分叉上分配的算力總和不會超過礦工擁有的總算力。對於多數礦工而言,將自己的全部算力投入到協議指定的鏈上是最優的選擇。
然而,在PoS 多個分叉上同時出塊所帶來的額外成本可以忽略不計,而選擇同時出塊可以保證無論哪一條分叉鏈最終勝出都可獲得收益。如果礦工遵守共識協議,只在協議指定的鏈上挖礦。一旦這個鏈被丟棄,礦工將會失去挖礦獎勵。只追求挖礦收益最大化的礦工會在兩邊同時參與,不惜因此打破協議——這會導致鏈長時間維持分叉的狀態。
與長程攻擊不同,精巧的激勵機制設計可以避免這一攻擊。但無利害攻擊依然表明讓PoS鏈正確地運行是一件很困難的事情。
總結
雖然PoS 具有節省能源等優勢,從而很多項目表示將採用PoS。但我們在分析區塊鏈安全性假設後發現,避免了計算「無用的哈希」之後會引入很多攻擊情形,而且目前沒有很完美的解決方案。誠然PoS有能源效率的優勢,但也帶來了很多安全性威脅。在PoS很好地解決這些威脅之前,PoW消耗的能源,就像和平時期國家軍隊用掉的軍費一樣,阻擋了很多潛在的威脅。最重要的是,其中許多威脅在區塊鏈項目早期顯得尤其致命。這也是我們為什麼相信新的公鏈項目應該從PoW開始。
⑹ 女科學家段斯斯:在區塊鏈「江湖」背後「雙手互搏」
段斯斯在清華大學高等研究院。(受訪者供圖)
段斯斯在清華大學高等研究院擔任研究員。她工作的地方擺放的東西很少,裝備不過是三台電腦。奇崛險怪的攻防進退,只在腦海里醞釀,在鍵盤上推演,找不到任何「硝煙」的痕跡。
她的研究方向是「拜占庭容錯演算法」,旨在防範分布式系統內各節點因「敵人破壞」導致的網路崩潰。形象地說,她在進行一場高智商的「雙手互博」。第一步,假想一個可能的漏洞或「敵人」;第二步,找到讓「敵人」失效的辦法;第三步,讓同行們相信她解決的是個「真問題」。
段斯斯這樣定義自己:介於科學家與工程師之間。她不像網路工程師那樣直接同黑客「鬥法」,她用數學和邏輯的力量設下讓「敵人」無能為力的規則。
「我們中間有匪。」段斯斯用「殺人 游戲 」用語比喻她研究的「拜占庭將軍問題」。「匪傳遞假消息,誤導好人的判斷,仗自然就打輸了。我要做的是制定一個協議,確保即便有匪,好人也不會輸。」
上世紀八十年代初提出「拜占庭將軍問題」時,還沒人知道什麼是區塊鏈。正是對這一問題不斷地務虛研究,才撐起如今的區塊鏈技術。現在,中國已把區塊鏈視作核心技術自主創新的重要突破口。
一開始,段斯斯選擇的方向有點冷門,不明就裡的人以為那是在解奧數題,她也遭遇過科學期刊的拒稿。區塊鏈興起後,人們看到網路安全協議的重要性,她的學術成就才被更多人看到。
今年1月,段斯斯入選《麻省理工 科技 評論》2021年中國區「35歲以下 科技 創新35人」,獲獎理由是她提出多個業界指標性拜占庭容錯協議,在分布式系統、區塊鏈和應用密碼學領域取得突出成果。
搭上新興技術的快車,段斯斯說自己挺走運的,可運氣的解釋力畢竟有限。她碩博階段本就不多的女同學,多數沒有繼續搞學術。支持她不放棄的原因,是「這挺有意思的」。
讓段斯斯覺得有意思的正是她自己想出來的各種刁鑽問題。在她看來,發現問題有時比找到答案更重要。
「女巫攻擊」「硬分叉」「梅克爾樹」「非對稱加密」……被要求科普這些區塊鏈圈的「黑話」時,段斯斯就像在智力競賽節目中按下搶答器,思維很快,語速也很快,且很快就把問題說明白了。
段斯斯本科就讀於香港大學電機電子工程系,2014年獲美國加州大學戴維斯分校計算機博士學位,畢業後曾就職於美國橡樹嶺國家實驗室和馬里蘭大學,2020年舉家回國。
「我覺得國內發展快,工作節奏也快,我比較嚮往發展這一點,尤其在計算機領域,盡管會比較累。」她說。
年輕有為、事業有趣、家庭圓滿,周圍人說她是「人生贏家」,她卻認為自己的生活「一地雞毛」。她是兩個男孩兒的媽媽,一個6歲,一個4歲。她曾經一手抱娃,一手寫代碼。
她打小不服輸,想做的事就停不下來,這也反映在工作風格中。「別人寫代碼可以零敲碎打,可我習慣一口氣寫下去。」
解決一個段斯斯式的問題要寫上萬行代碼,至少得花個把月工夫。現在這位「帶娃科學家」最渴望的是大塊的時間。「一旦被打斷,再回來就忘記自己當時是怎麼想的了。」她說。
段斯斯分享了一條有關「時間管理」的經驗:如果你遇到5分鍾之內可以解決的事,那麼現在就解決它,拖到後面做肯定不止5分鍾。
⑺ 九種常見的攻擊區塊鏈的方式
九種常見的攻擊區塊鏈的方式,很多人都知道區塊鏈這個東西,也都知道區塊鏈是會被人攻擊的,很多人不知道有哪鏈臘些可以攻擊區塊鏈的方式,下面跟著小編一起來看看吧,希望能幫到你。
九種常見的攻擊區塊鏈的方式
1、日蝕攻擊-一個節點將選擇「x」個節點作為訪問區塊鏈的基礎,該節點從這「x」個節點獲取區塊鏈的數據。
如果攻擊者可以使得此節點選擇的「x」個節點都為攻擊者可控制的節點,就可以使得被攻擊節點處在一個「孤立」的狀態。被攻擊節點將從主網中被隔離出來,完全由攻擊者控制。
2、女巫攻擊-這里的「女巫」並不是指擁有魔法的女人,而是出自一部美國電影《Sybil》,劇中的主人公擁有16重人棚亮滑格,扮演著16個不鍵好同的角色。而女巫攻擊就是指同一節點偽裝成不同節點發起的一種攻擊。
攻擊者通過偽造的身份,使少量節點偽裝成大量節點,進而影響整個網路。攻擊者可能利用女巫攻擊進行雙花、實現51%攻擊等,並且要實施日蝕攻擊,一般都會先進行女巫攻擊。
3、異形攻擊-異形攻擊又稱為「地址污染」。
當不同公鏈使用兼容的握手協議時,我們稱這些公鏈為同類鏈。攻擊者將同類鏈的節點數據加入被攻擊的公鏈節點中,當被攻擊的公鏈節點進行通信並互換地址池時,就會污染其他正常節點的地址池,並持續污染整個公鏈網路,導致公鏈通信性能下降,最終造成節點阻塞等現象。
4、自私挖礦_區塊鏈的共識機制決定著節點會認同最長鏈才是真實有效的。攻擊者可以在當前最新區塊上持續挖礦但不進行廣播,從而隱藏自己挖出的區塊。
當攻擊者節點隱藏的區塊長於已在鏈上的公布的最長區塊時再進行廣播,從而成為最長鏈,使得原先的最長鏈進行回滾,從而實現雙花等攻擊。
5、挖礦木馬_攻擊者通過上傳惡意程序到公開網路或者製作蠕蟲病毒等方式將挖礦程序傳播到他人計算機上。
利用他人計算機資源和電力進行挖礦,獲取挖礦利益。被攻擊的計算機會消耗大量的資源,導致電腦卡頓,使用壽命減短。
6、51%算力攻擊_51%算力攻擊是區塊鏈最著名的攻擊方式之一。
在一個POW共識的區塊鏈網路中,算力即是權力。當超過50%的算力都由一人控制時,此人就可以任意的撤銷和阻止交易,進而實現雙花。
7、時間劫持攻擊_一個節點是通過其他節點時間的中位值來確定時間的。
如果攻擊者將一個惡意的節點列表置入被攻擊節點的對等節點列表中,就可以控制此節點的時間,例如通過日蝕攻擊。
8、芬尼攻擊_如果攻擊者可以隱藏一個包含自己交易的區塊,就可能實現一筆雙花。
當一個交易所或其他機構接受0確認的交易時,攻擊者可以向其進行轉賬,花費其隱藏區塊中已經花費的資金,在新交易的區塊廣播前,將隱藏的區塊廣播。
因為所隱藏的區塊時間更早,所以在後面進行的花費將被回滾,從而實現雙花。
9、種族攻擊_此類型攻擊是「芬尼攻擊」的分支,攻擊者將同時進行兩筆交易,花費同一筆資金,一筆轉給支持0確認的商家進行提現;一筆轉賬給自己,並給予更高的gas。
節點會優先處理gas更高的交易,所以後一筆交易將不會被執行。通常攻擊者會連入與被攻擊商家較近的節點進行操作,使得商家優先收到最終不被執行的交易。
⑻ 比特幣錢包
比特幣(bitcoin)誕生於2008年的一篇論文。
一個署名為中本聰的人,提出了革命性的構想:讓我們創造一種不受政府或其他任何人控制的貨幣!這個想法堪稱瘋狂:一串數字,背後沒有任何資產支持,也沒有任何人負責,你把它當作錢付給對方,怎麼會有人願意接受?
Merkle tree
跟二叉樹長得很像,只是這個是下面兩個節點取哈希值得到上面節點。只需要記住根節點,就可以檢測整棵樹有沒有被篡改。
根哈希值存在block header里,交易過程存在block body里。全節點包括block header和block body,但是輕節點(比如手機上比特幣錢包)只包括block header。這棵樹可以證明包含某個交易已經被寫進了區塊鏈。
3.共識協議
去中心化的貨幣要注意的兩個問題:
1.誰能發行數字貨幣:挖礦。
2.怎麼驗證交易的合法性:區塊鏈。
雙花攻擊(double spending attack)
雙花攻擊是數字貨幣的一個主要挑戰。
比特幣中的交易都要有輸入和輸出,幣從哪來,花到哪去。
正常情況也可能有兩個分叉,因為兩個節點同時獲得記賬權,兩個節點打包的區塊,同時計算出了那個隨機數。此時會暫時兩個分叉共存,直到其中某一個區塊搶先找到了下一個區塊,這條就成了最長合法鏈,另一個分叉就被丟棄。
女巫攻擊(sybil attack)
某惡意節點不停產生賬戶,賬戶總數超過總賬戶的一半,則取得了區塊鏈的控制權。
比特幣中的共識協議(Consensus)
一些節點是有惡意的,大部分節點是好的。
想法1:把一些交易打包到區塊里作為候選區塊,讓每個區塊投票,如果通過就寫入區塊鏈。
不行,因為有的惡意節點一直發布一些含有惡意交易的區塊,則一直投票,佔用資源。而且有的節點不投票。
想法2:不按賬戶個數投票,而是按照計算力投票。每個節點都可以產生合法交易放入區塊,這些節點就開始試隨機數,直到找到H(block header)≤ target,則這個節點有記賬權。
唯一產生比特幣的途徑
coinbase transaction。這個不用指出幣的來源,有了記賬權的節點(找到了隨機數)會有出塊獎勵。
50BTC->25BTC->12.5BTC,每21萬個比特幣,獎勵就減半。
比特幣爭奪記賬權的過程叫挖礦。爭奪記賬權的節點叫礦工。
⑼ pos機制的起源與設計理念
POS起源
2012年,背景是POW進淪為資本玩家的玩具,算力過於中心化,隨時都有被「51%攻擊」。
開放者Sunny Kind第一次提出了POS(股權證明)的概念,與POW是完全不一樣的。
POS不用大量的算力來維持網路安全,只要參與者打開自已的錢包在線增加權重,獲得相應的獎勵也就是利息。
POS的設計理念
我們應該都知道,比特幣的區塊產量每四年就會減半,這樣區塊的產量將會越來越少,礦工就會「曠工」,因為賺到的越來越少。
那麼,人數少了,比特幣就可能被一些高算力的人所掌握,數字貨幣網路將會癱瘓。
POS解決方法:並非所有的區塊都是靠挖礦得來的,只要打開錢包客戶端程序,就能發現區塊,也可以得到利息,這樣就會有一個引流的效果。
POS機制可以描述成一種虛擬挖礦。鑒於POW主要依賴於計算機硬體的稀缺性來防止女巫攻擊,POS則主要依賴於區塊鏈自身里的代幣。
女巫攻擊
這個名字是基於1973年的小說《女巫》改編的同名電影,女主具有16重人格。
因為節點隨時加入和退出等原因,為了維護網路的穩定,同一份數據可能備份在很多節點上,這就是數據冗餘機制。
若是在網路上存在惡意節點,那這一個節點就具有多重身份。那這個惡意節點就可能騙到其他節點備份到他這里。
POW就是根據計算能力隨機,而POS則根據擁有財產隨機。POW是保證比特幣、當前以太坊和許多其它區塊鏈安全的一種機制。
但是POW演算法在挖礦過程中因破壞環境和浪費電力而受到指責。POS試圖通過以一種不同的機製取代挖礦的概念,從而解決這些問題。
PoS的優點
不再需要為了安全產生區塊而大量消耗電能。由於不再需要大量能耗,通過發行新幣以激勵參與者繼續參與網路的壓力會下降。PoS機制下,全網每秒可以處理的交易數增加,可以提供比PoW機制更好的性能。
POS演算法是個資本主義
你擁有的錢越多,得到的權利也就越大。為什麼?
因為你在裡面的錢越多你想要維護系統的願望也就更大。若是有惡意攻擊,他們的錢也就只能是竹籃打水一場空。
POS演算法
如果我手上有500個代幣,把它放進POS機制,這樣裡面的500個代幣就變成了驗證者.假設它在區塊鏈里最新的塊。
POS演算法將從驗證者裡面抽取一個隨機的,給他們權利產生下一個區塊。
PoS 機制由股東自己保證安全,工作原理是利益捆綁。在這個模式下,不持有 PoS 的人無法對 PoS 構成威脅。PoS 的安全取決於持有者,和其他任何因素無關。
PoS機制源於人們對PoW機制的不滿以及改進。早期的PoS機制有各種缺陷,隨著各種項目對PoS機制的不斷改進,PoS正逐漸成為主流的共識機制。