Go-Ethereum

網路中的每個節點中的所有帳戶都可用嗎?

  • March 20, 2019

在建構 DApp 的背景下,DApp 可以訪問網路上的任何帳戶(任何給定節點)嗎?或者只是為它“指向”的節點創建的帳戶?

我想這是詢問帳戶是否是全球性的另一種方式?例如,當我使用 Geth 創建一個新帳戶時,該帳戶是否會在整個網路中複製?

我很感激所有的答案,作為一個初學者,我有點困惑,我仍然在乙太坊的世界裡。

乾杯!

私鑰與公鑰配對。您需要將您的私鑰保密,因為如果其他人得到它,他們可以簡單地竊取您的錢。您可以與任何人共享您的公鑰,事實上,您這樣做是為了讓他們可以向您匯款。私鑰是本地儲存在您自己的電腦上的文件(或者,如果您使用交換器,則交換器儲存它)。您需要您的私鑰才能與您的帳戶進行互動。如果您將私鑰複製到另一台電腦(也正在執行節點),您也可以在該電腦上使用該帳戶。

許多人還將“公鑰”稱為“帳戶”。它總是經常被稱為“地址”。“地址”是一個以 0x 開頭的 20 字節值。您可能已經看到它稱為您的乙太坊地址。當您與 dApp 互動時,您會將乙太幣和/或命令發送到 dApp 的地址。

您的乙太坊地址的餘額以及針對該地址的所有交易都會在每個乙太坊節點上重複。事實上,就交易的有效性達成一致正是區塊鏈所做的。當你聽到“達成共識”這個詞時,節點達成共識的事情是所有賬戶的交易歷史(以及賬戶餘額)。

智能合約是地址(就像任何其他地址一樣),具有地址保存程式碼的特殊屬性)。您通過向其地址發送交易來與 dApp 進行互動。從這個意義上說,dApp 可以訪問任何向其發送交易的帳戶(但 dApp 無法以任何方式控制您的帳戶)。

總結:賬戶是全域的,因為每個節點都複製所有賬戶(地址)上的每筆交易。它們不是全球性的,因為只有您擁有私鑰,並且只有您可以從該帳戶簽署交易。

引用自:https://ethereum.stackexchange.com/questions/35945