比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

干貨 | 以太坊上發送交易的九種辦法_HER

Author:

Time:1900/1/1 0:00:00

編者按:本文來自以太坊愛好者,翻譯校對:Ray&阿劍,作者:AodhganGleeson,Odaily星球日報經授權轉載。本文的目的是為在以太坊生態中發送交易使用的各類技術,模式和機制提供一個指南。由于新技術層出不窮,本文也會隨之更新,所以可以認為是未完待續的一個狀態。針對這個公認的大課題,本文將包含以下內容:以太坊交易的簡明介紹Gas的用途和gas代幣元交易潛艇交易反事實合約實例化零確認交易批量轉賬基于短信的付款訂閱付款通過預言機合約為批量交易節省Gas使用一次性地址進行多筆付款背景知識

以太坊是一個基于賬戶的系統,目前有兩種賬戶:普通賬戶和合約賬戶。這兩種賬戶都有自己的以太坊地址,交易計數器Nonce和余額。合約賬戶還額外擁有不可變的代碼以及相應的存儲空間。這里有一篇介紹這些基本概念的好文章。一個以太坊交易包含以下關鍵字段:Nonce,或者說交易計數器,即該賬戶主動發起的交易數量,從0開始計數gasPrice,決定了該筆交易需要支付的Ether數量gasLimit,即處理該交易所允許的最大gas數量目標地址,即接受該筆交易的對象,如為空,則該交易會創建一個新的合約交易金額,即發送的Ether數量數據,即可以是任意的一條文本消息,也可以是某合約的一次調用或者創建新合約的一段代碼請注意,以上關鍵點在于沒有“交易發起”地址,因為該地址可以從生成該筆交易哈希值簽名的公鑰-私鑰對推導出來,其中交易字段采用了適當的RLP編碼。Gas用途和Gas代幣

站在一個很通俗的角度,區塊鏈可以看成是一個共享數據庫。每次從該數據庫讀取或者寫入數據都需要花費gas以防止類似垃圾郵件的惡意攻擊。具體來說,以太坊上執行的每個計算步驟都需要花費gas,以避免可能導致以太坊停擺的惡意攻擊。每個操作碼的gas開銷都在以太坊黃皮書中有說明。但操作碼的gas開銷仍是一個熱烈討論的活躍話題,以太坊的社區成員們正在研究引入存儲租金機制的可能性,甚至是gas和操作碼的動態定價方案。在以太坊區塊鏈中寫入數據很貴,比如創建一個非空的存儲單元需要花費20000gas,幾乎與一次簡單的Ether轉賬交易花費相當。作為緩解區塊鏈數據存儲暴漲的一種激勵方案,以太坊協議會為清空不再使用的舊存儲單元退還10000個gas。這個Ether的退還機制最多可以返還合約交易花費的一半gas。GasToken允許開發者簡單而高效地利用這個退款機制,即通過gas的代幣化,在gas價格低的時候囤貨,然后在gas價格高的時候花掉之前儲存的gas代幣。最近確實有在一些交易所發現了一個沒有正確設定交易gas上限的漏洞。攻擊方法很簡單:在交易所申請提現,然后將提現交易目標地址設置成一個攻擊者部署的惡意合約,其默認fallback函數就會趁機鑄造新的gasToken。元交易

數據:4900萬枚USDT從Bitfinex轉至Kraken:金色財經報道,數據顯示,北京時間今日18:38,49,000,000枚USDT(約合50,117,200美元)從Bitfinex轉至Kraken。[2023/8/6 21:28:16]

元交易是這樣一種發送交易的模式:發送方先對一個合法的以太坊交易簽名,然后把該交易和簽名通過鏈下傳遞的方式轉交給一個中繼方,該中繼方愿意承擔該筆交易的gas開銷并最終發送交易到以太坊網絡中。

