談談比特幣的機制及攻擊

wyzsk發表於2020-08-19
作者: 囧思九千 · 2013/11/17 16:31

大家好,我是OpenCDN團隊的Twwy(@囧思八千)。

我只是從技術角度,闡述一下個人觀點,如果有什麼金融的原理上的錯誤,還望大牛指出。

首先,本文並不是對比特幣的演算法上的缺陷進行探究,我認為比特幣的演算法沒有缺陷(不保證真的有什麼天才發現比特幣演算法上的漏洞)。當然,這點也成為人們對比特幣的擔心:“萬一哪天這個天才出現了,那我手上的比特幣不就變成廢紙了嗎?”這點,可以歸結為對比特幣的實際價值的懷疑。不過,本文並不是探討這種“有的沒的萬一哪一天”的擔憂的。我們,邏輯說話。

然後,如果你對比特幣的概念還有些雲裡霧裡,那麼我先給比特幣做個比喻:

他是一種比貨幣流通更方便的黃金。

為什麼會有貨幣?因為黃金流通不方便。那麼貨幣有黃金保值嗎?

沒有,貨幣的發行機構隨時可以調整匯率,你手上的貨幣隨時可能變成一張廢紙。

這個錢就像政府以方便流通為由,給你一個記憶體指標,而指標背後的變數隨時會變(政府好聰明)。

那麼,有沒有一種魔法可以讓黃金變得很輕很小,然後容易流通呢?

有,比特幣就是。

比特幣用演算法做保證,保證了這個比特幣的數量是有限的,並且獲得比特幣都要經過人人平等的挖礦計算(是不是有點像黃金),不是像政府可以隨時調整貨幣。所以,這個也正是這個專案危險的地方,一旦比特幣作為貨幣被大家認可,那麼國家就無法透過調整貨幣發行量來進行經濟的一些宏觀調控了。當然,是不是資本家也無法透過貨幣來進行資本剝削了呢?這個純屬我的猜測。如果這樣的話,那是不是作為社會主義的中國應該首先支援比特幣啊?

我想,比特幣的設計者就是這麼想的,這是多麼美妙的一個世界啊。

沒有了可操縱的貨幣,沒有了透過貨幣實現的剝削。

每個人賺的錢就是自己的,而不是像某些國家,錢放著越放價值越少,越放久能買的東西越少。

不過,你也一定會想,假如整個世界的經濟都是基於一個演算法之上,那麼演算法萬一被擊破了不是整個世界就崩盤了?

我只能說,比特幣這方面的機制確實太巧妙了,任何與他為敵的都會被傷害反彈!

而這些攻擊如果順著比特幣的遊戲規則走,卻能獲得收益!我們就拿51%攻擊為例,我們先來看下51%攻擊的實施方法。

準備工作:

  1. 既然是51%攻擊,就必須首先掌握足夠的算力,無論是控制礦池,還是利用其它計算資源,總之必須使你的算力領先與現在網路總算力,領先的幅度越大,成功的可能性越高;
  2. 拿到足夠的BTC作為籌碼,無論是自己挖到的,還是從任何渠道買的,都可以;

攻擊步驟:

  1. 將手中的BTC充值各大交易所,然後賣掉,提現;或者也可以直接賣給某人或某一群人;
  2. 運用手中的算力,從自己對外付款交易之前的區塊開始,忽略自己所有對外的付款交易,重新構造後面的區塊,利用算力優勢與全網賽跑,當最終建立的區塊長度超過原主分支區塊,成為新的主分支,至此,攻擊完成;

我們來概括一下,就是掌握了全網51%的計算力之後,可以抹去最近的任一一筆交易(注意:是隻能抹去,原因後面還會提到)我想,從邏輯角度來講,這個攻擊是沒有問題。但是,是不是完成這次攻擊就能獲益呢?你太天真了。首先,因為51%攻擊一次成本是很高的,那也意味著你手上掌握的比特幣數量也是很可觀的,而如果你拋售比特幣足以引起價格下跌,所以你拋售獲得的現金一定會低於你之前買進的價格。於是你可能會說,那有怎麼樣呢,反正我可以透過抹去交易把比特幣拿回來。是嗎?你一旦實施成功51%成功,全球的人都知道比特幣被攻擊。然後大家對於比特幣的信心會瞬間崩盤,你手上辛辛苦苦弄回來的比特幣還有意義嗎?就是一堆廢資料了。然後我們清算一下,完成這次攻擊後,比特幣崩盤,所有人都損失,攻擊者也損失,可能損失更慘重。那麼是否有可能少抹一些資料來避免影響呢?可以啊,你能為調動計算力買單,你能攻擊一次賠一次確實可以啊,但是你為了什麼呢?這也就是比特幣的傷害反彈特性,現在如果某個富二代砸老子幾億美金還是可以幹掉比特幣的,但是隨著時間的推移,難度越來越高。

