需要说明的是,波卡并没有让所有的验证人验证所有的链,而是采取了一个更经济的做法。在一个具体的时刻,每条平行链的验证人组是不一样的,每条平行链的验证人组由中继链随机分配,每隔一段时间都会重新分配,通过这样随机分配的机制,让恶意的验证人集难以联合作恶。这种机制,可以拿中国古代宋朝的军事制度来类比:兵无常将,将无常兵。 波卡的共享验证人本质上是一种分片机制,与以太坊 2.0,Harmony,Near 等采用分片机制提高可扩展性的区块链是类似的。但不同的是,分片链与信标链是终身一体的,而波卡的平行链可以和中继链随时解耦,随时耦合,当解耦时,平行链是一条可独立运行的区块链。 跨链技术的认识框架现今活跃的跨链项目有近百个,不同的跨链桥采用不同的跨链技术方案,采用相同类型技术方案的项目对系统角色有着不同的设计,和不同的叫法,有对角色职能进行拆分,创造更多角色的,也有对角色职能进行合并,省略部分角色的,还有些项目综合使用了多个跨链技术,可以说是,眼花缭乱,但如果认识清楚了跨链技术的本质,则可以做到去伪存真,透彻理解。为此,我们需要一个理解跨链技术的认知框架。 我们可以从跨链要解决的难题说起: 如何保证跨链事务的原子性这个问题指的是,一个完整的跨链事务,必须作为一个整体,执行成功,或者执行失败,不能存在部分成功,部分失败的情况,否则使用跨链功能的用户将有可能面临资产损失。有两个思路可以实现这一点:一种就是通过密码学手段对一个跨链事务中的多个子交易进行耦合,例如基于哈希时间锁的原子交换方案;还有一种方法是让跨链事务的多个子交易具有严格的时序性,时序性包含三层含义:
除了哈希时间锁,其他跨链方案大多情况下都是靠后一种方法,来保障跨链事务的原子性的。这里涉及到一个问题,如何判断一笔交易,已经形成最终确定性呢?区块链的共识机制有很多种,但依据其最终确定性形成机制,可以分为可证明最终性和概率最终性两种,BFT 类的区块链,通过验证人投票来确定区块,被确定的区块具有最终性,无法被逆转。但非 BFT 类的区块链,则认为最长链即最终链,但最长链有可能因为分叉而改变,因此,已经打包的交易可能被逆转,面对这种情况,普遍采取的方法是等待更多的区块确认,直到该交易所在区块被逆转的可能性降到极低。 (责任编辑:admin) |