首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止智能合约在区块链网络中被修改和部署?

如何防止智能合约在区块链网络中被修改和部署?
EN

Stack Overflow用户
提问于 2018-01-04 03:06:15
回答 2查看 270关注 0票数 2

这个问题更多地是针对私有区块链框架,如Corda、Hyperledger等。在所有这些平台中,可以编写一些名为链码、智能合约等的程序,这些程序允许我们实现业务逻辑。所有这些都部署在区块链网络的每个对等节点中,但如何避免和检测在某些对等节点中部署了不同版本的代码?

我说的是,智能合约的最终结果是相同的,所以共识不是承诺的,但是的,一些同行可以出于任何原因修改它运行的代码。

我们如何在私有区块链中管理此场景?

EN

回答 2

Stack Overflow用户

发布于 2018-01-04 17:17:50

为了扩展Matthew的答案,事务中的每个状态都与给定的合同相关联。此协定使用[contract name, hash of the JAR file containing the contract]对进行唯一标识。

如果契约被修改,这将修改包含契约的JAR的散列,因此契约JAR将不再被认为是有效的。

正如Matthew所说,事务包含(除其他外)关于每个州使用哪个合同的信息,然后对其进行数字签名,防止其被修改。

票数 1
EN

Stack Overflow用户

发布于 2018-01-04 03:16:33

如果智能合约都是由有效的数字签名签署的,并且是确定性的,那么它们就可以是确定性的。

数字签名的存在为所有节点提供了一种机制,以允许它们确定合同代码是否被操纵。

如果智能合约代码是确定性的,则执行代码的所有节点都将到达相同的最终状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48083637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档