導航:首頁 > 文檔加密 > 加密貓的結局

加密貓的結局

發布時間:2024-12-09 10:13:48

① 什麼是區塊鏈擴容

普通用戶能夠運行節點對於區塊鏈的去中心化至關重要

想像一下凌晨兩點多,你接到了一個緊急呼叫,來自世界另一端幫你運行礦池 (質押池) 的人。從大約 14 分鍾前開始,你的池子和其他幾個人從鏈中分離了出來,而網路仍然維持著 79% 的算力。根據你的節點,多數鏈的區塊是無效的。這時出現了余額錯誤:區塊似乎錯誤地將 450 萬枚額外代幣分配給了一個未知地址。

一小時後,你和其他兩個同樣遭遇意外的小礦池參與者、一些區塊瀏覽器和交易所方在一個聊天室中,看見有人貼出了一條推特的鏈接,開頭寫著「宣布新的鏈上可持續協議開發基金」。

到了早上,相關討論廣泛散布在推特以及一個不審查內容的社區論壇上。但那時 450 萬枚代幣中的很大一部分已經在鏈上轉換為其他資產,並且進行了數十億美元的 defi 交易。79%的共識節點,以及所有主要的區塊鏈瀏覽器和輕錢包的端點都遵循了這條新鏈。也許新的開發者基金將為某些開發提供資金,或者也許所有這些都被領先的礦池、交易所及其裙帶所吞並。但是無論結果如何,該基金實際上都成為了既成事實,普通用戶無法反抗。

或許還有這么一部主題電影。或許會由 MolochDAO 或其他組織進行資助。

這種情形會發生在你的區塊鏈中嗎?你所在區塊鏈社區的精英,包括礦池、區塊瀏覽器和託管節點,可能協調得很好,他們很可能都在同一個 telegram 頻道和微信群中。如果他們真的想出於利益突然對協議規則進行修改,那麼他們可能具備這種能力。以太坊區塊鏈在十小時內完全解決了共識失敗,如果是只有一個客戶端實現的區塊鏈,並且只需要將代碼更改部署到幾十個節點,那麼可以更快地協調客戶端代碼的更改。能夠抵禦這種社會性協作攻擊的唯一可靠方式是「被動防禦」,而這種力量來自去一個中心化的群體:用戶。

想像一下,如果用戶運行區塊鏈的驗證節點 (無論是直接驗證還是其他間接技術),並自動拒絕違反協議規則的區塊,即使超過 90% 的礦工或質押者支持這些區塊,故事會如何發展。

如果每個用戶都運行一個驗證節點,那麼攻擊很快就會失敗:有些礦池和交易所會進行分叉,並且在整個過程中看起來很愚蠢。但是即使只有一些用戶運行驗證節點,攻擊者也無法大獲全勝。相反,攻擊會導致混亂,不同用戶會看到不同的區塊鏈版本。最壞情況下,隨之而來的市場恐慌和可能持續的鏈分叉將大幅減少攻擊者的利潤。對如此曠日持久的沖突進行應對的想法本身就可以阻止大多數攻擊。

Hasu 關於這一點的看法:

「我們要明確一件事,我們之所以能夠抵禦惡意的協議更改,是因為擁有用戶驗證區塊鏈的文化,而不是因為 PoW 或 PoS。」

此外,存儲大小決定了新節點能夠上線並開始參與網路所需的時間。現有節點必須存儲的任何數據都是新節點必須下載的數據。這個初始同步時間 (和帶寬) 也是用戶能夠運行節點的主要障礙。在寫這篇博文時,同步一個新的 geth 節點花了我大約 15 個小時。如果以太坊的使用量增加 10 倍,那麼同步一個新的 geth 節點將至少需要一周時間,而且更有可能導致節點的互聯網連接受到限制。這在攻擊期間更為重要,當用戶之前未運行節點時對攻擊做出成功響應需要用戶啟用新節點。

交互效應

此外,這三類成本之間存在交互效應。由於資料庫在內部使用樹結構來存儲和檢索數據,因此從資料庫中獲取數據的成本隨著資料庫大小的對數而增加。事實上,因為頂級 (或前幾級) 可以緩存在 RAM 中,所以磁碟訪問成本與資料庫大小成正比,是 RAM 中緩存數據大小的倍數。

