【技术解读】非同质化代币与非同质化多链

      前言:公链是区块链发展的前提基础,也是区块链行业未来发展的核心保障。而目前区块链的发展现状是,底层公链的性能尚未发展起来,在其上构建的各类DApp严重受限于性能,各种共识算法都有不完美之处。以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。在以太坊上发行最广泛的即是同质化代币——ERC20 Token,作为一种预发行的通用代币,它构建了几乎市面上绝大多数通证经济的基础。而ERC721是以太坊智能合约更加完善的体现,它可以把各种不同特征的事物进行具象化定义,并求得完全非同质的解。本文将浅析同质化代币的抽象共识,非同质化代币的映射理念,并以此提出对于多链体系的非同质化构思。

 

      【同质化代币】


      很多开发者已经跃跃欲试参与到区块链开发事业当中,但往往会感到有点力不从心。因为公链的底层逻辑虽不复杂但也是一个浩大的工程,在公链/项目未上线前的人力物力成本也是十分巨大的。以太坊智能合约为区块链开发者们打开了新思路,他们通过构建一种同质化的token,非常轻松的就能将自己项目的权益预发放出去,同时获得早期的资金。

      也许你经常看到ERC20和代币一同出现, ERC20是以太坊定义的一个代币标准。要求我们在实现代币的时候必须要遵守的协议,如指定代币名称、总量、实现代币交易函数等,只有支持了协议才能被以太坊钱包支持。

 


 

      如上图所示,一个典型的ECR20代币有如下基础变量和函数:

      name : 代币名称

      symbol: 代币符号

      decimals: 代币小数点位数,代币的最小单位, 18表示我们可以拥有 0.0000000000000000001单位个代币。

      totalSupply() : 发行代币总量。

      balanceOf(): 查看对应账号的代币余额。

      transfer(): 实现代币交易,用于给用户发送代币(从我们的账户里)。

      transferFrom(): 实现代币用户之间的交易。

      allowance(): 控制代币的交易,如可交易账号及资产。

      approve(): 允许用户可花费的代币数。

 

      ERC20合约的TOKEN一直以来被视以一种单纯的链上资产来看待,它一直“活的”像是被映射在Ethereum上的Coin,而社群标签&价值共识是本来ERC20运行的一个深层含义。

      形似余额但并不是为了度量余额,熟悉比特币和以太坊区别的朋友可能都会有所了解,ETH是账户机制的设计而BTCOIN是未花费输出的设计。从技术层狭义的理解就是重隐私性到侧重空间性能的不同,但是更深的一层哲学理解便是通货的度量和共识的度量。可以简单的说,UTXO模拟了掏出不同面值的货币并获得找零的流程,模拟了各式货币的流通(其中还有抽象的部分),应用在通货资产定义的比特币上非常的合适。而ETH的账户设计其实不能简单理解为我们最常联想到的您在银行里的那个账户,从普通人角度去看银行账户是一个管理自己存下来的钞票(未花费输出)的地方,而Ethereum的账户的非常重要的一部分意义其实是对每一个账户背后共识度量的集合。

      在今年(2018年)4月至5月份,BEC、SMT等曝出的无限刷代币量漏洞,明显提升了大家对ERC20“资产”的认识,就是在合约中看见那个总供给量上限(TotalSupply)并不会真正限制前供给量(currentTotalSupply),这次事件中它们的当前供给量一飞冲天“直逼月球”。其实在以太坊上TotalSupply只起到了一个告知作用,对currentTotalSupply并没有强制的约束,这正是对通货度量和共识度量的区别的一个体现。度量通货则总攻击力必须要对当前供给量有绝对的限制,而度量共识则合约本身包括这份“告知书”就是共识的内容之一,"履约"并不是强制的因为"违约"也可以是共识。所有Token的持有者共同的认知,微妙的支撑着各种ERC20 Token的价值,持有者也便在悄然组成一个个或紧密或松散共识社群。

      每一个ERC20 Token 持有者们就像是一个群,持有的份额分布正是从“群管理”到“群新人”的自治分布。对应的持有的Token越多与这个群体关系越紧密,相应的拥有更高的话语权,持有的越少越边缘,越相对事不关己,话语权也越微不足道。Erc20Token正是每一个社群的标签,共识价值与每一个成员都不同程度的息息相关,这种Token更是它的复合载体。

       当然这并不是Erc20Token唯一胜任的事情,对于普通币民来说它们现在更多的是被视作一种仅仅是背着各种故事&用途的资产,像自己买的股票一样在交易所里面当码子使用。不过随着广大投资者的认知逐步提升,这其中更多的理解将被更广泛的接受,就像对各种Erc标准其术业更专攻的认识。譬如说现在更多的人知道有时锚定某一特定的事物,Erc721才是更好的选择。

 

        【非同质化代币】


      什么是ERC-721?现在我们看到的各种加密猫猫狗狗都是基于ERC-721创造出来的,每只都是一个独一无二的ERC-721代币,不过ERC-721在区块链世界远不止猫猫狗狗,它更大的想象空间在于将物理世界的资产映射到区块链上。

      ERC721 是由Dieter Shirley 在2017年9月提出。Dieter Shirley 正是加密猫CryptoKitties背后的公司Axiom Zen的技术总监。因此加密猫也是第一个实现了ERC721 标准的去中心化应用。之前,该标准仍虽已被广泛使用,但在官方一直处于草稿阶段,直到6月,ERC721号提议才正式被以太坊作为标准接受。

      那怎么理解非同质代币呢?非同质代表独一无二,以加密猫为例,每只猫都被赋予拥有基因,是独一无二的(一只猫就是一个NFTs),猫之间是不能置换的。这种独特性使得某些稀有猫具有收藏价值,也因此受到追捧。

       ERC20代币是可置换的,且可细分为N份(1 = 10 * 0.1), 而ERC721的Token最小的单位为1,无法再分割。

      如果同一个集合的两个物品具有不同的特征,这两个物品是非同质的,而同质是某个部分或数量可以被另一个同等部分或数量所代替。

      非同质性其实广泛存在于我们的生活中,如图书馆的每一本,宠物商店的每一只宠物,歌手所演唱的歌曲,花店里不同的花等等,因此ERC721合约必定有广泛的应用场景。通过这样一个标准,也可建立跨功能的NFTs管理和销售平台(就像有支持ERC20的交易所和钱包一样),使生态更加强大。

     ERC721最为一个合约标准,提供了在实现ERC721代币时必须要遵守的协议,要求每个ERC721标准合约需要实现ERC721及ERC165接口,接口定义如下:



      如上图所示,一个典型的ECR721代币有如下基础变量和函数:

      balanceOf(): 返回由_owner 持有的NFTs的数量。

      ownerOf(): 返回tokenId代币持有者的地址。

      approve(): 授予地址_to具有_tokenId的控制权,方法成功后需触发Approval 事件。

      setApprovalForAll(): 授予地址_operator具有所有NFTs的控制权,成功后需触发ApprovalForAll事件。

      getApproved()、isApprovedForAll(): 用来查询授权。

      safeTransferFrom(): 转移NFT所有权,一次成功的转移操作必须发起 Transer 事件。

 

      ERC721定义的一些函数使其和ERC20代币标准存在一致的地方。这样做的目的在于更加方便现有钱包展示有关于代币的简单信息。这些函数使符合该标准的智能合约表现得像诸如比特币或以太坊之类的普通加密货币,方式在于定义使用户执行诸如将代币发送给其他人和核实账户余额等动作的函数。这些函数定义了合约处理代币所有权的方式以及转移所有权的方式。其中最值得注意的函数为takeOwnership和transfer,分别担任提取和发送功能,且对用户之间转移代币来说必不可少。

     函数ownerOf返回某代币的所有者的地址。由于每个ERC721代币都是非同质且因此独一无二的,其在区块链上通过一个唯一的ID被查询。我们可以利用其ID判断代币的所有者。

     函数approve批准或授予另一个实体代表所有者转移代币的权利。例如,如果Alice拥有1个MyNFT(我的非同质代币),她可以为朋友Bob调用 approve 函数。调用成功后,Bob稍后就可以代表Alice获得该代币的所有权或对该代币进行操作。关于所有权转移的更多内容可参见函数 takeOwnership 和 transfer 。

     函数transfer,转移代币的下一个方法就是使用该函数。函数transfer让代币所有者将其代币发送给另一个用户,与独立加密货币类似。然而,只有收款账户事先被打款账户授予获得代币的权利,转账才能开始。

     非同质化代除了表示你拥有某种东西,然后,这个所有权反过来能证明关于你自身的某个状态。可收藏的对象并不限于电子猫。人类一直以来有收藏东西的历史;这没什么新鲜的。从物理货币到神奇宝贝卡,人们喜爱收集。这是一种出于对稀缺物品的独特兴趣而形成的习惯。商品价值与其稀缺程度有关,与此类似的是,收藏物对于收藏者的价值与其和其它物品相比起来的稀罕程度相关。

      比如,你参加某个社团活动,然后社团会给参与者一个token,然后,当你在自己的朋友圈晒这个token时,朋友圈里的任何人其实都可以通过区块链验证你是否拥有这个token,并且这也将是一个非常强烈的社交信号。且当这个社团的象征意义越大(比如哈佛大学的博士学位),或者在越来越多的人心中形成共识时,这个token所代表的信息量就越大和明确。

      我们能够将以太坊代币看作稀有且具有收藏价值的物品,并且其中每个代币都遵循以太坊社区内被称为ERC721的标准。以太坊代币标准721,或称ERC721,是Dieter Shirley在2017年底引入的一项以太坊改进计划。这项提议标准让智能合约能够像ERC20一样按照可交易代币进行操作。ERC721代币是独一无二的,原因在于这些代币是非同质的。

      再想想,其实我们的学位、信用额度是不是都有类似的功能?许多银行的信用卡额度都是据你所拥有的信用卡最高额度来审批给你的额度,现在也有许多单位会要求你出示芝麻信用分。如果你是某一产品或设备的极热Fans,比如音响设备、手表,你拥有东西本身,就同时在向接触到你的人传达了许多你特有的信息。

      当你把所有的东西都平权化,所有人都拥有平等的接入某一个东西的权利,这时,每个人其实反过来是丧失了自己的个性化(这其实就是ERC20同质化token)。

      所以,非同质化的token,是个人化的,个性化的,包含你自己独特人格烙印的东西。它可能成为现在这个时代的一种自我表达,这个自我表达比其他任何的语言和媒体更有分量、更有意义。



END


今天关于非同质化代币与非同质化多练练的文章就这里

如果有任何问题想与我讨论

请加EKT公链开发QQ群:699726921

项目交流QQ群:173806202

欢迎关注微信公众号:EKT通用积分



猜你喜欢

转载自blog.csdn.net/weixin_42120252/article/details/81004162