比特幣的客戶從哪裡讀取數據?
我可以理解比特幣複製機制是如何工作的(即操作
write
)。read
但是,我從客戶端的角度不理解操作(在中本聰的論文中,客戶端稱為使用者)。例如,如果基於 Web 的客戶端想要檢查他的餘額,他從哪個節點讀取?他是從單個節點(可能該節點尚未更新)還是從多個節點讀取?
非常感謝連結、引用和參考。
術語
使用非標準術語會導致混淆。您的問題使用“客戶端”、“基於網路”等術語。以討論比特幣時不常用的方式“讀取”和“寫入”。
基於網路的客戶端
對我來說,基於 Web 的應用程序是一種使用 Web 瀏覽器呈現給人類使用者的應用程序,該瀏覽器使用 HTML 和 CSS,可能還帶有 Javascript,它充當 HTTP 客戶端以與 HTTP 伺服器通信。這是一種客戶端-伺服器通信模型。比特幣本身主要使用點對點模型。全節點比特幣應用程序(例如 Bitcoin-core)不使用 HTTP,它們使用通常基於 TCP 埠 8333 的對等協議。
這種基於網路的應用程序不是比特幣節點,也不參與比特幣網路。它通常以專有方式與擁有一些比特幣的某些第 3 方服務進行通信。就比特幣網路而言,這種基於 Web 的應用程序的使用者沒有錢。
比特幣的發明是為了避免需要這種必須被信任的第三方中介。
天平
每個完整節點都會累積計算人類餘額所需的所有數據。比特幣網路本身不知道餘額。節點不需要知道餘額即可進行互操作或驗證交易。
例如,比特幣核心可以為一個人呈現“餘額”。但是為了計算它會仔細閱讀交易日誌,為每個感興趣的“地址”添加貸方並減去借方。顯然,這個總數可以記憶體在持久儲存中以提高效率。
因此,對余額感興趣的人讀取的節點通常是他們自己執行的本地節點。
對於自己不擁有比特幣但向第三方提供資金以換取以比特幣計價的借據的人,沒有比特幣節點知道欠他們的錢,這些人必須使用專有軟體諮詢業務即發出借據。通常,這些企業提供的軟體會造成客戶直接控制比特幣的錯覺。
要記住的事情
- 比特幣是現金,不是銀行賬戶。
- 沒有一個人、組織或財團擁有比特幣網路
- 沒有一個人、組織或財團控制比特幣標準
- 沒有人負責比特幣系統
- bitcoin.org 只是一個關於比特幣的資訊網站,帶有各種錢包軟體的連結。它不會以任何方式與比特幣錢包軟體開發、中介、服務或互動,除非指導想要下載軟體的使用者(參考下面的 PW 評論)。
- 該系統最初的設計目的是讓每個人只使用他們在自己電腦上執行的軟體來控制自己的錢。它仍然可以以這種方式使用,許多人都這樣做。
- 這個軟體被稱為“錢包”——儘管它從不包含錢。它允許使用者創建比特幣交易。
- 其他企業有時將其他東西稱為“錢包”,即使他們不像標準比特幣錢包那樣讓客戶保管自己的錢。
- 礦工實際上並沒有任何特權或權利。