美文网首页践行区块链
比特币生态开发 - UTXO 的那些坑

比特币生态开发 - UTXO 的那些坑

作者: Ashton | 来源:发表于2024-01-22 06:21 被阅读0次

0x00 为啥会有坑

哈哈,有路的地方,就会有坑...

比特币生态今年意外爆发,我有幸也参与了一些比特币生态项目。比特币这个东西,因为没有智能合约,给人一种假象,以为做比特币开发就是调用一些接口和比特币开发库,但真正做进去,就会碰到各种想象不到的坑,精彩纷呈。

0x01 Too many unspent transaction outputs

如果还没碰到过这个问题,大概率是你做的应用还没有资深玩家在用...

构造比特币交易,第一步要做的就是获取 UTXO,如何获取 UTXO 呢?
mempool.space 提供的有个现成的接口:https://mempool.space/api/address/1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY/utxo
免费又方便,正常使用也没啥问题,直到有一天,不断有用户抱怨说应用用不了,然后自己怎么试怎么是好的,最后把用户地址要过来,发现获取 UTXO 这步就出错了。

怎么办?

  1. 换供应商
    mempool.space 有限制,其它比特币浏览器是不是会好呢?你可以尽管去尝试,按我们的经验,免费供应商最多能返回的 utxo 是 2500 个。

  2. 自己搭节点
    这其实也有几个选项,一个是自己搭比特币节点去跟踪存储所有的 UTXO,一个是自己去跑个 mempool.space 开源代码,可能都没那么轻松

有没有更方便的做法呢,也是有的

0x02 把资产当矿工费花了出去

这是另外一个初做比特币生态经常碰到的问题。这次比特币生态带来的最大变化,就是让很多看起来普普通通的铭文,有可能附带有价值连城的铭文。这就要我们在花费 UTXO 的时候格外小心。

  1. 目前铭文的 UTXO 大多是 546 聪,还有一些是 330 聪,293 聪,一般来说最大步会超过 10000 聪,这里可以做个简单的过滤,只花费大于 10000 聪的 UTXO
  2. 如果做更精细的筛选,就要自己把 UTXO 和铭文索引放在一起进行过滤了,这个如何做的效率更高是个技术活

0x03 花费未确认的 UTXO

比特币是允许使用未确认的 UTXO 来支付的,我们在铭刻铭文的时候经常这样做。但是有两个限制是要注意的:

  1. 比特币对未确认 UTXO 的反复使用是有限制的
  2. 如果前面某个 UTXO 由于矿工费太低迟迟得不到确认,后面的一连串交易都不会轻易得到确认

0x04 UTXO 投毒

出于某些特别原因,有人可能会往你地址里发送一笔小金额面值的 UTXO,但这个 UTXO 级连带了很多未确认的交易,这个被称为 UTXO 投毒。
当你不小心用了这个 UTXO,就中毒了。中毒后的典型表现就是你发出去的交易迟迟得不到链上确认,需要花比预期多很多的矿工费来解毒。

0x05 UTXO 合并

当你钱包里有几万甚至几十万个 UTXO 的时候,你会发现想把这些钱转出去并没那么容易,相当于自己有一卡车的硬币,一个个的花费太费事,大部分钱包也不支持一次性转太多 UTXO。

0x06 后记

UTXO 这东西有很好用的地方,比如很容易实现批量发送。但也有不少坑,从以太坊赛道过来的同学很容易掉坑里。

相关文章

  • 矿工五宗罪

    比特币生态 比特币生态有以下几个角色: 比特币核心开发者,他们开发与更新比特币技术, 负责开发与维护代码 矿工们,...

  • “空气”公链——QTUM项目评测

    一.项目介绍 量子链(QTUM)是首个基于UTXO模型的POS智能合约平台,可以实现和比特币生态和以太坊生态的兼容...

  • 比特币本质其实是UTXO

    其实并没有什么比特币,我们在交易所里或者钱包里显示的比特币余额其实是UTXO。那到底什么是UTXO呢,UTXO的全...

  • 【区块链】UTXO是何方神圣呢?

    在《精通比特币》提到: 在比特币的世界里既没有账户,也没有余额,只有分散到区块链里的UTXO。 UTXO(Unsp...

  • 反常识的UTXO

    理解UTXO是什么并不难,难在理解为什么比特币要用UTXO。 1、什么是UTXO UTXO是“未花费的交易输出”。...

  • 比特币交易脚本是什么

    比特币基于UTXO模型,记住这一点在理解比特币各个环节都大有裨益。 UTXO是指未花费的交易输出(Unspent ...

  • 比特币UTXO模型介绍

    比特币与UTXO模型 UTXO全名是Unspent Transaction Outputs,未花费交易输出,相比于...

  • 你的比特币地址里没有余额,只有UTXO?

    最近,无意中在网上看到这句话:现实世界中没有比特币,只有UTXO。那UTXO又是什么意思呢? 比特币的交易由交易输...

  • 以太坊入门介绍

    在之前比特币本质其实是UTXO的文章中介绍了比特币的不是一个基于账户的概念,而且UTXO。但是在以太坊中,就是基于...

  • 以太坊,区块链之光

    1、开创先河的比特币 上篇我们讲了货币的价值,讲了比特币。比特币,用区块链的结构保证了记录不被篡改,用UTXO来做...

网友评论

    本文标题:比特币生态开发 - UTXO 的那些坑

    本文链接:https://www.haomeiwen.com/subject/bnxsodtx.html