不要從字面上理解這個圖,不同的資料庫以不同的方式工作,通常內存中的部分只是一個單獨 (但很大) 的層 (參見 leveldb 中使用的 LSM 樹)。但基本原理是一樣的。

例如,如果緩存為 4 GB,並且我們假設資料庫的每一層比上一層大 4 倍,那麼以太坊當前的 ~64 GB 狀態將需要 ~2 次訪問。但是如果狀態大小增加 4 倍到 ~256 GB,那麼這將增加到 ~3 次訪問。因此,gas 上限增加 4 倍實際上可以轉化為區塊驗證時間增加約 6 倍。這種影響可能會更大:硬碟在已滿狀態下比空閑時需要花更長時間來讀寫。

這對以太坊來說意味著什麼?

現在在以太坊區塊鏈中,運行一個節點對許多用戶來說已經是一項挑戰,盡管至少使用常規硬體仍然是可能的 (我寫這篇文章時剛剛在我的筆記本電腦上同步了一個節點!)。因此,我們即將遭遇瓶頸。核心開發者最關心的問題是存儲大小。因此,目前在解決計算和數據瓶頸方面的巨大努力,甚至對共識演算法的改變,都不太可能帶來 gas limit 的大幅提升。即使解決了以太坊最大的 DoS 弱點,也只能將 gas limit 提高 20%。

對於存儲大小的問題,唯一解決方案是無狀態和狀態逾期。無狀態使得節點群能夠在不維護永久存儲的情況下進行驗證。狀態逾期會使最近未訪問過的狀態失活,用戶需要手動提供證明來更新。這兩條路徑已經研究了很長時間,並且已經開始了關於無狀態的概念驗證實現。這兩項改進相結合可以大大緩解這些擔憂,並為顯著提升 gas limit 開辟空間。但即使在實施無狀態和狀態逾期之後,gas limit 也可能只會安全地提升約 3 倍,直到其他限制開始發揮作用。

另一個可能的中期解決方案使使用 ZK-SNARKs 來驗證交易。ZK-SNARKs 能夠保證普通用戶無需個人存儲狀態或是驗證區塊,即使他們仍然需要下載區塊中的所有數據來抵禦數據不可用攻擊。另外,即使攻擊者不能強行提交無效區塊,但是如果運行一個共識節點的難度過高,依然會有協調審查攻擊的風險。因此,ZK-SNARKs 不能無限地提升節點能力,但是仍然能夠對其進行大幅提升 (或許是 1-2 個數量級)。一些區塊鏈在 layer1 上探索該形式,以太坊則通過 layer2 協議 (也叫 ZK rollups) 來獲益,例如 zksync, Loopring 和 Starknet。

分片之後又會如何?

分片從根本上解決了上述限制,因為它將區塊鏈上包含的數據與單個節點需要處理和存儲的數據解耦了。節點驗證區塊不是通過親自下載和執行,而是使用先進的數學和密碼學技術來間接驗證區塊。

因此,分片區塊鏈可以安全地擁有非分片區塊鏈無法實現的非常高水平的吞吐量。這確實需要大量的密碼學技術來有效替代樸素完整驗證,以拒絕無效區塊,但這是可以做到的:該理論已經具備了基礎,並且基於草案規范的概念驗證已經在進行中。

以太坊計劃採用二次方分片 (quadratic sharding),其中總可擴展性受到以下事實的限制:節點必須能夠同時處理單個分片和信標鏈,而信標鏈必須為每個分片執行一些固定的管理工作。如果分片太大,節點就不能再處理單個分片,如果分片太多,節點就不能再處理信標鏈。這兩個約束的乘積構成了上限。

可以想像,通過三次方分片甚至指數分片,我們可以走得更遠。在這樣的設計中,數據可用性采樣肯定會變得更加復雜,但這是可以實現的。但以太坊並沒有超越二次方,原因在於,從交易分片到交易分片的分片所獲得的額外可擴展性收益實際上無法在其他風險程度可接受的前提下實現。

那麼這些風險是什麼呢?

最低用戶數量

