Transactions
什麼是客戶內部狀態表示?
我正在閱讀 Mastering Ethereum 的書,並遇到了這一段:
對於 EOA 地址,或者更確切地說,對於任何未在區塊鏈上標記為合約的地址,乙太坊將記錄狀態更改,將您發送的值添加到地址的餘額中。如果該地址以前沒有見過,它將被添加到客戶端的狀態內部表示中,並將其餘額初始化為您的付款值。
我覺得這部分令人困惑:
如果該地址以前沒有見過,它將被添加到客戶端的狀態內部表示中,並將其餘額初始化為您的付款值。
這實際上意味著什麼?
看起來如果您向不存在的地址發送付款,它不會失去,而是以某種方式添加到內部狀態?這個內部狀態是什麼,它是用來做什麼的?還是我讀錯了?
我不確定 EOA 餘額的實際實現是如何工作的,但從區塊鏈的角度來看,所有非合約地址都以相同的方式存在(或不存在)。任何地址(尚未被合約保留)都是有效的 EOA 地址。
您可以將乙太幣發送到從未使用過的地址。您不需要知道某人是否擁有該地址的私鑰。當然,如果沒有人擁有私鑰,發送的資產就會失去,因為沒有人可以恢復它們。
事實上,對於安全敏感的使用者來說,離線創建私鑰並離線計算其公共地址是很正常的。然後他們可以將該地址分發給其他使用者,任何人都可以向它發送資產。每當所有者想要恢復這些資產(例如將它們轉移到其他地方)時,他都可以使用他的私鑰從該地址簽署第一筆交易。