首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

USDT背后的技术原理

OP_RETURN

在进入正题前,我们需要了解比特币脚本OP_RETURN。

OP_RETURN是比特币0.9版本引入支持一种新的操作符,目的是允许开发者在交易上输出增加40个字节自定义的非交易数据。更多详细信息参考OP_RETURN wiki

USDT

USDT又名Tether,通过Tether提供1:1美元兑换服务,为法币与数字货币提供兑换服务。 国内交易所关闭后,国内玩币的人都知道,这里不过多介绍。

架构

架构图

各层介绍如下:

比特币区块链层,主要实现Tether分布式帐本功能。Tether交易信息通过OP_RETURN保存在比特币的分布式帐本中。

Omni协议层,Omni协议层主要功能如下:

创建与销毁USDT

提供OmniApi

跟踪Tether流通,通过Omnichest.info提供区块链浏览器功能

支持用户交易与保存Tether(USDT)

Tether业务层,Tether业务层主要功能如下:

1. 法币兑换Tether(USDT)

2. Tether(USDT)兑换法币

3. 监管流通中Tether(USDT)

流程

流程图

这里与普通交易所的流程类似。法币兑换USDT,发放相应USDT,USDT兑换法币,回收USDT。

交易

具体看一个交易吧。

先上图:

交易信息-1

主要看交易的输入与输出,这里关注点主要在输出,为什么输出有三个呢? 第一个很容易理解,表示找零 第二个表示什么呢?表示转帐对方的地址,具体参考wiki 第三个OP_RETURN用于存储Tether部分转帐信息

交易信息-2

图中的0x155十六进对应十进制341,在染色币的体系中对应类型表示Tether,具体参考染色币列表。 转帐的数量在哪里体现呢?转帐数字为000002ba7def3000,占用8个字节。对应十进制数字结果为:

交易信息-3

图中显示的Tether的交易的信息,这些交易信息来自比特币交易信息。

omni封装OP_RETURN信息代码如下:

UniValue omni_createpayload_simplesend(const UniValue& params, bool fHelp)

{

if (fHelp || params.size() != 2)

throw runtime_error(

"omni_createpayload_simplesend propertyid \"amount\"\n"

"\nCreate the payload for a simple send transaction.\n"

"\nArguments:\n"

"1. propertyid (number, required) the identifier of the tokens to send\n"

"2. amount (string, required) the amount to send\n"

"\nResult:\n"

"\"payload\" (string) the hex-encoded payload\n"

"\nExamples:\n"

+ HelpExampleCli("omni_createpayload_simplesend", "1 \"100.0\"")

+ HelpExampleRpc("omni_createpayload_simplesend", "1, \"100.0\"")

);

uint32_t propertyId = ParsePropertyId(params[0]);

RequireExistingProperty(propertyId);

int64_t amount = ParseAmount(params[1], isPropertyDivisible(propertyId));

std::vector payload = CreatePayload_SimpleSend(propertyId, amount);

return HexStr(payload.begin(), payload.end());

}

小结

USDT并没有自己的公有链,而是在比特币交易交易中利用比特币OP_RETURN来保存USDT交易信息。

逻辑上两条链,数据上一条链

USDT钱包地址与比特币地址等同

非交易所内的USDT转帐实际上bitcoin转帐

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180610G1GHBJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券