美文网首页
区块链如何确保交易安全?

区块链如何确保交易安全?

作者: 修林_0189 | 来源:发表于2019-01-19 21:50 被阅读0次

区块链常常被称之为不可篡改的账本,能保护我们的数字资产安全和交易安全。那区块链是如何确保交易安全的呢?为了让大家更容易理解,我们举个极简的例子:假设,A转账给B。为了确保A把钱给了B,在交易完成后,A和B会记个帐,以防止后续可能的纠纷。为了保证以上交易过程的安全性,要做以下几个关键事情:

1. 按需转账:A将钱不多也不少的转给B。

因为链上的资产全部是数字化的,所以并不存在实物交接的问题。因此整个交易过程,实际上就是一个记账过程。我们可以称之为记账即交易。也就是说,只要记账安全,交易就安全了。

值得注意的是,区块链里说的交易,需要在实物可数字化,且数字化资产记录在链上后才能完成。实物如何数字化并上链的过程,还有实物的交易安全,不在本文讨论范围内。

2. 谁来记账:找到一个可以被信任的人来记账,如实的记录交易。

无论是谁记账,记账的过程都是中心化的,这就有中心化风险。既然无法做到“去中心”,那就退而求其次,只能找一个可被信任的记账人。这个记账人在区块链中被称作出块节点,而选择出块节点的过程,就是常听到的共识机制

根据找出块节点的方法不同,共识机制大体分为两种:

1) 找随机节点:通常是所有竞争节点同时做一道题来找到出块节点,如POW、POS。这种方式的逻辑在于,即使有人有作恶意图,但不知道什么时候有作恶机会,那就无从下手了。因此,出块节点的随机性越高,共识机制就越好。

2)  预选节点:通过预先选择的方式找出可被信任的节点记账,这类共识机制是PBFT、DPOS、BA*。这种方式的关键在于如何在众多的节点中,找到相对可被信任的节点。

找到出块节点后,此节点将众多交易记录在块中,并将块广播出去,就可以做到全网所有节点同步信息的目的。

3. 记什么帐:当交易过程中出现意外时,能确保只有正确的交易被记录下来。

寻找出块节点的过程,是找到作恶可能更小的节点,但不能完全排除这些节点作恶或故障的可能。同时,交易的双方也可能作弊,比如双花问题。当双花问题发生时,只能记录其中一笔被认可的交易。

区块链运行在网络上,所有的节点都在同时工作,但节点间通信过程却不是实时的。这种环境下,发现问题需要一段时间。在这段时间内,有可能错误的信息已经被打包记录在链上。信息一旦上链,即使是错误的信息也无法删除。

为了选择记录正确的信息,区块链一般是通过“投票”(在被认为正确的块后继续产生块)的方式来决定哪些信息是正确的。被认定是错误的信息所在的块后将不会再有新块产生。这也是为什么区块链是链式结构的原因。整个链形成的过程,其实就是一个投票选举正确信息的过程。

值得注意的是,投票意味着把希望寄托在大多数节点都会选择正确的信息。但大多数节点也是会犯错的。这种错误仍然可能来自两方面:无意的,或有意的。

4.  防篡改:一旦交易记录生成,无法修改交易记录。有两种情形会导致数据被篡改:有人想恶意篡改数据;或者系统故障时,破坏了数据。

在传统的信息记载环境中,信息都被记载在相对集中的位置。比如,记在纸上,记在中心化服务器里,至多也就是记在有多备份的服务器里。中心化的信息记载环境带来了一个明显的风险,数据很容易被改动。

因此,区块链用两种方案解决:

1) 在多个节点记录同一份信息,以保证节点间的信息可以相互验证。

2) 同时,区块链引入了默克尔树,一旦数据被改动,所有节点都可以轻易发现。默克尔树的详细算法,网上有很多资源讲解,这里不展开说明。

5. 帐可查:在需要查账时,双方都有查账的可能。可能是自己有权利去查,比如在公链上,任何人都有权利读取链上的信息;也可以由第三方代查,比如联盟链上,只有部分被授权的组织有读取链上信息的权利,因此无查阅权限的人需要委托第三方代查。

6. 条件执行:在有条件的交易场景下,还需要确保条件发生时,交易会按需执行。

区块链采用被称之为智能合约的方式为条件执行提供安全保障。智能合约通过3个方面提供安全环境:

1) 代码防篡改:智能合约代码一旦上链,无法被更改,只能按照既定代码运行。

2) 安全执行:智能合约的运行结果具备唯一性。为此每个节点都可以运行同一个智能合约,从而执行节点外的节点可以验证执行节点的结果。执行节点和验证节点的选取方案就有很多方式了,这里不做过多讨论。

3) 规则透明:如果智能合约开源的话,利益相关方均能审计合约。如果交易双方有人不理解代码,或者担心代码的安全性,也可以请第三方帮忙审计代码。

从以上解决方案看,区块链很少在加强一个节点的安全性上做文章,而是不信任任何节点,避免任何事情由一个节点独立完成;即使执行过程是一个节点完成,也需要其他节点验证。因此区块链方案也被称之为去中心化的方案。关于区块链去中心化的内容请参见《关于“去中心化”,我们需要了解的》

相关文章

网友评论

      本文标题:区块链如何确保交易安全?

      本文链接:https://www.haomeiwen.com/subject/wehtpftx.html