关于智能合约的代码和数据的可见性问题

已知,调用智能合约的函数需要知道智能合约的地址和ABI,换句话说,如果我不知道合约地址和合约ABI,就不知道合约代码和合约内部数据,是这样吗?

但是很多文章说,智能合约的代码是公开可见的,所以用智能合约实现的代码是安全的可信任的,例如,很多文章说,如果用智能合约实现身份认证,可以保证认证的可信,因为认证代码和过程是公开可见的,这个公开可见的意思是说在不知道合约的地址和ABI情况下,通过分析所有同步节点的底层源码可以看到智能合约的所有代码和数据吗?还是我所理解的,因为身份认证智能合约是身份认证的参与方达成共识后设计的代码,所以所有的身份认证参与方都应该知道合约的地址和合约的ABI,而合约的执行过程是身份认证的所有参与方同步的,因此,对于同步节点而言,通过已知的合约地址和合约ABI就可以知道合约的整个执行过程,从而保证认证的安全可信,而不是说,在不知道合约的地址和ABI情况下,通过分析所有同步节点的底层源码可以看到智能合约的所有代码和数据?也就是说在不知道合约地址和合约ABI的情况下无法知道合约代码和合约数据,即使分析源码也不能知道合约代码和合约数据?

请先 登录 后评论

3 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
米特尼克
请先 登录 后评论
Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
  • 2 关注
  • 0 收藏,4683 浏览
  • 米特尼克 提出于 2021-04-15 08:52