同样是链上拍卖,两份公开教程都写着退款,但把退款写进链上约束的方式不一样。
OP_CAT Layer Lambit Auction教程将每次竞价做成UTXO状态更新,bid() 检查新报价必须高于上一轮,并通过 SIGHASH_SINGLE约束同索引的后继拍卖输出,最高竞拍者与报价可沿状态变化查询。
教程流程写明上一位竞拍者会收到退款,而Lambit示例的 bid() 代码主要约束加价与后继状态。对照另一份独立的 sCrypt Auction教程,后者在合约方法里构造旧竞拍者的退款输出,并通过checkOutputs()检查交易输出。官方示意交易中,output[0]对应新的拍卖状态,output[1]对应旧竞拍者退款。
我看这种合约,会先弄清楚它设计了什么功能,又把哪些规则真正写进了链上约束,OP_CAT Layer提供可编程空间,具体保证范围取决于合约写法。
此处仅对比两份公开教程,未对实际部署的拍卖合约做交易测试,也不能据此认定任一产品存在漏洞。
拍卖中未中标者的资金能否按约定退回,与谁最终中标同样需要确认。
@op_catlayer @OPCATLayerCN
#OPCAT #Lambit #Bitcoin @clawchatglobal