通用型数据库与当前大部分
区块链账本项目(例如
比特币、
以太坊等,而Hyperledger这类区块链平台则不包含在内)从日志的角度看,最大的区别在于区块链账本项目对于日志格式进行了高度定制化与业务绑定。
一般来说,传统的数据库日志包含的是数据页的变更信息,我们叫做“写前镜像”和“写后镜像”,代表新的数据写入前这条记录长什么样子,同时新数据写入后这个记录长什么样子。通过这种方式,可以很轻易地在磁盘中的某个数据页的指定偏移上进行数据前滚与回滚操作。
譬如说一条数据库日志并不会记录一个INSERT操作的具体命令,而是以“X数据页的第Y个槽位,其所对应的偏移地址数据由ABC变化为DEF,总长度Z”的方式体现出来。因此,数据库的日志几乎可以记录任何信息,这也是为什么通用数据库可以被用来实现任何业务逻辑的原因。
而大部分的账本项目则高度定制化其日志结构,例如以太坊的每一条交易信息都会包含输入金额、输出金额、燃料等信息,然后每一个节点在进行验证时必须判断其符合某种规则,否则不予通过。这种机制可以看做是一个完全高度定制化的数据库业务,每一条日志记录不仅仅记录数据内容的变更,而是与业务逻辑紧密耦合,记录每个账户的余额变化。
因此,从可扩展性来看,尽管以太坊等项目支持“智能合约”,但是其核心本质还是一个高度定制化的账本系统,其业务逻辑与交易结算进行了非常紧密的绑定。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。