如果说商业上可行了,那么在技术上,OKLink推出LTC浏览器则是因为UTXO模型有着延续性和融合性。
UTXO的英文全称是Unspent Transaction Output,简单理解为:未消费的交易输出。
比特币本质上是虚拟货币,反应到具象事物上就是一串代码,而UTXO就是记录比特币交易的账户模型,中本聪在构建比特币时初创并引用了它。
通常来说,谈到UTXO总会首先联想到比特币,但需要额外指出的是:UTXO不是比特币所独有的。例如LTC、BCH、BSV等“比特系”币种,都使用了UTXO模型,而
以太坊则使用的是Account 模型。
这也是OKLink
区块链浏览器为何在
btc浏览器上线后优先推出LTC浏览器,是OKLink的打法之一。因为除了历史节点的重要性之外,LTC在币种特性上也和BTC有着一致性,这将在很大一部分程度上节省开发周期,快速丰富浏览器的“数据库”,为之后链上数据实时分析提供必要的基础条件。
“在OKLinkBTC浏览器上线一个多月后,我们就接着上线了LTC浏览器,说明UTXO币种是有渊源的,而BCH、BSV的浏览器我们也会很快会同时上线。”OKLink产品副总裁张超透露。
我们可以把UTXO理解为交易过程中的一个数据结构。未花费的交易输出UTXO是一个包含交易数据和执行代码的数据结构,可以通俗的解释为某地址已经收到,但尚未花费出去的加密
数字货币。基于区块链的加密数字货币使用UTXO来验证一个地址是否拥有未使用过的加密数字货币用于支付。
现在的银行支付系统、证券交易系统,包括互联网第三方支付系统(比如支付宝、微信),其核心都是基于账户(account based)的设计,底层数据都是由关系型数据库支撑。在加密数字货币领域,比特币的账户模型就是基于UTXO数据结构。由此在业内有这样的说法:”其实并没有什么比特币,有的只是UTXO。”
在实际的交易场景中,一笔UTXO交易的组成是这样的:
(1)A给B支付6个比特币;(2)A又给B支付2个比特币;(3)C给B支付1个比特币;(4)B给其他人转出支付4.5个比特币,B钱包此前的比特币数为0。
B的钱包里的比特币(UTXO)变化结果如下:
(1)之后,B钱包里有一笔大小为6的UTXO收入交易记录,净UTXO为6;(2)之后,B钱包里有两笔UTXO收入交易记录,一笔大小为6的和一笔大小为2的,净UTXO为8;(3)之后,B钱包里有三笔UTXO交易记录,一笔大小为6的,一笔大小为2的和一笔大小为1的,净UTXO为9。
注意:
(4)之后,B的钱包里基于(3)的基础,新增一笔支出为6个UTXO,然后新增一笔大小为1.5的收入交易记录。净UTXO为3-->4.5(终态)。
出现这种操作的原因是:
在UTXO模型中,交易处理的基本单位是一个交易记录,任何一个交易的输入都是某一个交易的输出。上述的三笔为1,2,6个大小的UTXO可以视为三个面额为1,2,6的硬币,硬币无法掰开花,只能拿出合适的一个全花出去,然后接受对方找零。在比特币交易系统中,“找零”的过程是系统自动操作,UTXO接收方(目标地址)感知不到。
总结起来UTXO有三大原则:
1、所有交易始于Coinbase(即始于挖矿奖励所得);2、除了Coinbase交易之外,所有的交易输入都必须来自于前面一个或者几个交易的UTXO输出;3、每一笔的交易支出总额和交易收入总额相等。
从理论基础上来看,UTXO模型的维护难度相比以太坊的Account 模型更高。主要是由于UTXO模型侧重于账户的概念,而Account更侧重于协议的概念。因此UTXO模型对于复杂逻辑,或者需要状态保存的合约,实现难度大,维护起来也更加麻烦。
而Account通过使用协议编写智能合约的方式,能够让合约以代码形式保存在 Account 中,增加了灵活性和可编程性,批量操作的成本也更低。
对于OKLink团队而言,优先选择对UTXO模型的币种进行区块链浏览器的开发,实际上是选择了从比特币的设计逻辑去理解“链的交易世界”,从最原始的地方出发,去理解比特币所带来的真实价值和币种迭代的技术含义。
尽管这带来了不少的麻烦,但对每一个尊崇”去中心化“理念的人来说,是一次对技术的朝圣。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。