可以想像,只要有一個用戶願意參與,非分片區塊鏈就可以運行。但分片區塊鏈並非如此:單個節點無法處理整條鏈,因此需要足夠的節點以共同處理區塊鏈。如果每個節點可以處理 50 TPS,而鏈可以處理 10000 TPS,那麼鏈至少需要 200 個節點才能存續。如果鏈在任何時候都少於 200 個節點,那可能會出現節點無法再保持同步,或者節點停止檢測無效區塊,或者還可能會發生許多其他壞事,具體取決於節點軟體的設置。

在實踐中,由於需要冗餘 (包括數據可用性采樣),安全的最低數量比簡單的「鏈 TPS 除以節點 TPS」高幾倍,對於上面的例子,我們將其設置位 1000 個節點。

如果分片區塊鏈的容量增加 10 倍,則最低用戶數也增加 10 倍。現在大家可能會問:為什麼我們不從較低的容量開始,當用戶很多時再增加,因為這是我們的實際需要,用戶數量回落再降低容量?

這里有幾個問題:

  • 區塊鏈本身無法可靠地檢測到其上有多少唯一用戶,因此需要某種治理來檢測和設置分片數量。對容量限制的治理很容易成為分裂和沖突的根源。

  • 如果許多用戶突然同時意外掉線怎麼辦?

  • 增加啟動分叉所需的最低用戶數量,使得防禦惡意控制更加艱難。

  • 最低用戶數為 1,000,這幾乎可以說是沒問題的。另一方面,最低用戶數設為 100 萬,這肯定是不行。即使最低用戶數為 10,000 也可以說開始變得有風險。因此,似乎很難證明超過幾百個分片的分片區塊鏈是合理的。

    歷史可檢索性

    用戶真正珍視的區塊鏈重要屬性是永久性。當公司破產或是維護該生態系統不再產生利益時,存儲在伺服器上的數字資產將在 10 年內不再存在。而以太坊上的 NFT 是永久的。

    是的,到 2372 年人們仍能夠下載並查閱你的加密貓。

    但是一旦區塊鏈的容量過高,存儲所有這些數據就會變得更加困難,直到某時出現巨大風險,某些歷史數據最終將……沒人存儲。

    要量化這種風險很容易。以區塊鏈的數據容量 (MB/sec) 為單位,乘以 ~30 得到每年存儲的數據量 (TB)。當前的分片計劃的數據容量約為 1.3 MB/秒,因此約為 40 TB/年。如果增加 10 倍,則為 400 TB/年。如果我們不僅希望可以訪問數據,而且是以一種便捷的方式,我們還需要元數據 (例如解壓縮匯總交易),因此每年達到 4 PB,或十年後達到 40 PB。Internet Archive (互聯網檔案館) 使用 50 PB。所以這可以說是分片區塊鏈的安全大小上限。

    因此,看起來在這兩個維度上,以太坊分片設計實際上已經非常接近合理的最大安全值。常數可以增加一點,但不能增加太多。

    結語

    嘗試擴容區塊鏈的方法有兩種:基礎的技術改進和簡單地提升參數。首先,提升參數聽起來很有吸引力:如果您是在餐紙上進行數學運算,這就很容易讓自己相信消費級筆記本電腦每秒可以處理數千筆交易,不需要 ZK-SNARK、rollups 或分片。不幸的是,有很多微妙的理由可以解釋為什麼這種方法是有根本缺陷的。

    運行區塊鏈節點的計算機無法使用 100%的 CPU 來驗證區塊鏈;他們需要很大的安全邊際來抵抗意外的 DoS 攻擊,他們需要備用容量來執行諸如在內存池中處理交易之類的任務,並且用戶不希望在計算機上運行節點的時候無法同時用於任何其他應用。帶寬也會受限:10 MB/s 的連接並不意味著每秒可以處理 10 MB 的區塊!也許每 12 秒才能處理 1-5 MB 的塊。存儲也是一樣,提高運行節點的硬體要求並且限制專門的節點運行者並不是解決方案。對於去中心化的區塊鏈而言,普通用戶能夠運行節點並形成一種文化,即運行節點是一種普遍行為,這一點至關重要。

    ② 區塊鏈怎麼賺錢是騙局嗎

    不是騙局,總體而言,目前區塊鏈尚處於萌芽期,很多項目尚未落地,只有在尊重成長規律的前提下踏踏實實、一步一步培育才能使其逐漸成熟。技術是中性的,但決定技術的方向和結局的還是人性,區塊鏈和數字貨幣未來會如何發展,取決於操控者的價值觀和文明程度。
    區塊鏈能夠讓你在這個行業賺到錢也能夠讓你傾家盪產,所以在這還是提醒廣大用戶,投資需謹慎,不要錢沒掙著反而把自己給搭進去了,得不償失。還有就是區塊鏈騙局也是比較多的,咱們也是要提高警惕,避免上當受騙,造成不必要的經濟損失。
    拓展資料
    貸前階段
    區塊鏈技術可以首先應用於物流供應鏈,幫助銀行等貸款機構更加全面、准確地掌握小微企業的真實主營業務、交易背景、上下游關聯企業,以及其在供應鏈當中的談判地位、商品暢銷程度、回款的節奏和路徑等,一方面幫助更多輕資產、高成長性優質企業通過交易票據、物流單據等獲得融資支持,一方面防止問題企業虛構、偽造業務背景和資金需求騙取貸款。
    此外,區塊鏈還可以應用於公積金互聯,幫助銀行了解借款企業股東、高管、普通員工的社保、公積金等實際繳納情況,從而合理評估企業人員規模和經營情況,為授信和貸款審批決策提供充分依據。
    貸中階段
    區塊鏈技術可以應用於企業貸款資料審查和抵、質押物審核,幫助銀行提升審批效率,保證審批質量。企業、特別是小微企業的融資過程中,往往需要提供合同等必要材料,紙質合同多方傳簽、用印不僅效率低下,還存在偽造變造、虛假簽章等系列問題,給銀行審批帶來較大的偽冒欺詐和信用風險。
    在區塊鏈技術支持下,相關的實名信息主體、訂單及下單流程、電子合同、協議簽訂流程、後續補充協議、照片資料都可進行即時保全,且全部存證不可篡改,可以保證銀行快速認證、審批,並在出現糾紛時高效解決。除傳統的不動產外,企業和企業主擁有的其他資產、包括銀行理財等金融資產也可用於轉讓、質押,成為能被銀行接受的合格增信依據,提高了企業信貸的可得性和即時性。
    貸後階段
    區塊鏈技術可以應用於對企業生產經營狀況、履約還款能力的及時評估,幫助銀行有效把握信貸風險,隨時調整貸後風控策略。在以往的業務實踐中,銀行往往既不十分了解抵、質押品的真實市場價值,也不能很好地評判企業在入倉、出倉等環節的操作對剩餘抵、質押品市場價值的影響,對倉單質押等新型貸款類型的掌控能力相對低下。
    改為採用區塊鏈技術支持的數字倉單後,商品品質、數量、規格、照片等信息可以完整、標准化上鏈,真實性、可追溯性得到充分保證,銀行可在技術上杜絕企業和倉儲機構虛構倉單、倉單與出入庫信息不符等情況,保證貸後管理取得實效。此外,借款企業的廠房、寫字樓租賃等信息也可以籍由區塊鏈技術充分共享給銀行、上下游企業及其他中介服務機構,最大程度上降低「人去樓空」等捲款跑路風險。

    閱讀全文

    與加密貓的結局相關的資料

    熱點內容
    小貝伢用什麼app 瀏覽:104
    波段預知源碼公式 瀏覽:382
    程序員api數據創業 瀏覽:990
    日上免稅行是什麼app 瀏覽:168
    山東移動泰山伺服器雲主機 瀏覽:856
    php調用當前類方法 瀏覽:616
    怎麼委婉的表達感謝程序員 瀏覽:400
    java資料庫統計 瀏覽:647
    java完全自學 瀏覽:999
    linuxpython執行cmd命令 瀏覽:454
    帶12位DA的單片機 瀏覽:458
    雲伺服器ecs不包括音效卡 瀏覽:989
    互聯網程序員下班可以學嗎 瀏覽:125
    通達信海洋狀態指標源碼 瀏覽:548
    工作壓力大有什麼好的解壓方法 瀏覽:931
    數字還可以怎樣加密 瀏覽:116
    為什麼安卓沒白鳥 瀏覽:237
    程序員投行 瀏覽:327
    java多線程讀取文件 瀏覽:148
    香港外貿伺服器有什麼好處 瀏覽:614