-以太坊的技術宅們都喜歡抽象化-這種元交易模式很有用,因為發送方不再需要在發送賬戶中存有Ether,從用戶體驗角度這很有益處。我之前在這篇文章中提到過元交易及其在UX上的影響。元交易最終的目標地址一般都是某個以太坊合約,且在某種程度上,該合約知道,交易的簽名方并不是交易實際的發送者。以太坊交易API的msg.sender字段會返回中繼方的地址,但其很可能并沒有代表簽名方操作的權利,所以在這個場景下并沒有太大意義。因此,許多元交易依賴鏈上的簽名校驗來保證簽名方賬戶的確是在一份合適的白名單里面。潛艇交易

礦工搶跑現象在基于區塊鏈經濟的交易市場中是一個很難杜絕的老問題,即礦工可以對交易重新排序,隨意裁剪或者讓他們自己的交易插隊來獲利。潛艇交易試圖通過極強的保密特性來提供礦工搶跑問題的一個解決方案。不僅僅是隱藏交易金額,潛艇交易會嘗試完全隱藏該筆交易的存在。當然,如果一筆交易永遠都被隱藏著,那也就沒啥意思了。潛艇交易允許發送方在未來的某個時刻公開該筆交易,這也是稱其為“潛艇”交易的緣由。

火幣火星計劃首期結束:超5.5萬人次參與 UID436940364成首位太空候選人:據官方消息,7月20日,火幣火星計劃通過Huobi Live直播抽取首位太空候選人。最終,UID為436940364的幸運用戶成為火星計劃首位太空候選人,并獲得火幣180天現貨交易0費率超級權益。據悉,該計劃首期活動起始于6月14日,截止于7月15日。活動期間,累計55,190人次參與;太空NFT共鑄造20,359個(均由火幣補貼Gas費用,合計超數百萬枚TRX);火幣平臺各類獎勵發放20,107次,日均600余次。

此外,火星計劃第二期活動預計于7月底或8月初啟動。為圓普通人的太空夢,火幣于今年4月首次對外公布火星計劃——豪擲600萬美元推進商業航天與加密行業聯合,即通過系列活動篩選一位幸運用戶與火幣全球顧問委員會成員孫宇晨共赴太空之旅,帶領加密行業邁向更廣闊的星辰大海。[2023/7/20 11:07:19]

-通過使用潛艇交易,用戶的交易就不會被礦工搶跑-用戶提交一個包含加密承諾的交易,其中包含了用戶希望發送給目標合約的若干應用數據,并在潛艇地址中鎖定交易涉及的Ether或者代幣,其中潛艇地址與一個全新的地址無異。鎖定在該地址中的Ether或者代幣只有目標合約可以解鎖。通過在承諾交易中附加貨幣價值,我們保證了有效的經濟約束來防止某些惡意用戶選擇性地公開承諾。只要承諾交易被成功打包并經過足夠區塊確認,用戶就可以向目標合約公開其加密承諾,然后合約便會執行該筆交易中包含的應用邏輯。反事實合約實例化

Counterfactual一詞源于哲學和思辯中的一個概念。一條反事實陳述是一連串有理有據的推理以及相應的結論,但是該陳述的前提是有意與事實相反的。除開這個與事實不符的前提,整個推理鏈條是合理的,所以如果前提正確,最終結論也會是正確的。應用到區塊鏈交易場景,Conterfactual的邏輯不光會考慮區塊鏈當前的狀態,還會考慮如果某合約部署完成后,區塊鏈的狀態。

Tether CTO主張加密行業實體重點關注新興市場,而非歐美:6月8日消息,在美國對加密公司進行監管打擊之際,Bitfinex和Tether首席技術官Paolo Ardoino認為,該行業的實體應該把重點放在新興市場,而不是美國和歐洲。

此外,Ardoino還強調了他和他的公司對比特幣的忠誠:“比特幣和Tether都是由Bitcoiners創立的。我們本質上是Bitcoiners。例如,Bitfinex被認為是所有大型鯨魚所在的OG交易所。這是業界的普遍看法。”

Ardoino詳細闡述了Tether的作用,解釋了穩定幣如何使個人更容易進入數字時代。“通過利用美元,我們提供了一個更簡單的進入數字時代的門戶,”他說。

Ardoino還稱:“比特幣是唯一真正去中心化的加密貨幣。事實上,比特幣是唯一沒有受到任何監管機構攻擊的加密貨幣。”[2023/6/8 21:23:28]

