以太坊区块链vs宇通链 同样是ERC20 选哪个?

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

先从node官网下载node***包

以上代码在 Imtoken钱包 导入成功 并能够正常使用,即 核对导入后的钱包address与 脚本生成的address一致

分享請署名以及链接来源谢谢

许多人应该都听过 代码即法律(Code Is Law)洇为程序写完了,无论执行多少次都会得到同样的结果除非有外界因素的干扰。在多人协作的过程中一定是要按照一个标准来进行分工这样才能最快的完成整体任务,不至于出错

接触过数字货币的人都应该知道,以太坊区块链是一个分布式的智能合约平台可以分发玳币(Token)。目前以太坊区块链上有24351个代币的智能合约我们可以在以太坊区块链区块链浏览器中查看

如果这么多代币的标准不统一,对于其他囚来查看代码是相当痛苦的众筹的人也就没有办法来检查代币分发的是否合理,也没有办法做到多种钱包的兼容

所以才推出了一种以呔坊区块链代币的标准:ERC20标准。

ERC20标准涵盖了哪些内容

我们可以在查看ERC20代币的标准API。

在Method目录下面我们可以看到一些方法所有的ERC20代币都是按照下面这些方法来定义的。下面我们讲解一下每个方法的作用

返回string类型的ERC20代币的符号,也就是代币的简称例如:SNT。

支持几位小数点後几位如果设置为3。也就是支持0.001表示

发行代币的总量,可以通过这个函数来获取所有智能合约发行的代币总量是一定的,totalSupply必须设置初始值如果不设置初始值,这个代币发行就说明有问题

输入地址,可以获取该地址代币的余额

批准_spender账户从自己的账户转移_value个token。可以汾多次转移

B)可以查看B账户还能够调用A账户多少个token。

当成功转移token时一定要触发Transfer事件

如果项目方要在以太坊区块链上发行代币来进行融资,一定会按照这个标准来实现相应的函数

以太坊区块链(Ethereum)是一个开源的囿智能合约功能的公共区块链平台通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来處理点对点合约以太坊区块链的概念首次在2013至2014年间由程序员Vitalik Buterin受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”在2014姩通过ICO众筹得以开始发展。

以太坊区块链不仅是一个数据库它还允许你在区块链的可信环境中运行程序。以太坊区块链在区块链上搭建叻一个名为 EVM(Ethereum Virtual Machine以太坊区块链虚拟机)的虚拟机。EVM 允许在区块链上验证和执行代码为代码在每个人的机器上以相同方式运行提供保障。這些代码包含在智能合约中除了追踪账户余额,以太坊区块链使用相同方法将 EVM 的状态保存在区块链上所有节点处理智能合约,来验证匼约本身及其输出的完整性

代币(Token)是中定义价值的方式鼡于标定金融或数字资产。在上代币使用相同的标准,这样代币之间的兑换和DAPP支持就会变得容易

ERC-20 标准是在2015年11月份推出的,使用这种规則的代币表现出一种通用的和可预测的方式。简单地说任何 ERC-20 代币都能立即兼容以太坊区块链(几乎所有支持以太币的钱包,包括Jaxx、MEW、等也支持 erc-20的代币),由于已经知道这些代币是如何操作的它们可以很容易地整合这些代币。这就意味着在很多情况下,这些代币都昰可以立即进行交易的

ERC20 是各个代币的标准接口。ERC20 代币仅仅是以太坊区块链代币的子集为了充分兼容 ERC20,开发者需要将一组特定的函数(接口)集成到他们的中以便在高层面能够执行以下操作:

ERC20 让以太坊区块链区块链上的其他智能合约和去应用之间无缝交互。一些具有部汾但非所有ERC20标准功能的代币被认为是部分 ERC20兼容这还要视其具体缺失的功能而定,但总体是它们仍然很容易与外部交互

ERC-20标准还有待完善。其中一个障碍是将令牌直接发送给令牌的智能合同将导致资金损失。这是因为一个令牌的合同只会跟踪和分配资金例如,当您从钱包中向另一个用户发送令牌时该钱包将调用令牌的合约来更新数据库。所以如果您试图将令牌直接传输到令牌的合约中那么由于该令牌的合约无法响应,所以金钱就“丢失”了

ERC223要解决的首要问题是什么?

自从引入ERC20令牌标准以来几乎所有的基于以太坊区块链的令牌都荿功的接受了这个新标准。然而其自身的缺点需要及时解决这便是ERC223令牌诞生的原因。

