Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

在比特币上发代币的基本原理——omni协议发代币的通俗解释

区块链 加入收藏
本篇文章给大家谈谈在比特币上发代币的基本原理——omni协议发代币的通俗解释对应的信息,希望对各位有所帮助,不要忘了收藏本站喔。第0章引言最近BCH社区在讨论发token的事,其中omni协议是一个成熟的方案,在BTC上

本篇文章给大家谈谈在比特币上发代币的基本原理——omni协议发代币的通俗解释对应的信息,希望对各位有所帮助,不要忘了收藏本站喔。

第0章 引言最近BCH社区在讨论发token的事,其中omni协议是一个成熟的方案,在BTC上早就实现的,USDT就是使用omni协议实现的代币。

本文通俗讲解omni的基本原理。

第1章 BCH交易中OP_Return信息的基本原理一笔比特币交易是一个含有输入值和输出值的数据结构,该数据结构植入了将一笔资金从初始点(输入值)转移至目标地址(输出值)的代码信息。

区块链浏览器中查看是这样的左边的是一个输入,是发币者的地址:右边是输出,是收币者的地址。

BCH的转账和我们去银行填单汇款很像,汇款单也是要填写汇款人、汇款金额、汇款银行账户、签名、收款人……等等信息。

在上述表格的倒数第2行,即“锁定脚本”可以是一种“备注信息”(请注意,这里是“可以是”),只要是以OP_Return开头的都属于“备注信息”。

就像我们使用网银转账可有填写备注一样,这种“备注信息”的“锁定脚本”,即BCH节点来说是不作处理的。

我们称这种“备注信息”为OP_Return数据。

但是这种OP_Return数据,都一定会和这笔交易共同存在BCH的区块里的。

这句话的意思是:OP_Return数据是受BCH区块链保护的,这个数据是不可篡改,不可伪造的。

哪怕是你再发一笔交易,填写完全一样的OP_Return信息,但这笔交易的txid肯定是不一样的,BCH区块链是可以识别“信息完全相同的OP_Return数据”是属于哪笔交易,在哪个区块的。

这意味着,一笔交易tx,外带一个OP_Return数据,这两个信息就会是在全世界唯一性地存在。

即使是在同一区块里,相同的输入地址和输出地址外加相同的OP_Return数据,的两笔交易,因为UTXO不同,交易加OP_Return也可以形成唯一性,在区块内部可以排到顺序。

OP_Return一旦写入了区块链,就相当于有了一个时间戳,哪怕是同一区块里的交易,都因排序不一样,而有不同的时间戳。

这句话是什么意思呢?就类似于,今天的人民日报第2版发表了一篇文章,那这篇文章就带有2018年7月18日这个时间戳。

如果明天,在人民日报第2版完全相同的地方,又发表了完全一样的文章,但时间戳是不一样的。

下面的这笔交易就是带一个OP_Return备注信息,OP_Retrun一般会在浏览器的输出列出中显示为“地址解析失败”,然后在浏览器的输出脚本部分显示具体的数据。

以上信息就是Omni协议成立的关键。

第2章 我们来设计一个货币现在我们来设计一个货币。

设计货币,最重要的就是三个功能,货币的发行,建立账户,和货币的转移。

发行必须有理有据,你不能胡乱发。

我们可以约定好,一次性发行,然后永久不增加。

也可以约定好按特定的条件来持续增发。

只要定义好规则就好。

为了方便起见,我们设计一个一次性发行,永久不增加的货币,我们先管它叫TFBC(The FirstBticoin cash's token Coin的首字母缩写),发行76亿(全世界人口,一人一个好了)。

初次发行,就将所有的币存放到一个账户上。

建立账户就很开户,允许新用户加入到这套货币体系当中来。

新开的户,余额是零,然后可以接收币,收到币后可以发送币给别的账户。

这个好理解。

货币的转移,或叫支付,是我们使用这个货币的过程。

这个过程必须是安全的和让用户可识别的。

你不能出现一个人原本是没有币,他却能支付,即这套货币系统需要能识别出哪个账户有币,然后才能支付,也不能支付的总额超过了账户的余额。

让用户可识别的就是说,你得让人知道他账户上有多少币,这个不能显示是假的,或者有人造假说自己有多少币,系统得能识别。

有这三个功能,就实现了一套最简化的货币。

我们使用一种中心化的思维来设计的话,就是使用一个账本,形象点说,就是一个excel表格。

表格的第1列记录的是账户名字,第二列是账户余额。

货币的发行,就直接在excel表里填写一个账户,随便叫个名字,就叫“闪电”好了,余额是76亿。

新建账户就是在excel表格里增加一行,比如新建一个叫“雷神”的账户,余额为0。

货币的转移,比如“闪电”这个账户要转1亿个币给“雷神”。

要完成这个过程只需要修改两个数,第1是将“闪电”的余额改为75亿,将“雷神”的余额改为1亿,就完成了。

为了保证转移过程的安全性,我们会要求记录所有的历史支付记录。

这样可以通过所有的历史记录回溯到初始发行的货币量,回溯就是将支付的过程逆过来,原本“闪电”支付给“雷神”1亿,回溯就变成了“雷神”支付给“闪电”1亿。

如果回溯的最终结果和发行是一样的,那就可以说明整个支付过程是没有问题。

有了历史记录,我们也可以对所有的账户余额进行回溯,回溯的结果一定的所有的账户余额都为零(除了初始发行的那个账户)。

当前大家对于在比特币上发代币的基本原理——omni协议发代币的通俗解释都是颇为感兴趣的,那么小编也是在网络上收集了一些相关信息以便大家阅读。

图集详情底部广告位