Database
如果你帶外修改區塊鏈數據庫會發生什麼?
我了解區塊鏈中的數據儲存在數據庫中。例如,這篇文章指出乙太坊使用 LevelDb 或 RocksDb。我希望通常唯一訪問該數據庫的方式是通過智能合約,但是是否有任何東西阻止某人帶外修改底層數據庫,例如,使用數據庫附帶的 API?在那種情況下會發生什麼?更改不會傳播到數據庫的其他副本嗎?這不等於黑客攻擊嗎?區塊鏈如何免受此類黑客攻擊?
在那種情況下會發生什麼?
您的副本將無效。您可能可以用節點的一些奇怪響應來欺騙自己,但網路對故障節點無動於衷。您所做的任何事情都不會改變網路其餘部分商定的歷史記錄。
更改不會傳播到數據庫的其他副本嗎?
不會。功能正常的節點會忽略從您的節點發出的無效塊。
這不等於黑客攻擊嗎?
區塊鍊是一種具有內置完整性的資料結構,您的帶外編輯會破壞這種完整性。你將無法讓它工作。
區塊鏈如何免受此類黑客攻擊?
整個網路就所發生的一切的歷史和可能發生的事情的嚴格規則達成一致。您的帶外編輯將被視為不可接受。考慮到遠離典型集群,區塊鏈節點不一定相互信任,並且高達 49% 的節點可能故意對網路懷有敵意——網路不會讓步,這可能會有所幫助。
也許其他人會加入更多的技術資源來解釋它是如何工作的。
希望能幫助到你。