現在,我們來解釋一下剛剛為什麼交易只能抹去。因為所有的交易賬單都是RSA加密的,而對比特幣進行攻擊的關鍵就是要使賬單出錯。如果你說可能破解出RSA的私鑰,然後來篡改賬單,那我只能說呵呵了。所以比特幣也能很驕傲地說,我們是基於密碼學的。確實,因為RSA存在,我們無法偽造賬單,但是我們可以刪除賬單。怎麼刪除賬單呢?就是用上面的那個會被傷害反彈的51%攻擊來刪除賬單。同時,大家也要注意,如果一旦我把RAS金鑰銷燬掉,也就意味那個餘額無人能動,這些比特幣就永遠地從世界上消失了。這個特性我們在後面會提到,將會對比特幣產生巨大的影響。

於是,大家看,比特幣系統真的像一個武林中的絕世法寶,他不斷吸取著世界上的精華,為他所用,無人能敵,傷他者只能自傷,隨著他日益強大,武林中能與他同歸於盡的人都屈指可數。不過,這種形容不是都是形容那些反面角色或者反面技能的嗎?是的,現在,我們繞到他的反面來看看。

從演算法或者設計角度來看比特幣,簡直是完美。不過,我們來看看他的一些更完美的特性吧?比特幣具有極強的匿名性,任意人可以隨時生成一個收錢地址來收錢,那樣,要洗個錢簡直輕而易舉。不過,也正因為比特幣的分散式特點,每個客戶端都存有全世界的所有賬單,因為每個人的餘額是是根據比特幣系統產生到現在的所有賬單計算出來的。這是不是一個更牛逼的特性?世界上所有的交易全部是透明公開的!那也就是說,如果你公開了你的收錢地址,也就相當於公開了你的錢包餘額。這個,你能接受嗎?同時,你也要注意,無論比特幣在比特幣網路怎麼流通,他終究要轉換成可用的東西,比如現金、物品。而這個轉換一般來說肯定是實名的,由此,透過對應的比特幣地址,可以直接找出你的所有比特幣的消費行為,因為這些賬單對世界上所有人是透明的。那麼有可能透過N多個收錢地址和複雜的交易聯結來隱藏嗎?是可能的。但是,這也就導致了比特幣好心幹了壞事,該隱藏的資訊(比如個人餘額)沒有隱藏,不該隱藏的資訊(比如洗錢)卻進行了隱藏。我想,一定也有人會說,如果賬單全透明瞭又怎麼樣?可能會帶來一個人類誠信的新紀元。是嗎?隨便拿個例子,比如《三體》中的三體人,他們的世界上沒有欺騙,所有人的思維全部互相可見。所導致的後果是?被人類坑。在人類世界,思維透明和錢包透明似乎有那麼點異曲同工之妙,大家可以感受一下。你覺得你能接受在你家門牌號上貼你家資產餘額的世界嗎?

那麼,我們再來看看比特幣的另一個優秀特性:沒有人能夠控制比特幣的發行,比特幣的總量會止步於2100萬。那麼如果一個貨幣不會通貨膨脹,由於貨幣會損耗(RSA私鑰丟失),那麼一個貨幣的通貨緊縮是必然的。於是,這似乎讓人感到很愉悅!因為比特幣在到達總量之後,就只會因損耗而減少了,而減少必然導致比特幣的升值。這似乎是件對全人類都有益的好事!每個人只要買入比特幣,然後坐等他升值就行了,大家都會賺錢。大家有沒有發現一個問題?這些收益誰來買單?是的,一個無人控制的比特幣市場,只會因為比特幣的損耗而不斷升值。除非,比特幣成為了世界的通行貨幣,每個人都擁有,那麼這種升值便可以被抵消,使貨幣價格處於一個相對平衡狀態。所以,比特幣的目標也確實非常明確,如果他不能替代掉現有的貨幣系統,那麼他就是一個類似龐氏騙局的東西,真是一個天堂,一個地獄!

所以,現在看來,比特幣其實就像一面鏡子,照出了人類自己。比特幣成功與否,就看人類自己,這是一場人類自己與自己的博弈:接受一個去中心化的貨幣,接受所有人的財產全部透明化,政府接受不透過貨幣來調控經濟等等。當然,你也可以進行人類的博弈競猜:購買比特幣。如果你押人類可以戰勝自我,那麼就買比特幣;反之的話,看完這篇文章,該幹做什麼做什麼去,就當什麼也沒發生。注意,你的選擇也會影響到全人類。

ps:因為金融知識有限,只能用黃金做下比喻。如果文章中有什麼錯誤,還望指出。

比特幣相關資訊

比特幣原理詳解 http://www.36kr.com/p/24672.html

什麼是比特幣51%攻擊?http://www.btc38.com/btc/btc_learning/219.html

比特幣中國 https://vip.btcchina.com/

僅過 10 天,最大比特幣交易平臺 Mt.Gox 再受攻擊 http://www.ifanr.com/news/280564

Mt.Gox https://www.mtgox.com/

目前世界上有多少人擁有比特幣?擁有最多比特幣的人是誰?(知乎) http://daily.zhihu.com/story/1809292

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章