更具體來說,在合約部署之前就獲取它的地址,這種模式被稱作反事實合約實例化,這個理論由L4發表在他們的“反事實狀態通道”論文中,并受到以太坊社區的廣泛歡迎。目前,新的合約地址由以太坊操作碼CREATE生成,并可通過合約的創建者賬戶地址以及創建者已經發出去的交易數量來明確決定,即sender和nonce字段會通過RLP編碼然后經過Keccak256哈希算法生成新的合約地址。EIP1014引入的SkinnyCREATE2操作碼更進一步,允許用戶與鏈上尚不存在的地址進行交互;雖然該地址上還沒有代碼,但可以保證它最終只可能包含通過一段特定的初始代碼生成的合約邏輯。與CREATE操作碼一般使用sender-nonce然后哈希得到合約地址不同,CREATE2操作碼使用的是如下地址生成公式:keccak256(0xff++address++salt++keccak256(init_code)))。這種模式,對于涉及與尚不存在的合約進行交互的狀態通道場景,尤其重要。它讓以太坊主鏈可以成為爭議層,并且不需要考慮合約部署的真實開銷。類似地,這種模式在已知功能將創建新地址的場景也可以使用,比如這里的借貸還款地址。零確認交易

南非儲備銀行促進金融機構對數字資產的友好行為,致力于明確數字資產監管:8月24日消息,南非儲備銀行 (SARB) 正在為鼓勵數字資產市場發展作準備, 并呼吁其金融監管機構也做好準備。作為SARB的分支機構,負責監管金融機構的審慎管理局(PA)已經呼吁金融機構對虛擬資產服務提供商(VASPs)采用一種風險評估方法。

在PA首席執行官Fundi Tshazibana簽署的監管指南中表示,一些金融機構已選擇終止與“加密資產服務提供商”或 CASP 的所有關系,對數字資產的監管處理存在不確定性,這些機構已采取措施降低其運營風險。同時,敦促銀行和其他金融機構通過風險評估對數字資產和 CASP 進行分類。

據報道,南非現在出于監管和稅收目的將數字資產歸類為金融資產。一些機構正在制定符合分類標準的法規,這些法規將在 2022 年為該行業發布。 (Coingeek)[2022/8/24 12:44:43]

零確認交易源于BitcoinCash社區,目前仍是一個有趣但尚未經過證明的研究領域,在這樣的一個區塊鏈網絡中,出塊時間實質上可能更加不利于用戶體驗。零確認交易的發送方需要提交一個保證金,如果有雙花行為,發送方就會損失掉該保證金。在比特幣現金中,雙花行為可以通過UTXO的輸入項重用被檢測到。任何人都可以提交找到的兩筆雙花交易,然后得到保證金的獎勵。在以太坊的賬戶網絡中,不同于使用類似比特幣的UTXO,我們可以檢查同一發送方是否重用了同一個nonce。比如一個已部署合約提供一個reportDoubleSpend方法,該方法接受兩個待完成的已簽名交易,然后合約會檢查其發送方和nonce,如果相等,就會把保證金獎勵給方法調用者。原理很簡單:如果保證金數額足夠大,這對于交易發送方而言,就是防止其作弊的一個有力武器,因為他們有可能損失繳納的保證金。這種交易類型被認為最適合用于小額一次性的單筆支付場景,因為有一系列針對該場景的潛在攻擊模式存在。批量轉賬

CoinDesk將在Polygon上發行新的DESK代幣:金色財經報道,CoinDesk宣布將在重新推出其社交代幣DESK,并在Consensus 2022中投入使用。6 月 9 日至 12 日在德克薩斯州奧斯汀舉行的活動的參加者將能夠通過在注冊時領取徽章、參觀參展商攤位或加入 CoinDesk 重新啟動的 Discord 等方式來獲取 DESK 。DESK 可在活動中兌換一系列獎勵。

