如何解释“我篡改了区块链”这个问题

 

区块链数据“全局一致”、“难以篡改”这两个特性已经广为人知,是区块链营造“信任”的基石。为了达到这两个效果,区块链的共识、同步、校验等技术细节足可大书特书,而本文要从“我篡改了区块链数据”讲起。

 

“我篡改了区块链数据”

FISCO BCOS开源联盟链社区现在相当活跃,每天都会产生大量的讨论,大家也会饶有兴趣地研究和挑战区块链如何做到“难以篡改”。我们注意到,尤其在FISCO BCOS支持MySQL数据库作为数据存储引擎后,隔一阵子就有同学在群里问:“我手动修改了我节点连接的数据库里某个状态数据,这是不是就是篡改了区块链数据呢?”

 

直观地举个例,如链上有个智能合约,管理特定资产余额,在数据库合约表里,经过共识的Alice的余额本来是100,这时有人打开MySQL客户端,找到那个合约对应的Table,把Alice的余额update成10000

 

这时他表示:“你看,我调用合约的查询接口,查出来Alice的余额确实是10000,这就不对了嘛,而且,链还在出块,根本不防篡改嘛!”。

 

初步分析和解答

为何这类问题最近多起来了?我们分析了下,猜想主要是由于MySQL数据库用户基础良好,体系比较成熟,给用户提供友好的命令行或图形化交互工具,FISCO BCOS提供了一种Table风格的合约开发模式,表结构设计得清晰直观,对于用户来说,一方面理解和管理起来更容易了,另一方面顺手update甚至delete一下都是小意思。

 

下图仅为示例数据,采用KVTable合约方式,创建了名为t_kv_node的合约表,系统自动加了“u_”前缀,可见,这个表结构和数据一目了然。

 

 

而之前只采用LevelDB或RocksDB作为存

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
区块链是一种去中心化的分布式账本技术,它将所有交易记录保存在一个不可篡改的公共账本上。区块链的核心思想是通过共识机制(Consensus Mechanism)来达成数据一致性和防止信息篡改。 共识机制是指在区块链网络中,所有的节点必须达成一致的规则,以便对交易进行验证和确认。这个过程是去中心化的,没有单一的中心机构控制,而是由所有参与者共同维护。共识机制保证了交易的真实性和完整性,使得任何恶意行为都无法对区块链网络造成损害。 具体来说,区块链网络中的共识机制主要包括以下几个方面: 1. 工作量证明(Proof of Work,PoW):这种共识机制是最早被使用的方式,也是比特币所采用的共识机制。PoW 需要节点通过计算难题来解决交易验证的问题,只有成功解决难题的节点才有权利添加新的区块。这种方式虽然安全,但是计算能力需求高,且能源消耗大。 2. 股份证明(Proof of Stake,PoS):PoS 与 PoW 不同,它要求参与者持有一定数量的代币,以此来决定他们在网络中的权重。这种方式相对节能,但是需要持有一定数量的代币,导致贫富差距加大。 3. 权益证明(Proof of Authority,PoA):这种共识机制比较适用于私链和联盟链,它要求参与者持有一定的身份和信任度,通过身份验证来获得权威认可。这种方式相对简单,但是中心化程度高,不适用于公链。 通过共识机制,区块链网络可以保证交易记录的真实性和完整性,避免了信息篡改和恶意攻击。同时,由于区块链的去中心化特性,即使部分节点受到攻击,整个网络仍然可以正常运行,从而保证了数据的安全性和可靠性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值