為什麼錢包不使用基於 Web 的 API 而不是下載整個區塊鏈?
我閱讀了其他問答,例如為什麼乙太坊客戶端下載整個區塊鏈?,但沒有人解決為什麼錢包不能在需要時使用基於 Web 的 API 來讀取/更新區塊鏈,而不是下載和同步整個巨大區塊鏈的問題。
多年來,我一直在使用舊的客戶端/伺服器心態,即客戶端只是與數據所在的伺服器通信;即使它是對等網路,為什麼該模型在這裡不起作用?它不能隨機連接到礦工的某個節點嗎?
看起來即使是輕客戶端也會下載一定數量的區塊鏈?
那麼,根據定義,所有錢包都被視為“客戶”嗎?
(我在我的 C 驅動器上安裝了 Parity,它填滿了驅動器。似乎他們至少應該警告您安裝所需的空間,然後我會選擇不同的驅動器。)
正如其他人所提到的,API 的問題在於它們是集中的資訊來源。這基本上消除了區塊鏈最重要的價值主張。可以說,這比完全集中的服務更成問題。如果發現惡意修改狀態,大多數完全集中的服務都有恢復惡意修改的方法(例如,如果有人入侵了您的銀行帳戶,銀行本身就有責任並且必須退還損失的錢)。Infura 的人們高興地表示,他們不認為他們的服務是一個長期的解決方案。它旨在成為一種強於無的措施,以幫助降低進入區塊鏈空間的障礙。
輕客戶端旨在解決大小問題,同時維護區塊鏈的安全性,並最終為大多數桌面區塊鏈應用程序(例如 Mist 瀏覽器)提供動力。雖然按照經典客戶端-伺服器互動的標準,它們可能不是“輕量級”,但它們比執行真正的節點要輕得多。一旦我們穩定並經過良好測試的輕客戶端,它們將允許更合理的應用程序大小。
在非客戶端解決方案方面,我最近與人合著了一份提出解決方案的白皮書。我可能有偏見,但我認為它非常簡潔 :) 它允許大大增加安全保證和去中心化,但成本與集中式 API 相當。我會在下面添加一個 tl;dr 和連結,以防有人想知道更多。
TL;DR:使用權益證明風格的系統來創建無需信任的渠道,允許擁有節點的群體因充當 API 端點而獲得獎勵,並因任何惡意活動而受到懲罰。我們表明我們可以設計系統,以便:
- 使用者可以從惡意方的股份中彌補損失。
- 說真話的回報總是大於說謊的回報。
- 分散的基礎設施規模與需求成正比(得益於採礦式的獎勵系統)。
- 輕量級足以在正常網站 JavaScript 中執行,就像集中式 API 一樣。
- 不是側鏈(耶!)。