DESK 將基于 Polygon 發行,且不是完全去中心化的代幣,CoinDesk 可能會調整 DESK 的供應量。在 Consensus 2022 之后,CoinDesk 計劃將 DESK 作為一項參與獎勵計劃擴展至更廣泛的受眾,包括未來的活動參與者、新聞服務和研究報告的讀者、電視觀眾和播客聽眾等。[2022/5/24 3:36:56]

跟ERC20代幣交互的一個主要問題在于,一般需要兩次不同的交易:一次是調用代幣合約的approve方法,另一次才是真正調用目標合約使用代幣完成特定邏輯。這種模式就會產生非原子性交易的一系列問題。最簡單的情況就是,如果doSomethingForTokens調用交易失敗了,之前的approve調用不會回滾,即approve方法允許合約支配的代幣額度仍然成立。

-ERC20代幣合約的approve和transferFrom方法是非原子性的-Limechain實現了一種特殊的批量轉賬方法。借鑒元交易中的鏈上簽名校驗原理,失敗的doSomethingForTokens調用交易會回滾相應的approve調用,從而改善了ERC20代幣原本approve和transferFrom方法的非原子性。基于短信的付款

CoinText可能是最有名的基于短信的密碼學貨幣支付服務商,目前專注提供比特幣現金的交易。這種付款機制對于發展中國家和地區的移動設備尤其有用。Eth2也已經在以太坊上部署了類似的技術,它可以通過傳統的基于移動應用的以太坊錢包來工作。

-eth2.io的基于短信的加密數字付款方案-這個特定方案采用了一個托管合約。交易發送方生成一個臨時的公私鑰對,然后往托管合約存入Ether,該筆轉賬中附帶之前生成的臨時公鑰。私鑰則通過隨機生成的對稱密鑰加密,然后密文通過鏈下方式發送給某個中心化的校驗服務器。提現時,如果接收方手機號碼校驗成功,校驗服務器就會把密文發給接收方,接收方可以解密,然后對提現交易消息簽名,托管合約隨后可以對該簽名進行校驗,確認是由臨時私鑰完成的簽名。中心化服務器用來對手機號做驗證并傳遞秘鑰,但是Eth2的服務器無法控制鎖定在托管合約中的Ether。如果中心化服務器被攻擊了,付款交易會失敗,但是Ether仍在托管合約中。如果此時想拿回鎖定的Ether,發送方可以通過調用托管合約取消該筆付款。訂閱付款

基于可選擇退出的訂閱服務付款是Web2.0時代互聯網服務的主流變現方式,比如Spotify,Netflix,Headspace和Tinder都是基于訂閱付款構建其商業收入模型。密碼學貨幣中的訂閱付款概念也不是新東西,在比特幣中,nLocktime字段就可以用來保證一筆已簽名的交易在指定的區塊高度之前不會被打包。但在以太坊上,用于未來支付的預簽名交易意義不大,因為賬戶的nonce會隨著該賬戶不停發出交易而增長,會導致預簽名時所用nonce偏小,進而導致交易無效。幸好,以太坊的圖靈完備性提供了一個解決辦法:有一些針對重復訂閱類型交易的架構方案。這些架構在保證金,用戶體驗復雜性,可選功能,gas開銷和可延展性方面有不同的權衡取舍。基于預言機的方法調用

另一種更加特殊的交易發送方式是使用預言機服務,比如Oraclize,以期通過適當的中心化來換取gas使用量的減少,可以參見此文。

-使用Oraclize減少常量合約調用的gas使用量-這種類型適用于非交易型的方法調用。已經與以太坊主網同步的節點,可以通過以太坊JSON-RPC的eth_call接口來調用上述方法。只要繼承了usingOraclize,在你的合約中就可以使用Oraclize的oraclize_query方法進行常量查詢。另外,你的合約里面還必須定義一個__callback(bytes32queryId,stringresults)的回調函數,Oraclize查詢會調用該函數并保存查詢結果。與調用Oraclize相比,直接進行鏈上查詢來獲取和計算這些狀態常量可能更加昂貴。使用一次性地址進行多筆付款

