当前位置:首页 > 物联网 > 区块链
[导读] 要了解以太币(ETH)或是比特币(BTC)是如何运作,从一笔交易来切入是很好的著力点,因为几乎所有的概念与原理都是围绕着交易来发生的。 本篇文章将从一笔普通的ETH 交易与一笔BTC 交

要了解以太币(ETH)或是比特币(BTC)是如何运作,从一笔交易来切入是很好的著力点,因为几乎所有的概念与原理都是围绕着交易来发生的。

本篇文章将从一笔普通的ETH 交易与一笔BTC 交易来检视架构上的异同,借以了解各自之运作原理。

下方是一笔在 Etherscan(以太坊的区块浏览器,任何在链上发生的交易都可以在Etherscan一览无遗)上随机撷取的交易,我们先来解析一下这笔交易内容包含的资讯。

以太坊上的一笔普通交易

第1点「交易杂凑值」,即这笔交易的id,是唯一识别值,如我们的身分证字号一般。这个值是由这笔交易的所有资讯杂凑而成。

第2点「所在区块」,为这笔交易位在的区块,亦即「区块高度」。后方灰标签中的「13 Block Confirmations」代表在这个区块之后已经接了12个区块(包含本区块共有13个区块已经确认)。因为有可能有分叉的问题,故通常在一笔交易出块后,要等到5个以上的区块确认,才较能确保本交易是在最长的区块链之上,相关资讯不会再被更动。

第3点「时间戳记」,为矿工打包本笔交易上链的时间,时间以UTC(世界协调时间)表示,和台湾有8个小时的时差。

第4点「来自地址」,表示本笔交易是从哪个地址送出。

第5点「接收地址」,表示本笔交易的金额将被哪个地址接收。

第6点「交易金额」,表示本笔交易中所转移了多少颗以太币,后方会以检视时的时价来换算。

第7点「手续费」,在以太坊中进行交易,必须经由矿工运算打包后上链,故需要支付给矿工手续费。一笔一般的以太坊转帐交易会使用21,000的Gas(燃料),可以理解成点对点网路要花多少资源去做这笔交易的运算。

[注]以太坊交易手续费公式:

Tx Fee(7手续费)= Gas Used(7-2燃料用量) * Gas Price(7-3单位燃料价格)

用比喻来说明的话,可以理解成台北开车至台中的油钱:「油钱= 使用公升数* 每公升油价」

而Gas Limit 比较像是出发前你要加多少公升的油,如果加的油不足你旅程需要的油,那这趟旅程(这笔交易)就会失败。

发送交易时,部分钱包的Gas Price & Gas Limit 是可以自己设定的,Gas Limit 基本上只要大过交易所需的用量,不要交易失败即可。比较需要注意的是,在以太坊如果因为Gas Limit 设不够等原因交易失败,那么手续费还是会被收取,不会退回。(因为矿工还是花资源下去帮你算了)

因为交易的Gas Used是矿工实际在运算时才会被决定的,故Gas Price成为决定要支付给矿工多少手续费的决定因子。原则上手续费越高会越优先被矿工打包上链,交易的等待时间会越短。由于以太坊上交易量会随时间改变,欲知道当前即时状况以决定手续费要设多少,可以到ETH gas staTIon查看。

第8点「Nonce」,目前比较没有一个比较统一的翻译,我个人觉得可以理解为序次,前方的值“22954”表示这个「来自地址」截至本交易为止,已发送了22954笔交易。

后方的值“210”则表示这笔交易是在这个「所在区块」中的第210笔交易。

第9点「额外注记」,则是可以写上额外的文字作为这笔交易的注记,也会牵涉到以太坊与比特币最大的不同处之一:智慧合约,我们会在后续详述。

介绍完了以太坊的一笔交易,接下来我们要先来谈谈以太坊和比特币的架构,才能来介绍比特币的交易。因为比特币的交易长相比较特别一些,不像以太坊这么直觉。

以太坊的架构类似银行帐户,有资料库在记录每个帐号和帐号的余额,透过交易来更新。如下图所示,地址14c5f8ba在一笔交易中发送了10个eth给地址bb75a980 ,于是在交易过后双方的以太币数量便被更新了。

比特币的UTXO模型

然而,比特币是采用了另外一种,叫作 UTXO(Unspent TransacTIon Output,TransacTIon简称Tx)的架构,如下图所示:

我们可以想像比特币是一坨一坨的钱堆,我们的地址比较像是能够操控这些钱堆的钥匙。可以把钱堆凑在一起做交易;也可以把一坨钱堆拆开来交易。

每一笔交易可以有多个input(钱堆),交易后也可以变成一或多个新的钱堆。我们直接透过 Blockstream Bitcoin Explorer(比特币的区块浏览器,任何在链上发生的交易都可以在这一览无遗)上的随机一笔比特币交易来一探究竟:

比特币的一笔普通交易

可以发现,这笔交易动用了三个钱堆,推测可能是这三个钱堆的所有者想要发送四颗比特币给别人,但他想动用的前两个钱堆总额不足四颗,所以便再动用了第三个钱堆,凑足四颗发送给别人。而多出的比特币则会变为「Unspent (未花费)」的钱堆回到所有者身上。

打开Details 查看交易的细节后便可以发现,右下方的#1 钱堆中有标注Unspent 的字样,这笔钱堆在交易后会返回到发送交易的地址中。

此外,我们可以发现input 的三笔钱堆,总额是6.1446498 BTC;而output 的两笔钱堆,总额却只有6.1442275 BTC。中间有0.0004223 BTC 的差额,原因是比特币交易需要付手续费给帮忙验证打包上链的矿工,故这0.0004223 BTC 便是这笔交易手续费的金额。

UTXO的架构,其实是解决了Account model同一个地址(帐户)无法同时进行两笔交易的问题(Account model一定会有先后顺序,即Nonce)。以太币为了避免双重花费(Double Spending:同一笔钱被花了两次),会以Nonce来标注每一笔交易的先后次序,若同时发送多笔交易,一但前面有一笔交易卡住,则后面的交易也都会跟着塞住。

比特币UTXO的架构可以同时进行多笔交易,一个地址可以「同时」将多个钱堆发送给多个不同的地址,在同一个区块,甚至同一笔交易中完成。可以把多个钱堆同时进行交易,算是让交易变得更加有效率。(虽然比特币出一个块依然要10分钟⋯⋯)

至此,我们对于比特币和以太币的架构都有初步的认识了。接着便要来介绍以太币和比特币最核心的差异:智慧合约。我们再来重新检视一下比特币和以太币的交易。

还记得在以太坊交易的第9点中,有个额外注记的部分,我们在前面跳过了。其实这个部分不只可以作为额外注记,要在以太坊上发布智慧合约、操作智慧合约也都是要透过这个栏位来输入程式码,被矿工执行。

其实比特币也可以在交易中做额外注记,会标注在「OP_RETURN」的栏位中,但比特币这个额外备注的栏位并无法被解释为程式码,故在此便只能单纯作为交易的注记。

结论

1. 以太坊采用Account Model 架构;比特币则是采用UTXO 架构。

2. 以太坊同一个地址(帐户) 发送出的交易必有先后顺序之分(Nonce);比特币则是类似钱堆的架构。

3. 以太坊可以在「Input Data」栏位输入程式码,部署或操作智慧合约;比特币则只能在「OP_RETURN DATA」栏位单纯做备注。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