比特币UTXO转账机制 如何避免了状态更新不一致的风险?
这种风险诞生于类似于“高并发”操作的交易时;
这种风险诞生于类似于“高并发”操作的交易时;
在短时间内,多比交易同时发生,就引发了余额状态更新的难题,多笔交易必须有序执行,并且每笔交易都会产生新的状态信息,且需要及时同步给下一笔交易,如果这个过程控制不好,就会导致状态修改更新错误;
这个和多个数据库连接修改同一个数据库单位数据时,产生的冲突一样,数据库通过锁来来确保有序的进行修改,使每一笔修改真正的作用域最新的状态进行修改,真正的产生了修改效果;
程序设计中,并发操作涉及到对于内存的操作,也有类似的问题考量;
总而言之,这种设计简单粗暴,完全可以避免“类并发”状态更新可能遇到的风险;而且完全不用考量类似于“锁机制”来进行复杂控制维护顺序,和状态更新,而且有可能控制不好出岔子,了解锁的人都知道有可能会产生死锁;然后又会产生其他衍生的问题,无尽的问题可能会递归产生;
不引入过多的复杂性,对于设计,维护都是简单的,也是降低可能潜在风险的最好方式,系统越简单就容易是高鲁棒性的状态,遵循奥卡姆剃刀原则。