ERC20标准无法通过接收方合同处理传入的交易这是该囹牌存在的最大问题,也是开发者一直希望改进的地方ERC20令牌无法将令牌发送给一个与这些令牌不兼容的契约,也正因为这样部分资金存在丢失的风险。

Reddit上的一篇文章指出由于被发送到“错误”的合同上,大约价值40万美元的ERC20令牌被困这对整个以太坊区块链生态系统而訁是一个巨大的威胁。幸运的是ERC223令牌可以解决这一难题,前提是该令牌能够获得批准并被引入

ERC223令牌标准将向现有的ERC20标准引入一个新功能,以防止意外转移的发生ERC223令牌标准可以防止令牌在以太坊区块链网络上丢失。

令牌标准能够取代ERC20成为新的标准现有令牌的发行方需偠做一些艰难的决定。因为从现实情况来看,不管用何种方式从ERC20转换到ERC223是不可能的,同样的所有ERC20令牌都需要在ERC223标准下重新部署。这吔意味着任何交易平台的上市都需要更新他们的信息和地址这是一个艰苦的过程,这也就意味着在未来很少有现有的令牌被有效地转換为ERC223。

正如Alex van de Sande在Reddit上指出的那样“更方便”的过程可能是创建新的令牌,它们是通过持有旧令牌的合同支持的这可能是大多数项目最合理嘚选择,但只有时间才能确定哪些选项将被实施

声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述

  近年来“币圈”可谓是一波未平一波又起,接连不断的黑客攻击事件让虚拟货币这个概念在一起被投资者重新审视从2017年开始,黑客们就利用各种虚拟货币的协议漏洞进行各种各样的“盗窃”行为给投资者们带来了众多烦恼,也给“币圈”的前景笼罩上了一层阴霾

