Django作者闡述比特幣和區塊鏈的主要技術主張

banq發表於2022-03-06

本文作者(Luke Plant)是Python大名鼎鼎Web框架Django的作者,這篇文章試圖讓那些不是計算機專家的人具備足夠的知識來參與區塊鏈的主要技術主張,以及它們在現實中的衡量方式,下面是摘要:
我(Luke Plant)是一名軟體專業人士,從小就開始程式設計。我在十幾歲的時候就自學了 BASIC 和機器程式碼,那時我什至還不知道網際網路的存在。從那時起,我積累了超過 20 年的專業軟體開發經驗, 涉及範圍廣泛的程式語言和業務領域。
我對開源世界也有相當深入的參與,其中最著名的是 Django,它可能是Python最流行的 Web 框架,如今在大量網站中使用。當我更積極地參與該專案時,我為其安全性做出了巨大貢獻,這需要對網路的工作原理以及密碼學的一些基礎知識有很好的理解。

我現在主要將自己標榜為全棧 Web 開發人員——這意味著我從頭到尾製作網站,並且我為能夠為實際需求提供高效、精心設計的解決方案而感到自豪。我提到所有這些是為了建立:
  1. 我知道網路和網際網路是如何運作的,對密碼學有合理的理解,而且我完全有能力在技術層面理解比特幣。
  2. 我不是技術恐懼症或類似的東西。作為一名網路開發人員,我經常需要評估和學習新技術。
  3. 我已經有足夠長的時間了,知道很多事情都是迴圈往復的,並不是每一個新事物都會持續下去,有時我們會倒退。有很多新技術被證明是無效的。

當然,我不能聲稱技術人員是 100% 反加密貨幣的——這在科技界是一個非常分裂的話題。但是,所有或大多數具有技術素養的人都認為這是一場偉大的革命的說法是完全錯誤的。
  

如何評價一項技術?
在我參與的許多開源專案和閉源私人專案中,當提出更改或新增時,您應該提出的問題是:

  1. 這試圖解決什麼問題?
  2. 它真的解決了嗎?
  3. 它帶來了哪些成本?

那麼讓我們看看那些關於比特幣、以太坊等的問題。
 

比特幣解決了什麼問題?
我們最好參考原始比特幣白皮書,其中描述了“點對點電子現金系統”
比特幣聲稱要解決的基本問題是能夠進行不透過金融機構的“點對點”電子匯款,類似於現金點對點的運作方式,不需要受信任的第三者參與的一方。在白皮書中,這樣做的主要動機是:

  • 為了避免信任中介的需要,
  • 透過降低與調解相關的成本來降低交易成本(銀行必須準備好解決欺詐案件),
  • 處理可逆交易引起的欺詐。

因此,在評估比特幣時,我們應該主要將其與其他支付系統——實物現金和電子支付——以及銀行系統進行比較。
現金是一種方便的支付方式,只需幾秒鐘就能完成,高度可靠,而且有很高的隱私性。它有不得不隨身攜帶現金的不便和不安全之處,因此越來越多地被電子轉賬所取代。這些工作非常好。
  • 在商店裡,我可以用銀行簽帳金融卡或信用卡以電子方式支付貨物,或只需刷一下,幾秒鐘就可以完成交易。
  • 在朋友之間,我可以做即時(或幾乎是即時)、免費的銀行轉賬,從小額到相當大的金額,24小時不間斷,而對於非常大的金額,則可以用其他較慢的系統。當我住在土耳其時,我也有同樣的情況--雖然銀行間轉賬要花幾分錢--而且據我所知,現在大多數國家都有類似的東西。
    在這方面落後的國家(如美國!),還有其他解決方案,如Venmo,顯然效果很好。
  • 這種便利性帶來了一些安全問題,但現代銀行業務有大量處理欺詐活動的偉大功能--例如:
    今天早上接到一個電話,說信用卡收費不正常。十分鐘內,該卡被取消,所有正在進行的欺詐性收費被阻止,所有舊的欺詐性收費被質疑,一張新卡會被郵寄。


