随着市场的发展,虚拟币的买卖热度持续高涨,越来越多的人投身于区块链交易。然而,许多人对于交易的特性和流程并没有深入了解,导致投资风险加大。在本文中,我们将细致讲解虚拟币交易时间以及特性,帮助你更好地把握投资机会。
一、虚拟币交易时间有限制吗?
许多在证券市场沉浮的老手都知道,证券股票开盘收盘有固定的时间,交易所会在规定时间之外停止开放。但是不同于传统的投资手段,虚拟币的交易时间完全没有规定,只要你有能力,7*24时时刻刻全球各地都可以自由交易,没有任何的限制。
二、交易的特性是什么?
1、无序性
当全球的数万名用户向区块链中的节点发送交易时,交易最终进入区块链的顺序并不取决于发送的前后顺序。消息在因特网上广播扩散的快慢,交易费用的高低等诸多因素影响着交易最终进入区块链的顺序。负责记账的矿工因为受到共识规定的约束,所以打包出来的区块内含的多个交易也可能有顺序上的排列组合的考量。某个矿工成功打包的区块有可能不能入选最终的区块链,导致用户的交易没有在第一时间进入区块链,此时用户交易会临时等待,直到进入被另一个矿工捕获被打包。
我们举一个例子:某用户发出的一笔交易A,同时被三个矿工捕获,并且和B、C、D、E交易自由地组合在一起执行打包形成一个区块。三位矿工分别选取了任意的三条交易进行组合打包,最快被打包完成的区块入选并进入区块链,成为最新的区块,其余两个矿工的打包完成的区块则未能入选。在这种情形下,交易A何时进入区块链,是否能在交易B之前,是不确定的。
2、相对独立
如果将区块链看作是一个巨型分布式数据库,一次交易就是执行对该数据库的一次修改操作。例如某智能合约在执行的过程中修改了一个或者数个外部账户的余额。这些修改操作要么完全执行,要么完全不执行,它不会部分执行,部分不执行。哪怕智能合约在执行某些操作后出现异常而失败,之前执行成功的部分操作也会被“回滚”来撤销影响,这就叫“原子性”。
3、“串行”执行
每一笔交易都会影响世界状态的一小部分,它们发生影响的顺序不是同时的,而是一个接一个的,单一时刻只有一个交易被执行,不会有并行出现。哪怕归入了同一个区块的数笔交易,在以太坊虚拟机上也有先后的执行顺序,并不会在虚拟机中多线程并发执行。
三、交易的流程是怎样的?
交易的生命周期从用户通过某节点/软件广播该交易为起点,经过网络扩散、矿工挖矿记账、被共识算法选入最终区块链条,到达终点。
客户端软件在收集完交易信息,组织成相应的结构体,需要使用用户的私钥来签名该交易。交易后编码为一个公开消息,通过节点网络发出并逐渐扩散到网络中各个节点。挖矿节点和众多其他普通节点同时收到该消息,矿工将其暂时缓存起来。若矿工决定将该交易打包入某区块,则执行该消息内容并获得执行结果。矿工把打包好的区块(包含该交易)广播到网络中,参与共识算法挑选。区块进入最终的区块链被永久保存。
若该笔交易费过低,则可能被调低优先级,在矿工的交易等待池(pending transaction pool)中等待较长的时间,或者在等待时,被其他高交易费的交易挤出等待池子。若所调用的智能合约在执行时Gas花费过高,超过用户在交易中指定的Gas上限,则会导致交易失败。
实际世界里,在以太坊网络的拓扑结构中,普通的节点运行着不同厂家出品的节点程序,比如Geth、Parity等。节点之间通过“广播”的形式互相传递信息,用户的交易请求,在初始阶段经由某一个联网节点传递入网络中。
四、总结
总的来说,虚拟币交易时间没有限制,它在区块链上交易的特性包括无序性、相对独立和“串行”执行,希望本文可以帮助大家更好地理解和把握投资的机会。