-
Notifications
You must be signed in to change notification settings - Fork 2
Design discussions
- 记账:
- DAG系统中,交易记账是P2P网络的所有节点共同完成的,不受矿工/特权节点的限制,不但账本去中心化,记账权也去中心化。特权节点(也可以叫公证人或者矿工)的任务仅是验证已经存在于账本中的条目,将坏交易涂抹掉,留下正常交易。从这个角度来看,Block DAG技术先进性是打折扣的。
- DAG账本工作流程:基础校验 -> 记账 -> 交易有效性验证 -> 稳定。
- 区块链系统中,交易是由矿工打包后才进入账本的,只有矿工有记账权。矿工/特权节点的任务是先验证交易是否有效,然后决定如何将验证过的交易记录到账本中,账本中不会存在错误交易的影子。
- 区块链账本工作流程:基础校验 -> 交易有效性验证 -> 记账(打包) -> 稳定。
- 交易稳定:
- DAG账本因交易之间的引用而趋于收敛,DAG收敛的过程即是交易稳定的过程,按照一定规则收敛的部分即是稳定的部分,包含在已稳定DAG中的交易即是已被确认的交易。
- 区块链账本因后续区块的权重(PoW)或者权益(PoS/DPoS/PoA)累加到一定阈值而稳定。基于权重累加的共识,大部分属于概率性共识;而基于权益累加的共识,大部分属于确定性共识。
- 智能合约:
- 智能合约系统把账本作为一个日志簿,执行智能合约的本质是完成交易。虚拟机以账本条目作为输入进行计算,将合约的状态记到state数据库中。
- 智能合约系统设计与交易模型(如UTXO模型、账户模型)有关,与账本记账形式是Blockchain还是DAG无关。图灵完备的智能合约系统依赖于账户模型,非图灵完备的智能合约系统可以基于账户模型或者UTXO模型实现。
- 延展性:
- DAG账本中,交易发出即记入账本,交易之间彼此引用和关联,构成一张向一个方向延展并且宽度可以自适应变化的网。
- 当交易量较大时,DAG“网”的宽度会适应性地变宽/厚,而区块链账本会因为达到区块容量上限而导致阻塞。
- 当交易量较小时,DAG“网”会缩减成一条线,此时形态和区块链相似。
- 区块链账本中,每个区块存储一个交易列表,区块和区块之间依次引用,形成一条不断增长的链,但区块容量有限,且区块与区块之间需要一定的时间间隙。
- DAG账本中,交易发出即记入账本,交易之间彼此引用和关联,构成一张向一个方向延展并且宽度可以自适应变化的网。
- 复杂度:
- DAG账本的记账方式比区块链复杂,交易验证和共识机制的复杂度也比区块链高。在算法复杂度较高的情况下,DAG良好的延展性并不会直接转换成高TPS。所以,目前还没有哪个DAG公链项目的交易性能超越了PoS的Blockchain公链。提升DAG的交易性能,必须首先降低共识算法的复杂度,这正是设计TrustME-Hybrid共识机制的目的。
- 区块链自身延展性不够,需要用侧链、分片等方式增加延展性,相当于增加了系统复杂度。
区块链账本系统中,矿工拥有至高无上的权利,是矿工这个小群体在控制着账本的记账权,每个区块包含的内容可以说都必须符合矿工的利益和主观愿望。 相比较而言,在DAG账本系统里,每个节点都是一名记账者,每个节点都有权把自己的交易按照指定的关联关系记录在账本中,任何节点都无法剥夺这一权力。 这种记账方式,使DAG账本拥有区块链账本所不具备的更公平的记账能力或者信息发布能力。
TrustME混合共识机制,正是依赖DAG账本携带信息的公平性,将交易单元自由关联(Free Unit Reference)、工作量证明(Proof of Work)、代理权益证明(Delegate Proof of Stack)和可信拜占庭协商(Trustable Byzantine Agreement)高效融合在一起,不但实现账本去中心化维护,还大幅简化了DAG账本的主链选择机制和交易单元的稳定机制,将DAG的可扩展性转化为高性能。
TrustME混合共识机制使不同性质的节点都能参与挖矿。 无论是拥有较高算力的矿池,还是持有较多基础代币的节点,都能通过参与挖矿而获利,使更多“富资源”节点参与全账本维护,使基于TrustME混合共识机制的账本系统拥有更高的安全性。 这终特性是往独立共识机制所不具备的。
All in Ledger是TrustME混合共识机制的另一重要特性。这一特性是指,达成TrustME最终共识所需的所有输入变量均来自于账本本身,而没有任何其它外部依赖。相比于PoW共识机制的概率一致性,TrustME共识可以达到确定的一致性,并且基于任意账本片段推算出的共识结果都不会与基于全账本推算出的共识结果相冲突。确定一致性是同构/异构账本实现跨链的基础,这意味着TrustME可以支持跨链。
TrustME-Hybrid共识机制,既简化了DAG账本的稳定算法,释放DAG的可扩展性,又能兼顾去中心化。同时,TrustME相关算法仅以账本数据作为输入,是具有确定性的共识机制。 在一个拜占庭容错的区块链系统中,需要固定比例的公证人来证明账本数据的有效性,并且假设他们会存储这些数据并用于判断,那么我们如何避免随着系统的增长而带来的带宽和存储空间的增长需求。 Polkadot给出的设想是成立验证人小组,验证人的数量随着整个系统节点的增长而线性增长,以实现拜占庭容错。这也许是可伸缩性分布式系统必须满足的条件。 而在Ring Network的DAG账本中,交易验证行为已经被分散到网络中的所有拥有全账本的节点。 每个Ring Network全账本节点为发出可被全网验证的交易单元,必须保证本地账本的正确性和新鲜度。同时,只有在正确维护本地账本的前提下,超级节点才可能参与公证人竞选。
TrustME的可变参数:公证人数量,押金安全地址,Coinbase接收地址,挖矿产出的分配规则,PoW难度调整方案
Basics
- Home
- Getting Started
- User Documentation
- Design Discussions
- FAQ
- Code of Conduct
Contributing
Mining
Infrastructure
Exchange integrations
R&D
RingNetwork Community
RingNetwork Governance
Risk Management
Ring Network Internals
- Unit Header Data Structure
- Detailed validation logic
- P2P Protocol
Misc