有一些重要的改進空間:
  • 你需要一個銀行賬戶來進行這些電子轉賬。
  • 銀行有能力阻止金融活動,如果它是合法的,而且你在某種程度上受到迫害,這可能是不好的。
  • 存在銀行破產的風險。
  • 銀行或我們透過的其他第三方,對我們如何花錢有一個相當清楚的概念。


銀行並不完美,但它們受到相當好的監管,在我所有的金融擔憂中,銀行偷竊或丟失我的錢是最不值得擔心的。即使他們破產,我在英國也有85,000英鎊的政府保護擔保。在評估加密資產時,我們需要看看它們能在多大程度上真正改善事情,如果有的話。
 

區塊鏈解決方案的工作原理
無許可區塊鏈2帶來的創新是一種基於“工作量證明”的巧妙共識演算法。讓我們簡單地解釋它。
共識協議是允許一組協作計算機(通常稱為節點)充當單個資料庫並安全一致地儲存資料的機制,即使:

  • 節點之間沒有固定的領導者
  • 任何節點都可能隨時出現故障或不可用。

設計一個共識協議來保證這些確實具有挑戰性:
工作量證明是一個預先存在的概念。它基於這樣一個事實,即某些計算需要大量工作才能完成,但一旦完成就很容易驗證。此類計算的輸出可以用作證明您已經花費了計算資源(即電力)以及所需資金的證明。
比特幣以一種新穎的方式使用 "工作證明 "作為共識協議,使作弊成本過高。它基本上要求計算機對下一個 "正確 "的數字進行很多很多的猜測,以便將提議的新交易新增到列表的最後。
其結果是,一組互不信任的分散式節點可以在一個不斷增長的記錄鏈上達成一致,該記錄鏈被稱為區塊,列出了交易,即比特幣的轉移。該協議不需要一箇中央信任機構(如政府),或一個可信的中介(如銀行),也不允許壞人將同一筆錢轉給一個以上的人(一個被稱為 "雙重消費、雙花 "的問題)。

當然,這種刻意降低效率的過程所需的電力必須得到獎勵,所以為什麼有人會加入呢?比特幣解決這個問題的方法如下。
  • 該協議獎勵任何正確新增區塊到鏈上的參與者,並提供一些新建立的比特幣。
  • 在現實世界中,我們需要有足夠多的人相信這個比特幣是有價值的,而不僅僅是電腦上的一個虛構的代幣。否則,"礦工 "就會白白花費大量的電力。 


這種解決方案是否真的有效?
大多數人都同意,比特幣白皮書中描述的作為共識協議的區塊鏈的基本機制確實是有效的。

然而,該解決方案有巨大的弱點和成本。
  
問題和弱點

  • 是真的去中心化的點對點嗎?

雖然從技術上講,比特幣網路的形態可以被描述為參與計算機的“點對點”,但從使用者支付的角度來看,它不是。
通常,點對點網際網路協議只需要兩個對等方的參與即可成功。在現實世界中,現金是一種真正的點對點協議——現金交易完全不需要其他人參與。

比特幣非常不同。如果我有一些比特幣,並且想將其轉讓給您,並且我們都坐在同一個房間並且擁有我們喜歡的所有計算機和網路硬體,那麼在沒有網際網路連線的情況下,我仍然不可能將所有權轉讓給您。我們必須連線到比特幣網路,將我們的交易新增到公開的所有交易的共享列表中,然後等待確認。因此,從想要進行支付的使用者的角度來看,最好將比特幣視為一個大型、分散式但中心化的系統,而不是去中心化的系統。
這與傳統銀行業務中的電子轉賬形成鮮明對比。如果你和我在同一家銀行,我們只需要和我們的銀行通話就可以在我們之間轉賬,不需要涉及外部網路。如果我們有不同的銀行,銀行他們自己需要能夠相互商量對接,但僅此而已。
銀行之間交流是不需要一個保持交易一致的共享賬本,這是一個至關重要的優勢。(banq注:作者可能沒有想到SWIFT)
這使得比特幣,在其理論上最好的情況下,比傳統的銀行業務更集中,更少的點對點的交易。
 
  • 安全

加密貨幣可能會以災難性的方式失敗。其中第一個是“網路分割槽”事件。
問題是:當網路的一部分與其他部分斷開時會發生什麼?例如,一個國家可能會斷開連線,或者整個美洲可能會與歐洲、亞洲和非洲斷開連線。
網際網路本身就是為了解決這類問題而設計的。
然而,比特幣無法應對主要的網路分割槽:
比特幣網路的雙方都將繼續工作(儘管如果存在不平等的分歧,一方可能會減慢到無法使用的程度)。讓我們想象一下,在正確恢復連線之前,這種情況持續了幾天或幾周。此時,我們將有兩個不同的區塊鏈“分支”,這是不允許的。按照設計,沒有辦法合併分支,比特幣只會選擇兩個分支中最長的一個。對於不幸的一半,在網路分割槽的那幾天或幾周內發生的所有交易都將被刪除。
 
我們能否開發出令人滿意的解決方案來解決這個問題?
不!
這是CAP定理的一個例子:
  • 您試圖透過簡單地停止所有貿易和金融交易來避免這種情況,直到恢復足夠的連線(或者這可以由協議本身強制執行)。
  • 您沒有將兩個網路重新連線在一起,而是不可調和地將加密貨幣分成兩個不同的硬幣。


傳統銀行業不存在這個問題:
如果網際網路遭受大分割槽,我們肯定會遇到問題,特別是因為日益集中化和對少數大型提供商的依賴。
但我們可以繞過它們,因為網際網路和銀行的基本協議都更好地去中心化和更健壯。
銀行轉賬不需要連線大部分網際網路——您只需要兩家銀行能夠相互交談。恢復連線後,您不需要刪除任何內容。毫無疑問,在某些情況下會有爭議,但至關重要的是,對個別交易提出爭議並不需要使其他所有人交易的整個鏈條無效。(banq注:銀行之間的網路早於網際網路建設,相當兩套網路相互備份,當然不會存在這個問題,而比特幣是一套網路,這能比較嗎?)
 
  • 賬本技術

比特幣區塊鏈本質上是一個公開的交易賬本。因此,我們可以將其與維護交易賬本的其他系統進行比較。除了上面提到的安全性,另一個比較軸是效率。
共識的“工作量證明”方法使比特幣的效率低得驚人。此外,協議的自我調節性質和經濟因素意味著比特幣的美元價值越高,它使用的電力就越多。
結果是,在撰寫本文時,單筆比特幣交易所需的電力大約是 Visa 交易的 100 萬倍,或至少數十萬倍。
比特幣最初聲稱的動機之一是“降低交易成本”,這看起來很荒謬。即使對於某些加密資產,終端使用者支付的交易費用很低或為零,這裡的負外部性也高得離譜。
 
  • 金錢技術

為了使該系統正常工作,比特幣協議必須能夠獎勵“礦工”,並且不依賴任何其他金融機構。這意味著它必須創造一種新貨幣——比特幣或狗狗幣或許多其他貨幣中的一種。每個不同的區塊鏈都需要自己的貨幣。這是一個非常糟糕的缺點,因為貨幣的全部意義在於你只想要一個。而這個問題會導致更多。

在金本位時代,要在經濟中獲得更多資金,您必須從地下挖出金礦石並進行提煉等。這非常昂貴,並限制了經濟中的貨幣供應,導致經濟蕭條。
由於經濟需要,我們從金本位轉移到信用貨幣,銀行能夠按需創造貨幣,只需開設一個貸款賬戶並將一些條目放入資料庫 - 這個過程幾乎是免費的。

然而,區塊鏈將是一個巨大的降級:你必須使用大量的能量來“挖掘”比特幣,就像使用黃金一樣。只不過比以前更糟了:由於其卓越的物理和化學特性,黃金至少有一些重要的應用,比如珠寶和電子產品,但比特幣的計算沒有其他價值。
(banq注:不能說比特幣沒有黃金有價值,那是比特幣誕生之初,現在使用比特幣可以購買特斯拉汽車,可以像黃金飾品一樣炫富,滿足個人虛榮心和存在感,這些為人服務的功能不能說沒有價值,如果為人服務都不算價值,那麼他的價值觀肯定被洗腦了)