如背景知識中介紹的,交易字段中并沒有“發起地址”。這個地址可以通過ecRecover函數計算得出。那么問題來了:我們能不能在交易簽名中任意填入我們想要的數據?事實表明,有一半的簽名是正確的,即ecRecover仍然返回一個合法的公鑰。由于我們無法控制生成的地址,那么我們通過設置字段值,其實是在構建這樣一個交易:該交易可以花費看上去是一個隨機生成的地址中的余額。如果我們創建了這樣一筆交易,并給生成的地址充值了若干Ether,那么該筆交易就可以像一般交易一樣執行。這樣我們實質上創建了一個一次性的地址,因為其中的余額只能被一筆交易使用。如果我們以某種可預測的方式選擇交易簽名中的字段值并公布該筆交易,我們就可以向任何人證明,發給交易發送方地址的金額,只能被該筆交易使用,而不能被其它任何交易使用。

如上圖所述,該場景嘗試發送交易至11140個目標地址,由一系列發送Ether至多個地址的交易組成,每個交易發送到110個地址,其中發送方的地址通過上述方法生成。對于簽名字段,我們填入‘0xDA0DA0DA0…’?,這是一個可預測的值,這樣我們確定,沒有人能拿到這些簽名所對應地址的私鑰。這就創建了一批擁有“一次性地址”的交易,這些地址可以用來給相應交易提供所需交易金額。但104個要簽名的交易對于受托自然人而言還是太多了,所以我們重復一次上述過程,形成一個級聯結構:我們先構造104筆交易,每筆交易都有其對應的唯一地址,然后再構造一筆發送Ether到對應的104個地址的轉賬。通過驗證,代碼確實可以按照預期運行,那么任何人就可以這些構建好的交易發送到以太坊網絡中,整個過程就像多米諾骨牌一樣自動進行了:名單上的11400個地址都會收到Ether,但我們僅僅用了一次人工簽名。以太坊上完成交易居然有這么多不同的方式!!

Tags:以太坊GASETHHER以太坊幣價格今日行情價格bnb騙局gas費ETHPADEtherBone

中幣下載
政策周報 | 央行將加強虛擬貨幣監管;香港將發放六張虛擬銀行牌照;日本規定加密貨幣年收入超20萬日元者須申報_加密貨幣

本周,區塊鏈和數字貨幣相關政策不斷推出,在推進數字貨幣研究進程及加強監管等方面均有不少進展。國內方面,中國央行副行長范一飛在人民銀行2019年全國貨幣金銀工作會議中提到,2019年要深入推進央行.

1900/1/1 0:00:00
李國慶的書友會:一個五十歲男人真實的人生選擇_區塊鏈

2月20日,李國慶正式宣布離開當當網,自稱多年被創新欲望折磨著,終于在2019年再次啟程,加入內容公鏈項目CRYSTO生態旗下的DApp,并任職CEO.

1900/1/1 0:00:00
隔離見證已被遺忘?這回真不怪比特大陸_比特幣

譯者|Moni編輯|盧曉明不知不覺,距離比特幣網絡激活隔離見證已經過去了一年多。然而,現在還有誰會想起這個曾經備受熱捧的擴容升級呢?估計現在只有36%的比特幣交易實際使用了隔離見證,人們不禁要問.

1900/1/1 0:00:00
谷燕西:從貨幣理論預測穩定幣的發展方向_比特幣

編者按:本文來自鏈聞ChainNews,作者:谷燕西,DAEX創始人,星球日報經授權發布。目前的一些加密數字貨幣項目,因為缺少對貨幣和經濟學原理的基本了解,所以其產品設計所依據的經濟學原理是錯誤.

1900/1/1 0:00:00
賺取了數百萬美元的礦工,其實一筆交易都沒處理過?_加密貨幣

譯者|Moni編輯|盧曉明根據加密貨幣研究機構Diar最近發布的一份研究報告顯示,比特幣和其他加密貨幣礦工已經賺取了數千萬美元的利潤,但卻沒有處理過一筆交易.

1900/1/1 0:00:00
Grin 攪動交易所_MBL

文|雪姣、DaveGrin,2019年的第一條“鯰魚”,正攪動著整個交易所市場。僅1月24日,就有KuCoin和CoinAll兩家交易所先后上線Grin.

1900/1/1 0:00:00
ads