以太坊转账节省gas
㈠ 以太坊带来了那些争议和质疑呢
以太坊和比特币是有着本质区别的,区别在哪里呢?比特币定义的是一套货币体系,而以太坊侧重的是打造一条主链(可以理解为一条公路),可以让大量的区块链应用跑在这条公路上。
从这一点来看,以太坊的应用场景更广泛,这也是为什么我们说以太坊标志着区块链
1.0时代一个单纯的货币体系,向区块链2.0时代实现其他行业以及应用场景的转变。
但是,世界上没有十全十美的事物,以太坊虽然拓展了区块链在各行各业的应用范围,还提升了处理交易的速度,但是它也存在着一定的争议与质疑。
一、以太坊的扩展性不足的解决之道:分片技术和雷电网络
以太坊的底层设计,最大的问题是以太坊只有一条链,没有侧链,这就意味着,所有程序都要对等地跑在这条链上,消耗资源的同时,还会引发系统拥堵。正如去年非常火爆的以太坊游戏“加密猫”,这个游戏火爆的时候,一度引发以太坊网络瘫痪。
对于提升处理能力这个问题,以太坊提出两种方式:一个是分片技术(shard),一个是雷电网络,下面我们分别介绍一下这两种技术。
(一)分片技术
以太坊创始人 V 神(Vitalik Buterin)认为,诸如比特币这种主流的区块链网络,之所以处理交易的速度很慢,是因为每一个矿工要处理全网的每一笔交易,这样的效率其实是非常低下的。分片技术的构想是:一笔交易不必发动全网所有节点都去处理,只要让网络中的一部分节点(矿工)处理就好了。于是,以太坊网络被划分成很多片,同一时间,每一分片都可以处理不同的交易,这样一来,会大大提升网络性能。
但是,分片技术也是有一定争议的。我们知道,区块链技术的重要思想是去中心化,全网都去见证(处理)同一交易,这才具有最高的权威性。而以太坊分片技术,并不是所有节点共同见证,而是类似于分小组见证,这样一来,它便失去了绝对的“去中心化”属性,只能通过牺牲掉一定的去中心化特性来达到高性能的目的。
(二)雷电网络
雷电网络使用的是链下交易的方式。这是什么意思呢?它的意思是:使用雷电网络的参与者在互相转账时,不需要通过以太坊主链交易确认,而是通过参与者之间创建支付通道,在链下完成。
不过,雷电网络并不是脱离主链的,在建立支付通道之前,需要先用主链上的资产做抵押,生成余额证明(Balance Proof),拥有余额证明才能表明你能做出相应余额的转账。在交易双方都持有余额证明的情况下,双方可通过支付通道在链下进行无限制次数的转账。
只有在完成链下交易,需要将资产转回链上时,才会在以太坊主链上登记主链账户的余额变化信息,而这期间不管发生多少次交易在主链上是不会有记录的。
雷电网络还有一个实实在在的好处,就是可以为你省下矿工费用。目前我们在以太坊主链上进行交易,需要消耗 Gas,需要支付矿工费用,那么一旦将交易搬到链下,就可以节省这一部分的成本。
当然,雷电网络并不是十全十美的。在使用雷电网络时需要用主链上的资产作抵押;而这部分资产作为抵押物,在使用者完成链下交易之前是不能使用的。这也就决定了,雷电交易只适合小额交易。
上面就是以太坊扩展性不足的问题,以及目前提出的两个主要解决方案:分片技术和雷电网络。
二、以太坊的智能合约存在漏洞与臭名昭著的 The Dao 事件
以太坊的智能合约很强大,但是,凡是代码都会存在漏洞的,以太坊智能合约最大的争议就在于所谓的漏洞,也就是安全性问题。据相关研究表明,在基于以太坊的近100万个智能合约上,发现有34200(约3%)个含有安全漏洞,将允许黑客窃取ETH、冻结资产或删除合约,比如说,臭名昭著的The Dao 事件。
(一)Dao是什么意思?
介绍 The Dao 事件之前, 我们先见到介绍一下 DAO 是什么。DAO 是 Decentralized
Autonomous Organization 的简称,可以理解为:去中心化自治组织。从以太坊的角度来理解,DAO 是区块链上的某一类合约,或者一个合约组合,用来代替政府的审查以及复杂等中间程序,从而实现高效的、去中心化的信任的系统。所以,DAO 不是特定的某个组织,也就说呢,可以有很多的DAO,各种各样的DAO。
(二)臭名昭著的The Dao事件
但是,我们现在提到DAO,基本上所指的都是The DAO事件,也就是我们刚刚说的那个臭名昭著的黑客攻击事件。我们知道,英文中的 The是特指的意思,The DAO事件呢就
是特指的那个DAO事件,因为我们刚刚说了DAO不是特定的某个组织,可以有很多的DAO,各种各样的DAO。
2016 年的时候,德国一家专注“智能锁”的公司 Slock.it,为了实现去中心化的实物交换(比如说:公寓啊,船只啊),在以太坊上发布了 DAO项目。并且于2016年4月
30日开始,融资窗口开放了28天。
没想到,这个DAO项目的人气非常高,短短半个月就筹得了超过一亿美元,而到整个融资期结束,一共筹集到1.5亿美元,由此呢,它成为历史上最大的众筹项目。然而好景不长,到了6月份,黑客利用智能合约里面的漏洞,成功转移了超过360万个以太币,并投入到一个DAO子组织中,这个组织和The DAO有着同样的结构。以至于当时以太币价格从20多美元直接跌破13美元。
这个事件说明智能合约的确是有漏洞的,而且一旦漏洞被黑客利用,那么后果是非常严重的。这就是现在很多人批评以太坊,说它的智能合约不智能。
对于这个问题,目前国外有很多公司为了解决智能合约的漏洞问题 ,开始提供代码审计服务。而从技术的角度来说,目前一些团队正在对智能合约进行检验,这些团队多数由哈佛、斯坦福和耶鲁的教授带队,部分团队已经获得了头部机构的投资。
除了目前以太坊存在的扩展性不足、智能合约漏洞问题,对于以太坊的争议还在于它所追求的POS共识机制,也就是权益证明机制,在权益证明机制下,如果说谁持币的数量越大、持币时间越久,获得的“权益”(利息)就越多,还有机会得到记账权力,记账又可以获得奖励,那么这样一来,容易造成“强者越强”的寡头优势。
还有一个问题就是ICO乱象的问题。ICO是区块链项目筹措资金的常用方式,咱们可以理解为预售。以太坊上ICO项目的爆发,滋生了打着ICO旗号进行资金盘、诈骗圈钱等不法行为,对社会和金融稳定造成安全隐患。
㈡ 以太国际空间谁知道怎么玩。EIS币怎么交易
现在我们大家都很关注关于以太坊方面的问题,那么关于以太币怎么交易?我想我们大家应该会很想了解一些内容,那么下面就让我们小编在这里就来为大家好好的介绍一下很多内容关于以太币怎么交易?以太坊的交易最直观解释:从外部账户发送到区块链上的另一个账户的消息和签名的数据包。
包含如下内容:
发送者的签名
接收的地址
转移的数字货币数量等内容
以太坊上的交易都是需要支付费用,和比特币以比特币来支付一定的交易费用不同,以太坊上固定了这个环节,那么这个间接理解是以太坊的一种安全防范错误,防止了大量的无意义的交易,保证一定的安全性,特别是智能合约的创建、执行、调用都需要消耗费用,那么也保证了整个系统的稳定性,防止了一些链上无意义的恶意行为。
交易手续费
以太坊的核心是EVM,以太坊虚拟机,那么在EVM中执行的字节码都是要支付费用。也就是经常看到的Gas、Gas limit、Gas Price这几个概念。
Gas:字面理解就是汽油,以太坊和日常的汽车一样需要Gas才能运行。Gas是一笔交易过程中计算消耗的基本单位。有一个列表可以直观看到在以太坊中操作的Gas消耗量:
操作Gas消耗具体内容
step1执行周期的默认费用。
stop0终止操作是免费的。
suicide0智能合约账户的内部数据存储空间,当合约账户调用suicide()方法时,该值将被置为null。
sha320加解密
sload20在固定的存储器中去获取
sstore100输入到固定的存储器中
balance20账户余额
create100创建合约
call20初始化一个只读调用
memory1扩充内存额外支付的费用
txdata5交易过程中数据或者编码的每一个字节的消耗
transaction500交易费用
contract creation53000homestead中目前从21000调整到53000
所以有些公司或者个人觉得区块链技术去中介化,不需要中心服务器,这种开发模式是比较便宜的,但是事实上区块链的开发不比之前的那些传统软件开发来的便宜。
Gas Price:字面理解汽油价格,这个就像你去加油站,95#汽油今天是什么价格。一个Gas Price就是单价,那么你的交易费用=Gas*Gas Price,然后以以太币来ether来支出。当然你觉得我不想支付费用,你可以设置Gas Price为0,但是选择权在矿工手中,矿工有权选择收纳交易和收取费用,那么最简单的想想很难让一个矿工去接收一个价格很低的交易吧。另外提一句,以太坊默认的Gas Price是1wei。
Gas Limit:字面理解就是Gas的限制,限制是必要的,没有限制就没有约束。这个Gas Limit是有两个意思的。首先针对单个交易,那么这个表示交易的发起者他愿意支付最多是多少Gas,这个交易发起者在发起交易的时候需要设置好。还有一个是针对区块的Gas Limit,一个单独的区块也有Gas的限制。
假设几个场景来说明Gas的使用:
用户设置Gas Limit,那么在交易过程中,如果你的实际消耗的Gas used
用户设置Gas Limit,那么交易过程中,如果你的实际消耗的Gas used > Gas Limit,那么矿工肯定发现你的Gas不足,这个交易就无法执行完成,这个之后会回滚到执行之前的状态,这个时候矿工会收取Gas Price*Gas Limit。
区块的Gas Limit,区块中有一个Gas上限,收纳的交易会出现不同的用户指定的Gas Limit。那么矿工就会根据区块限制的Gas Limit来选择,“合理”选择打包交易。
具体交易
以太坊上交易可以是简单的以太币的转移,同时也可以是智能合约的代码消息。列个表格看下交易的具体内容:
代码内容
from交易发起者的地址、不能为空,源头都没有不合理。
to交易接收者的地址(这个可以为空,空的时候就表示是一个合约的创建)
value转移的以太币数量
data数据字段。这个字段存在的时候表示的是,交易是一个创建或者是一个调用智能合约的交易
Gas Limit字面理解就是Gas的限制,限制是必要的,没有限制就没有约束。这个Gas Limit是有两个意思的。首先针对单个交易,那么这个表示交易的发起者他愿意支付最多是多少Gas,这个交易发起者在发起交易的时候需要设置好。还有一个是针对区块的Gas Limit,一个单独的区块也有Gas的限制。
Gas Price一个Gas Price就是单价,那么你的交易费用=Gas*Gas Price,然后以以太币来ether来支出。以太坊默认的Gas Price是1wei。
nonce用于区别用户发出交易的标识。
hash交易ID,是由上述的信息生成的一个hash值
r、s、v交易签名的三部分,交易发起者的私钥对hash签名生成。
交易分三种类型
转账:简单明了的以太坊上的以太币的转移,就和比特币类似,A向B转移一定数量的以太币。这种交易包含:交易发起者、接收者、value的数量,其余类似Gas Limit、hash、nonce都会默认生成。所以你会看到一段代码:
web3.eth.sendTransaction({ from: "交易发起者地址", to:“交易接收者地址”, value: 数量});
智能合约创建:创建智能合约就是把智能合约部署到区块链上,那么这个时候to是一个空的字段。data字段则是初始化合约的代码。所以看到代码:
web3.eth.sendTransaction({ from: "交易发起者地址", data: "contract binary code"});
智能合约执行:合约创建部署在区块链上,那么执行就是会加上to字段到要智能合约执行的地址,然后data字段来指定调用的方法和参数的传递,所以看到代码:
web3.eth.sendTransaction({ from: "交易发起者地址", to:“合约执行者地址”, data:“调用的方法和参数的传递”});
以上大致就是交易的类型。
交易的确认
和比特币一样,以太坊的交易需要后续区块确认后,节点同步后、才能确认。简单理解就是多挖出一些区块来,通过验证后这一笔交易才算确认,以太坊时常会出现拥堵的情况,所以有时候需要等待确认。
转账、合约交易流转
首先交易发起者A发起一笔转账交易,那么发送的格式如下:
代码具体内容
from交易发起者的地址
to交易接收者的地址
value转移的以太币数量
GasGas的量
Gas PriceGas的单价
data发送给接收者的消息
nonce交易编号
节点验证:以太坊网络中会有节点收到A发送出来的消息,那么会去检查这个消息格式时候有效,然后计算Gas Limit。这个时候回去验证A的以太坊余额,如果余额不足,那么就返回错误,不予处理。一旦A发送的消息通过了节点的验证,那么节点就会把这个交易放到交易存储池中。并广播到区块链网络。
矿工验证:那么写入区块链必须要矿工打包,矿工在接收到A发出的交易,会和其他交易一块打包,普通转账交易打包即可,那么合约调用的交易则需要在矿工本地的EVM上去执行调用的合约代码,代码执行过程中检查Gas的消耗。一旦Gas消耗完了,那么就回滚,如果Gas足够那么返回多余的Gas。并广播到区块链网络。
其余节点:重复节点验证步骤,然后合约也会在本地EVM上执行验证。通过验证后同步区块链。
首先还是发起者A发起一个创建智能合约的交易请求。格式如下:
代码具体内容
from交易发起者的地址
to0
value转移的以太币数量
GasGas的量
Gas PriceGas的单价
data合约代码
nonce交易编号
节点验证:
以太坊网络中会有节点收到A发送出来的消息,检查交易是否有效,格式是否正确,验证交易签名。计算Gas,确定下发起者的地址,然后查询A账户以太币的余额。如果余额不足,那么就返回错误,不予处理。一旦A发送的消息通过了节点的验证,那么节点就会把这个交易放到交易存储池中。并广播到区块链网络。
矿工验证:
矿工将交易打包,那么会根据交易费用和合约代码,来创建合约账户,在账户的空间中部署合约。这里说下合约地址(智能合约账户的地址是有发起者的地址和交易的随机数作为输入,然后通过加密算法生成)。交易确认后会把智能合约的地址返回给A。且广播到区块链网络。
其余节点:
重复节点验证步骤,验证区块,在节点的内存池中更新A的智能合约交易,同步区块链,且智能合约部署在自己本地的区块链中。
㈢ 计算以太坊中 发送交易/调用合约方法 需要消耗多少gas
普通交易所需的gas
> eth.estimateGas({from:eth.accounts[1], to: eth.accounts[2], value:50000000000000})
21001
> eth.gasPrice
20000000000
如上,显示这笔account[1] => account[2] 的交易需要21001 gas, 当前的gasPrice为 20000000000,下面来验证一下
给账户1解锁,发送这笔交易,并开启挖矿打包
㈣ 以太坊的Gas是怎么回事
就是取它的本意,油费,和汽车的油费是一个意思。
每一笔转账的后面都有矿工帮你完成的,就是支付给矿工的手续费。
㈤ 有没有ETH以太坊一键转账工具
没有以太坊一键转账工具,而且一键转账也不安全啊,数字货币交易也是属于金融安全问题,真有这工具还真用啊
㈥ 计算以太坊中 发送交易/调用合约方法 需要消耗多少gas
普通交易所需的gas > ethestimateGas({from:ethaccounts[1], to: ethaccounts[2], value:50000000000000}) 21001 > ethgasPrice 20000000000 如上,显示这笔account[1] => account[2] 的交易需要21001 gas, 当前的gasPrice为 20000000000,计算以太坊中 发送交易/调用合约方法 需要消耗多少gas
㈦ 为什么以太坊转账会退回部分
以太坊区块链中,当一笔交易经由某个节点或钱包产生时,这笔交易需要被传送给其它节点来作验证。做法是将交易资料经由数位签章加密并经由Hash函数得出一串代表此交易的唯一Hash值后,再将这个Hash值广播(Broadcast)给以太坊区块链网络中的其它参与节点进行验证。而这些信息存储在一个有一定储值区块中,当占用内存过多时,多余的转账会被原路返回,此时用户需再进行一次操作,将其转入下一个区块中给予验证。最近以太坊链上类似错误出现得比较频繁,如前几天出现多次转账额与手续费颠倒,转账0.5eth竟扣掉1万多个eth的手续费。
㈧ 请教以太坊合约帐号转账问题
随着近期以币种价格的大幅震荡,圈内逐渐兴起一种新职业,俗称“搬砖”,这些搬砖的搬运工们每天关注各大比特币和以太坊交易,一旦发现差价,即从价低的买入比特币和以太坊,转到价高的售出,从中牟取差价利润。
随着比特币和以太坊交易数量的不断增加,据不完全统计,当前国际主流的比特币交易数量逐渐增多,和A股等股票市场不同,股票的价格是全球统一的,比如科技的股价,只有在香港股市拥有唯一定价。而比特币和以太坊的价格却由交易本身决定,由于以太坊交易数量众多且交易量大小不一,交易价格极有可能出现落差,价格落差较大时甚至可达以太坊价格的8%~10%。而此时,就让许多搬运工有了搬砖的机会,所谓搬砖的“砖”,指的就是以太坊,搬运工从价低的购入以太坊,然后转移至价高的出售,以获取差价。
比如最近比特币和以太坊市场大幅波动,就是搬砖的好时机。一般就比特币来说,只要一个比特币和以太坊有5-50元的差价,就很值得搬砖。不过搬砖也需要一定的转账成本和人力成本,有时候,从价低的购入的比特币,提现并不会这么快到账,为了加快成交速度,降低价格波动的风险,搬运工一般有一笔周转的币,比如从A购入比特币和以太坊以后,马上从自己的钱包转移等量的比特币到B出售,完成双边交易后,再逐渐把资金提款到自己的钱包中,等待下一次搬砖的时机出现。如果两个你都有现金和比特币和以太坊,那是最安全的,你可以在低价的挂好买单,在高价挂号卖单,然后同时交易,交易可以在几秒之间完成,此时搬砖几乎没有什么风险,获取的是纯利润。在比特币价格波动较大的时候,部分的价格反应没有这么快,这时的搬砖利润是最高的。
2.采用大型高端云计算,在全世界币种交易上做空或做多(低吸高抛),在0.28毫秒之内完成交易,以浮动交易点无上限做增值,确保每个者的分红增值。
3.他们用参加者的钱赚取利润,然后分50%给参加者,周一到周五分给参加者,周末不分配。赚多少这取决于你大套餐还是小套餐。
有什么问题可以私信我。V:185加上654和39360
㈨ 以太坊ETH怎样批量转账
bitpie.com钱包有直接批量转账工具,方便的很。