比特幣的設計使得最終不會再生產更多的硬幣。這是發明者因為不懂錢而故意選擇的,是致命的缺陷。它根本不具備支援重大經濟活動所需的能力或結構特徵。
(banq注:這個斷言也過於妄言,如今區塊鏈和比特幣技術參與了很大重大經濟活動,當這項新技術成為基礎設施時,人們才能看到它支援重大經濟活動,它的特徵雖然不像紙幣那樣隨意發行,但是至少迴避了人為印鈔的衝動,但是又不像黃金那樣難以流通,比特幣是在黃金和紙幣中間又試圖尋找一個平衡,但這點就很戰略性了)
 
  • 支付技術

全球比特幣網路儘管耗電量驚人,但每秒最多可進行 7 筆交易。
以太坊除了可笑的用電量外,由於網路內建的低效率,還具有瘋狂的高交易費用。(比特幣過去也很糟糕,但已經有所改善)。對於以太坊來說,在撰寫本文時,單筆交易的所謂“gas”費用 徘徊在 30 美元左右,但可能會達到數千美元(!)。

在這一點上,我們必須放棄比特幣和以太坊真的完全可以作為支付技術的想法,
(banq注:剩餘都是與傳統資料庫技術比較,可看我評論另外一篇文章:區塊鏈與分散式資料庫的比較
 
  • 隱私和匿名

至少在理論上,一個真正的點對點支付系統可以在隱私方面有很好的故事,就像實物現金一樣。取而代之的是,代替您的銀行帳戶可以為您提供的(有限的)隱私,比特幣擁有一個所有交易的公共共享資料庫,這顯然是一個大規模的降級。
現在,區塊鏈在理論上是匿名的,因為人名不會出現在其中。相反,您由您的公鑰表示。但是,如果有人知道誰擁有金鑰,那麼您的匿名性就會消失,並且隨著時間的推移,金鑰和人之間的聯絡很可能會出現。
如果你願意付出額外的工作並賺到錢,你也許可以使用比特幣實現合理的匿名性,但對於大多數“沒什麼可隱瞞”的人來說,沒有這樣做的動力。由於這些原因,現在人們普遍認為比特幣的隱私性非常差(儘管其他一些加密貨幣要好得多)。
 
  • 不可逆性、不可變性

與傳統銀行業務相比,比特幣的主要特徵之一是交易是不可逆轉的——硬幣只能在所有者許可的情況下移動。根據白皮書,這是比特幣的主要動機之一,因為它能夠阻止買家進行欺詐——例如當買家支付和接收商品,但隨後能夠對他們的信用卡進行退款,欺詐性聲稱他們沒有得到貨物。
比特幣試圖阻止這種情況的嘗試似乎沒有抓住重點:銀行這種可逆性是一種經過深思熟慮的特徵,並且來自法律,而不是需要透過技術手段修復的意外錯誤。
在比特幣系統中,不可逆性提供的優勢至少與它的劣勢相當,即更難或不可能打擊賣家和其他人(如駭客)的欺詐行為。
(banq注:這句邏輯是首先假設某個人是駭客,如果世界上有一種技術能在壞人沒有做出壞事之前首先分辨出誰是壞人,這世界在天堂,因為那裡有上帝幫我們首先區分)

不可逆性是迄今為止區塊鏈最令人印象深刻的特性,但它是你絕對不想要的特性。

但實際上,當地法律可能仍然適用,因此只要您居住在同一個國家/地區,您仍然可以透過法律途徑尋求退款。他們只會更加低效。所有這些都表明了一個更普遍的觀點:如果你可以在虛擬系統“之外”工作(由於人類擁有必須生活在有規律的地理位置的身體),那麼你可以在系統內做出的保證很快就會變成無意義。
 
.....
 banq注:翻譯不下去了,想不到整篇文章充斥了情緒用詞:騙子,可笑,辣雞等等字眼,著名程式設計師也會有 鄧寧-克魯格效應,有興趣者點選原文。





 

相關文章