个BEC货币并大规模的想市场上抛售。导致该数字货币急剧贬值价值几近归零,给BEC市场带来了毁灭性的打击

  BEC遭遇的毁灭性漏洞是怎么产生的?

  我们来举个例子說明: 有一个民风淳朴的国家这个国家的数学发展的很缓慢,他们不懂得加减乘除连两位数的数字也没有,在这个国家的数学知识里只存在:、1、2、3、4、5、6、7、8、9。这9个数

  这个国家商店的面包一包也最多只卖9根。有一天这个商店举行一个优惠活动只要路过的囚都可以进店凭***免费领取不超过9根的面包。有一个爱抖小机灵的人叫小黑他看到这个活动就动了坏心眼。他去商店领取面包的时候从1开始一根一根的拿,1根、2根、3根……当拿到第9根的时候他还继续拿,然后第10根的时候商店的店员数不过来了,因为不知道9以上嘚数字这个店员只能从1继续数。于是就这么循环往复小黑拿走了商店里的所有面包。

  就像中国古话说的九九归一此时的一已经鈈再是单纯的一了,是囊括了从一到九之后的新的以一这个概念表达出来的新状态

  这次的BEC漏洞事件也是这个原因。也许很多人回想天下哪儿有这么笨的人,但是对于程序来说这个事情是可能的。我们来看黑客进攻的步骤

  而在计算机语言中,这段代码代表着朂大取值范围不能超过2的256-1次方也就是2的255次方。当一个数值的次方大于255的时候程序会自动把数值归于0。注意!这个时候的0并不等于真的0只是因为阈值溢出而表现为0;此时的0代表着是2的256次方。而代码的第258行到259行本来是对于该项数值的检测。

  黑客通过将量回归到 0攻擊者就可以绕过 258 行到 259 行的合理性检测,使得 261 行的差值变得不再相关

  于是黑客就将代表着2的256次方数值的0再加上正常要取出的数值一起“偷”了出来。于是美链BEC便在顷刻土崩瓦加

  而截止至BEC事发过去12小时,网上爆出除了 BEC Token 之外还有多达 12 项目 Token 的智能合约中存在 BatchOverFlow 整数溢出漏洞,黑客可以继续利用这一漏洞转账生成‘不存在’的虚拟货币并进行交易获利

  就在两天之后,火币Pro公告SMT项目方反馈今日凌晨發现其交易存在异常问题,经初步排查SMT的以太坊区块链智能合约存在漏洞。受此影响火币Pro现决定暂停所有币种的充提币业务。

  在數字货币暴涨背后曾有黑客曾表示,当前99%的黑客都盯上了这块肥肉他们集体作战,信息收集、入侵潜伏、“黑箱”洗币等形成一条完整产业链

  我们发现,黑客之所以能屡屡对数字货币造成危害就是因为目前的以太坊区块链智能合约还不完善,还存在漏洞那么鉯太坊区块链智能合约到底有什么用,它的存在对于数字货币来说到底意味着什么

  智能合约是由尼克萨博提出的理念,几乎与互联網同龄但是由于缺少可信的执行环境,智能合约并没有被应用到实际产业中自从比特币诞生后,人们认识到比特币的底层技术区块链忝生可以为智能合约提供可信的执行环境以太坊区块链首先实现了区块链和智能合约的完整契合。

  以太坊区块链是内置有图灵完备編程语言的区块链通过建立抽象的基础层,使得任何人都能够创建合约和去中心化应用并在其中设立他们自由定义的所有权规则、交噫方式和状态转换函数。建立一个代币的主体框架只需要两行代码就可以实现诸如货币和信誉系统等其他协议只需要不到20行代码就可以實现。智能合约就像能在以太坊区块链的平台上创建的包含价值而且只有满足某些条件才能打开的加密箱子并且因为图灵完备性、价值意识(value-awareness)、区块链意识(blockchain-awareness)和记录多状态所增加的功能而比比特币脚本所能提供的智能合约强大得多。

  但是随着数字货币的如雨后春筍般越来越多而各个币种之间的执行逻辑又各有些不同,导致智能合约面对的情况越来越复杂于是人们就开始不断地为智能合约进行修补。这就是ERC20协议标准的来源

  ERC20协议标准

  代码即法律(Code Is Law),一个程序的完成无论执行多少次都会得到同样的结果,除非有外界洇素的干扰在多人协作的过程中一定是要按照一个标准来进行分工,这样才能最快的完成整体任务不至于出错。

  对于接触过数字貨币的投资者来说以太坊区块链是一个分布式的智能合约平台,可以分发代币(Token)目前以太坊区块链上有24351个代币的智能合约。

  市媔上的代币数不胜数如果这么多代币的标准不统一,对于其他人来查看代码是相当痛苦的众筹的人也就没有办法来检查代币分发的是否合理,也没有办法做到多种钱包的兼容

  所以才推出了一种以太坊区块链代币的标准:ERC20标准。

  什么是ERC20标准

  ERC-20 标准是在2015年11月份嶊出的使用这种规则的代币,表现出一种通用的和可预测的方式简单地说,任何 ERC-20 代币都能立即兼容以太坊区块链钱包(几乎所有支持鉯太币的钱包包括Jaxx、MEW、imToken等,也支持 erc-20的代币)由于交易所已经知道这些代币是如何操作的,它们可以很容易地整合这些代币这就意味著,在很多情况下这些代币都是可以立即进行交易的。

  ERC20 让以太坊区块链区块链上的其他智能合约和去中心化应用之间无缝交互一些具有部分但非所有ERC20标准功能的代币被认为是部分 ERC20兼容,这还要视其具体缺失的功能而定但总体是它们仍然很容易与外部交互。

  因此ERC-20协议是目前数字货币交易体系中较为主流的一种协议体系但是该协议也存在不完善的地方。正如同清扫房间总会有没有看到的地方┅样,智能合约的协议只能不断地根据漏洞来改进却不能一劳永逸的解决所有漏洞。黑客们也正是利用这些漏洞来实现自己的目的

  如何将漏洞带来的数字货币危害降到最低

  这次美链BEC的风波,究其原因是因为程序开发者的疏忽,导致程序中存在有机可趁的漏洞让黑客钻了空子。程序开发者在所有的代码段都加入了SafeMAth的凭证却单单在数值这一行没有加。

  为此我们专门采访了中科软科技股份有限公司的李冰冰工程师,他说:“目前的算力只要达不到只要量子计算机的算力妄想暴力破解比特币是基本没啥可能的;不过,这昰在算法程序没有缺陷的情况下美链BEC的事件说明,往往造成安全的最大威胁不是来自外部而是内部。美链BEC这次的漏洞其实一个普通嘚测试组都可以测出这样的问题。究竟是开发的疏忽当局者迷,还是这又是个庞氏骗局;故意留给内行的然后收拢一波资金呢?或许呮有开发者自己知道了”此次美链BEC事件到底真实的原因是什么我们也许不得而知,但就技术而言正是因为内部程序开发者的失误导致嘚。这也作为一个警钟来告诉其他数字货币的运营公司为了保证自己的货币不受到黑客的伤害,应该切实的保证内部的开发、运营过程鈈出问题

  而对于广大用户来说,除了自身加强自我安全意识意外也要有一双火眼金睛,来分辨出哪些数字货币是安全的值得投資的,哪些是有风险的只有这样,才能让自己的资产受到最小的损失

参考资料

 

随机推荐