欧易OKX下载
欧易OKX交易所,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。
每一个接触加密货币世界的人,如果想要获得收益都不可避免需要一场加密货币买卖教学,买卖与交易同理,那么交易是什么?在以太币的世界里,它是指一段数据,由外部账户持有人签名发起。交易内包含了一个消息或一个新的自治实体(智能合约),交易将会包含在区块链的区块中留存。那么交易有什么特性?流程如何?快来一起学习吧。
一、交易的特性是什么?
1、“原子性”
如果将区块链看作是一个巨型分布式数据库,一次交易就是执行对该数据库的一次修改操作。例如某智能合约在执行的过程中修改了一个或者数个外部账户的余额。这些修改操作要么完全执行,要么完全不执行,它不会部分执行,部分不执行。哪怕智能合约在执行某些操作后出现异常而失败,之前执行成功的部分操作也会被“回滚”来撤销影响,这就叫“原子性”。
2、“串行”执行
每一笔交易都会影响世界状态的一小部分,它们发生影响的顺序不是同时的,而是一个接一个的,单一时刻只有一个交易被执行,不会有并行出现。哪怕归入了同一个区块的数笔交易,在以太坊虚拟机上也有先后的执行顺序,并不会在虚拟机中多线程并发执行。
3、进入区块链的顺序不确定
当全球的数万名用户向区块链中的节点发送交易时,交易最终进入区块链的顺序并不取决于发送的前后顺序。消息在因特网上广播扩散的快慢,交易费用的高低等诸多因素影响着交易最终进入区块链的顺序。负责记账的矿工因为受到共识规定的约束,所以打包出来的区块内含的多个交易也可能有顺序上的排列组合的考量。某个矿工成功打包的区块有可能不能入选最终的区块链,导致用户的交易没有在第一时间进入区块链,此时用户交易会临时等待,直到进入被另一个矿工捕获被打包。
我们举一个例子:某用户发出的一笔交易A,同时被三个矿工捕获,并且和B、C、D、E交易自由地组合在一起执行打包形成一个区块。三位矿工分别选取了任意的三条交易进行组合打包,最快被打包完成的区块胜选并进入区块链,成为最新的区块,其余两个矿工的打包完成的区块则未能入选。在这种情形下,交易A何时进入区块链,是否能在交易B之前,是不确定的。
二、交易的流程是怎样的?
交易的生命周期从用户通过某节点/软件广播该交易为起点,经过网络扩散、矿工挖矿记账、被共识算法选入最终区块链条,到达终点。
客户端软件在收集完交易信息,组织成相应的结构体,需要使用用户的私钥来签名该交易。交易后编码为一个公开消息,通过节点网络发出并逐渐扩散到网络中各个节点。挖矿节点和众多其他普通节点同时收到该消息,矿工将其暂时缓存起来。若矿工决定将该交易打包入某区块,则执行该消息内容并获得执行结果。矿工把打包好的区块(包含该交易)广播到网络中,参与共识算法挑选。区块进入最终的区块链被永久保存。
若该笔交易费过低,则可能被调低优先级,在矿工的交易等待池(pending transaction pool)中等待较长的时间,或者在等待时,被其他高交易费的交易挤出等待池子。若所调用的智能合约在执行时Gas花费过高,超过用户在交易中指定的的Gas上限,则会导致交易失败。
实际世界里,在以太坊网络的拓扑结构中,普通的节点运行着不同厂家出品的节点程序,比如Geth、Parity等。节点之间通过“广播”的形式互相传递信息,用户的交易请求,在初始阶段经由某一个联网节点传递入网络中。
三、结语
看完以太坊中的加密货币买卖教学你有什么收获?以太坊上最常见的交易有以太币转账、智能合约调用、智能合约创建。这三种交易在交易发送时经历的步骤是一模一样的,区别仅在于填写交易时选择传递数据data还是传递价值value。传递数据的即为合约相关操作,传递价值即为转账操作,接下来大家就在学习与实践中继续探索吧。
欧易OKX下载
欧易OKX交易所,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。