Blockchain 黑客是否可以在一个智能合约中更改数据,而不使用out call合约功能?
考虑合同:Blockchain 黑客是否可以在一个智能合约中更改数据,而不使用out call合约功能?,blockchain,ethereum,smartcontracts,Blockchain,Ethereum,Smartcontracts,考虑合同: Contract Example{ uint array[]; address owner; function Example(){ owner = msg.sender } function setArray(uint index, uint value) public { if (msg.sender == owner){ array[index] = value; }
Contract Example{
uint array[];
address owner;
function Example(){
owner = msg.sender
}
function setArray(uint index, uint value) public {
if (msg.sender == owner){
array[index] = value;
}
}
}
黑客是否有可能通过生成特定块直接更新数组[]。(避免出现“只有所有者才能更新阵列”的情况)一切皆有可能
但假设区块链的基本安全性完好无损,不,除了智能合约本身,其他任何东西都不允许修改其存储。Hi@smarx我的问题基本上是:是否有任何机制让miner意识到合约内容被非法更改?合约存储只能通过交易进行更改。网络中的所有节点都会检查所有事务的有效性。(它们都会检查每个事务的签名,并重新运行每个块中的所有事务。)