Author

Topic: 震惊!!!世界上第一个在DAG上实现的智能公链!!!! (Read 90 times)

member
Activity: 87
Merit: 10

R-DAG公链,这个是标准链当中的核心,就是受限的或者是规则化的 DAG图。DAG通过后一笔交易进来的时候,能确定前面一笔交易,节点选择具有随机性。R-DAG是通过一些机制的限制,确认它之前的一笔账户之后随机的选择。


这是一个非常有效的结构。可以实现完全去中心化的轻节点。现在很多外面讨论的轻节点,它其实是一种中心化的结构。轻节点实现,像行星围绕着太阳一样,这些轻节点,其实是依附在一个全节点周边的。所以这全节点要可信的,这个轻节点,要很多可信的全节点。

同时R-DAG上引入了交易结算时间,有了交易结算时间的好处是,它形成了一种类似于比特币或者是以太坊打包的时间、打包的结构。所有的交易它有了秩序的先后问题。因为本来这个交易是一种纠缠的结构,交易的秩序很难分。它只有部分秩序,没有绝对秩序。但是R-DAG图上有了绝对秩序,就可以判断交易的先后,对于秩序的执行有很大帮助。

安全性


像所有去中心化加密货币一样,R-DAG 可能会遭到恶意者攻击,企图获得经济利益或使系统崩溃。在本节中,我们讨论一些可能的攻击场景、这些攻击的后果以及 R-DAG 如何采取预防措施。

1 双花问题 (double spending)

和 RaiBlock 里面定义的接收者交易确认方式不同,在 R-DAG 中虽然每个账户仍然拥有自己的账户链,但是账户交易也被记录到 DAG 中被其他交易所确认。如前所述,根据见证人的观察,所有的交易在 R-DAG 上面都有自己的绝对序列号,系统可以判对两边交易的时间先后从而对双花问题进行裁决。

2 垃圾交易和小额交易攻击

由于在 R-DAG 里面采用零交易费的模式,恶意者可以以零费率在其控制下的账户之间发送许多不必要的但有效的交易,试图使网络饱和。R-DAG 通过 PoW 限制了恶意者在不显著投入计算资源的情况下可能产生的交易率。为了防止存储空间被不必要的交易消耗,R-DAG 可以对非完整历史节点在一个统计指标下进行裁剪。如果节点想要进行更加激进的修剪,它们可以根据访问频率来算出统计分布,将不经常使用的账户委托给较慢的存储。

3 网络故障和 DoS 攻击

一个节点可以会由于网络故障或者遭受 DoS 攻击无法接受发送给它的交易。虽然接收账户无法确认交易,并把交易放到自己的账户链上。但是这个未结算交易仍然被保留在 R-DAG 中,在等待一段时间后接受者已经无法修改未结算交易,此时发送者可以重新发送一次新的交易。通过在 R-DAG 上保留未结算交易可以避免节点的重新同步所造成的各种问题。

4 >50% 攻击

R-DAG 的结算是通过见证者的投票进行的,拥有大多数见证者的路径成为 R-DAG 的主链,拥有判断 R-DAG 中交易次序的权力。因此,如果有超过半数的见证者达成共谋的话,整个 R-DAG上的交易次序是可以被改变的。有多种办法可以防止这种行为的发生。例如,把见证人的选择与投资挂钩的,见证人本质上倾向于去维护一个诚实的系统,以保护他们的投资。试图操纵账本将对整个系统造成破坏,从而造成投资损失。

中文白皮书:http://www.canonchain.com/Resource/file/whitepaper/latest/canonchain-cn.pdf?v=636644748186983277
Jump to: