区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > ADA > 正文

区块链:创建和签名以太坊交易_PRI

作者:

时间:

本文作者为JoseAguinaga,由闵敏和阿剑翻译及校对。

在我们之前的文章中,我们已经讲解了创建私钥的作用以及如何创建一个私钥。具体来说,在第一部分,我们知道了密钥就是一个很大的随机数而已,没有别的;而在第二部分,我们学习了如何用一个很大的随机数来创建一个能够持有资产的以太坊钱包。在这最后一部分里,我们要学习如何使用这样的随机数来签名、操作你自己的虚拟资产。

一.交易——旧的出去,新的进来

区块链的交易与银行交易没有特别大的区别。今时今日,大部分银行都支持你用数字手段完成大部分操作:转账给别人、给自己的储蓄账户存钱,乃至借贷,等等。互联网技术让我们可以完成大部分操作,而无需亲自到场。

尽管这些操作对你来说很容易,但对银行来说,既不容易,也不便宜。在幕后,有多个第三方参与你的银行操作的结算、验证和确认。如果这些还不够,为了符合银行业的规范条例,金融机构还必须执行繁琐的措施来确定你就是那个有权操作你的账户的人。

所有这些层面都会产生繁重的成本,这就是为什么Visa和万事达这样的网关在每次提供服务时都要收取费用的原因,通常是根据转账额来收取。而且,当然,任何时候你发起的任何操作,都可以被冻结,乃至被撤销。

在2017年,欧盟要求金融机构实现PaymentServicesDirective2(Directive2015/2366),也就是银行必须实行包括SCA在内的安全条例。由于PSD2+SCA的成本,在2019年3月,也只有59%的欧洲银行成功满足了监管要求,让最后通牒时间又推迟了一年。

Patrick Hansen:以欧元计价的稳定币的未来是光明的:金色财经报道,Circle欧盟战略和政策总监Patrick Hansen在巴黎的EthCC上表示,以欧元计价的稳定币的未来是光明的。?美元可能会保持其先发优势,但欧元稳定币将看到越来越多的现实世界用例出现,使其超越目前微薄的市场份额。截止目前,以欧元计价的代币目前占稳定币市场的0.3%,价值3亿美元。与此同时,欧元占据传统货币体系的20%。

此外,Hansen在谈到整个加密货币资本市场时表示,目前正在从投机转向实用。在汇款、企业对企业交易和其他情况下越来越多地使用稳定币表明了这一点,用户将希望出于这些目的使用当地货币的稳定币。将欧元稳定币纳入现有的欧洲支付系统也将促进其使用。[2023/7/18 11:00:50]

二.区块链交易的规则有所不同

因为公链的分布式和免许可特性,任何人都可以在网络中签名和广播交易。基于区块链的特点,你需要划出一部分资金作为手续费,好让你的交易能被“挖出”,但手续费的高低则要看用户对使用区块链的需求,与转移价值的多少无关。

举个例子,用一个以太坊账户给另一个账户转账1美元,和转账100万美元,要交的手续费是一样的。只要手续费一致,这两笔交易在矿工那里是一视同仁的,都会被打包到有效的区块中,向全网传播。

区块中包含了一系列的交易,而且区块是一个接一个,只增不减的。因为新区块的部分数据是来自上一区块的,这些“区块”就会形成一个接一个的有序链条,这就是“区块链”这个名字的由来。

Binance将于7月13日下架QTUM、ZEN等七个币种逐仓杠杆交易对:7月7日消息,根据官方公告,Binance将于北京时间7月10日14点暂停ATA/BUSD、FORTH/BUSD、JST/BUSD、QTUM/BUSD、SUN/BUSD、ZEN/BUSD、ZRX/BUSD逐仓杠杆借贷;7月13日14点将对上述七个币种持仓用户进行平仓、自动结算并下架逐仓杠杆交易对。[2023/7/7 22:24:19]

区块链还使用了一种易于处理和验证的数据结构,叫做“默克尔树”,这也是为什么要伪造区块链上的某一笔交易或者某一个区块几乎不可能的部分原因——实在是太容易鉴别了。

此外,区块链交易不需要任何权威团体的验证。要想发出一笔有效的交易,只需使用对应于所在区块链系统的数字签名算法的私钥,为交易生成一个签名即可。以太坊和比特币区块链使用?ECDSA?算法,而Cardano和Polkadot则使用?EdDSA?算法。

这两张算法都依赖于椭圆曲线密码学,但后者使用了扭结的Edwards曲线,是一个对通用数字签名的提升。任何账户都能用私钥签名来发起交易,但只有余额足够的地址所发起的交易才能被成功执行。

椭圆曲线签名算法基于“离散对数问题”,其经典形式是,给定一个整数k,使得a^k≡b(modp),其中p是质数,求k。不像其它公钥密码学算法比如RSA,仅基于大指数的因式分解问题的攻击目标)。

Coinbase首席法务官:呼吁美国制定一个明确规则手册来实现加密承诺:6月6日消息,Coinbase 首席法务官今日早些时候在社交平台表示,其明天将在国会山就明确的加密规则和数字资产市场结构讨论草案的必要性向众议院农业委员会作证。届时他将呼吁美国制定一个明确的规则手册来实现加密的全部承诺。在制定反映这一新经济体系现实的规则和法律之前,加密从业者无法充分发挥使美国的金融体系更快、更公平和更实惠的潜力。[2023/6/6 21:19:18]

今天还没有发现计算k的高效方法。这也是虽然不同的区块链使用的曲线和签名算法有所不同,但都基于椭圆曲线的原因。

一旦一笔交易有了签名、随签名一起发到了网络中、被打包到了一个成功挖出的区块中,那这笔交易就不能再撤销了。不像银行操作,成功打包上链的交易无法撤销,也无法恢复到还没执行这笔交易的状态。大部分公链都让交易的内容完全可见,所以这些交易所使用的区块链就是这些资产的终极真相来源。

三.以太坊交易的结构

现在我们已经完全理解了区块链交易的特性,我们已经准备好了,可以去创建一笔以太坊交易了。我们从一笔简单的转账交易开始:

转账0.1ETH给地址0x17A98d2b11Dfb784e63337d2170e21cf5DD04631。

交易可以用JavaScriptObjectNotation格式来表达,在创建这笔交易时,我们可以在?MyEtherWallet?上看到这些信息:

澳大利亚证券与投资委员会主席将对某些“高风险”加密产品采取行动:11月3日消息,澳大利亚证券与投资委员会(ASIC)主席Joe Longo在ASIC年度论坛的开幕致辞中表示,该委员会将利用现行法律监管“风险和复杂产品”,以保护消费者。加密货币和加密货币生态系统继续给监管机构和决策者带来挑战和机遇,加密货币投资的风险“通常不透明”,资产高度波动、固有风险和复杂性。虽然Joe Longo的警告也包括非加密金融公司,但Longo特别针对基于加密的金融产品的发行人,如果他们的产品不能通过ASIC的要求,就要提醒他们:发行人往往寻求向非常广泛的消费者推销高风险和利基投资产品,在某些情况下包括基于加密的产品。(Cointelegraph)[2022/11/3 12:13:06]

这里马上会跳出几个值:nonce、gasLimit、gasPrice、data?和?chainId。没有一个跟交易的内容有关,但它们都跟交易的执行方式有关。这是因为,为了在以太坊上发送一笔交易,你要事先定义好一些额外的参数,来告诉矿工如何处理你的交易。

交易的两个参数都跟“gas”有关。Gas本身是一个单位,用来衡量一笔交易的计算负担,作为给以太坊矿工支付的依据。一个参数是?gasPrice,表示用户愿意为每单位的gas支付的单价,以Gwei为单位;

另一个是?gasLimit,是用户指定自己的交易可以耗用的最大Gas数量。这些参数可以用以太坊节点来估算出一个合理的数值,一般来说都由钱包服务商帮你填好了。

Web3游戏初创公司Project Twelve完成800万美元融资,MetaApp等参投:6月28日消息,Web3游戏初创公司Project Twelve(P12)宣布完成800万美元融资,MetaApp、Project Galaxy、Primavera Ventures、CyberConnect、CCV、InfinityLeague、Smrti Lab等参投。

有了新融资,创始团队将能够扩展他们在使游戏创作易于访问和游戏经济可持续方面的愿景。P12将建立完整的基础设施和工具,使游戏创作变得容易,并实施一套经济机制,使游戏经济可持续发展。(Investing News)[2022/6/28 1:37:05]

以太坊中的价值通常都以wei为单位。wei是以太坊区块链上最小的价值单位,是ETH的1/10^18。GasPrice则通常以gigawei为单位。

GasPrice在以太坊网络上是个复杂的问题,因为它经常会浮动。EIP-1559是一个最近通过的网络变更,可能会在今年底推出,可能会缓解GasPrice的剧烈波动。除了wei和Gwei,还有其它用于表示价值的单位。要了解这些单位,请访问eth-converter.com?

(编者注:作者本文出版于2021年4月。现已确定,以太坊核心开发者决定在2021年8月的“伦敦”升级中包含1559。1559对用户体验的改变体现在,用户不再直接指定GasPrice,相反,要指定两个数值:MaxFeePerGas和MaxPriorityFeePerGas,前者表示你愿意为单位Gas支付的最大价格,而后者表示你愿意为单位Gas支付给矿工的最大价格;

实际上你为Gas支付的单价是min(MaxFeePerGas,MaxPriorityFeePerGas+BaseFee)而BaseFee是一个随网络的上一个区块的满载率自动波动的一个数值。矿工得到的单价是你的Gas单价减去BaseFee;而BaseFee部分则会被销毁。

值得注意的是,在可预见的未来,用户仍然可以使用传统的交易格式来发送交易,但这种格式可能最终会在协议层被废弃,即,本文所讲解的以太坊交易的格式,有一天可能会过时。)

除了gas参数,你还需要指定要在哪个网络上执行这笔交易。以太坊网络既包括chainId为1的主网,也包括其他测试网络。你也可以在测试网上发送交易,而且不会损失任何金钱,因为测试网的ETH可以用免费获得。

一般来说,如果你要部署一个dApp,那么第一步应该是在本地网络上调试它,然后是部署到测试网上,最后一步才是部署到主网上。

最后,也很重要的是,我们还有?data?和?nonce?。如果你想要在交易中添加额外的数据,你就需要用到?data?字段。在你跟智能合约交互时,data字段可以包含你给合约的指令。

而?nonce?则是以太坊网络用来跟踪你的账户状态、避免多重支付和重放攻击的一个数值。

当你的交易因为gasfee太低而暂时无法打包的时候,你可以使用同一个nonce但指定更高的gasprice来“替换”你的那笔卡住的交易;一旦这笔“更快”的交易得以打包上链,你原来签名的那笔交易就会被以太坊的节点抛弃掉了。

四.签名一笔以太坊交易

形成了上面说的JSON编码,我们就可以往下走,开始签名的流程了。如我们所述,这个过程要用到ECDSA算法。这里我们要用到一个常用的库?ethers.js,这个代码库里面已经封装好了在secp256k1曲线上使用ECDSA算法生成签名所需的椭圆曲线。

你可以使用?Runkit?在线测试一下这段代码,把它跟?MyEtherWallet?上的结果比对一下。这里用的私钥是:

0x616E6769652E6A6A706572657A616775696E6167612E6574682E6C696E6B0D0A

结果是:

0xf86b80843b9aca008252089417a98d2b11dfb784e63337d2170e21cf5dd0463188016345785d8a00008025a02e47aa4c37e7003af4d3b7d20265691b6c03baba509c0556d21acaca82876cb4a01b5711b8c801584c7875370ed2e9b60260b390cdb63cf57fa6d77899102279a0。

表示的是你已经签过名的交易,可以发送到以太坊网络中了。你可以直接使用MEW,或者Alchemy的在线工具Composer,把你的签名交易传递到以太坊网络中。具体的原理是使用?eth_sendRawTransaction?这种?RPC方法与一个以太坊节点交互。

五.现在签名,晚点再发

上面讲的这个签名过程可以称为“离线签名”。因为我们是先创建好签名,然后再找办法把它广播出去的。但许多在线的钱包都把签名和广播合并在一起,签名之后立即广播。不过,离线签名对许多应用来说都是非常实用的。

所谓状态通道,就是一个监控两者账户的智能合约,根据这两个账户提交的签名交易,在双方之间完成资金结算。离线签名在去中心化交易所上也是一种常用的实践:买单和卖单都是存储在链下的,只在撮合成功时才把两笔交易上链结算。在Layer2方案如zkRollup和OptimisticRollup里面也扮演着重要角色。

使用Portis,你可以使用签名交易与?GasStationNetwork(GSN)?互动。Portis已在GSN中订阅了一组中继者,他们可以帮你的交易支付gas费。

这些中继者关联着一个去中心化的合约,Portis可以请求他们中继你的交易。你仍然需要签名你的交易,但Portis会帮你完成其他的一切,这样,即使你用的是一个全新的钱包、没有余额来支付gas费,也依然能够跟智能合约交互。在我们的?cryptopuppers?应用上尝试一下吧!

如果你想了解更多,这里有GSN的规范。还有,你可以看到来自TabooKey团队和Portis心爱的cryptopuppers应用的联动演示。

讲完了签名的过程,我们这个讲解私钥的系列就要跟大家说再见啦。如果你一期不落,应该能够理解以太坊账户是怎么来的、以太坊的交易是怎么一回事了。

原文链接:https://medium.com/portis/part-three-creating-and-signing-ethereum-transactions-e9cca44d7e2d

标签:SYN区块链BITPRISynth sEUR区块链运用的技术中不包括哪一项BitcoinSoVPRIVI币

ADA热门资讯
以太坊:Dragonfly:NEAR 不是以太坊杀手,它打算协作并增强以太坊_ETI

本文发于链闻,作者为HaseebQureshi,DragonflyCapital管理合伙人,并由PerryWang编译.

DEFI:Synthetix深度研报:无限流动性的衍生品交易市场_defi币价格涨跌原理

本文来自MintVentures,作者李雨轩。 第一节研报要点 —— ▌1.核心投资逻辑 Synthetix目前值得积极关注,主要有以下原因:去中心化衍生品交易赛道空间巨大,对照去中心化现货交易.

SYN:高倍杠杆退场进行时_SNX

本文系链捕手原创文章,作者为RichardLee。在缺乏监管的恶性竞争下,加密衍生品交易所们将杠杆倍数从20倍抬升至100倍、125倍,乃至150倍,尽管自身从中获利丰厚,但对于加密市场的健康度.

GAS:对话Colony:DAO近乎成为投票的代名词,但这并不可取_Colony

CatherInsight——专注于海外市场的发展趋势与动态,一方面传递国际上一线从业者的所思所想所行,另一方面建设中国读者了解海外市场的入口.

NFT:蚂蚁链1.6万张敦煌概念NFT皮肤被疯抢!支付宝或诞生全球最大NFT交易平台?_snft币西班牙

本文来源于巴比特,作者为王佳健。6月23日一早,朋友圈被2款NFT皮肤刷屏了,分别是敦煌飞天和九色鹿皮肤。全球限量发行,仅16000张.

RCOIN:新一代Libra开放公链Starcoin正式启动主网上线,此前获星空、神鱼等人投资_Ixircoin

本文来源于Starcoin官方。2021年5月15日,Starcoin社区邀请区块链行业媒体、生态伙伴、投资人,以及编程业界的技术大拿,共同参与并见证Starcoin主网发布前的启动仪式.