我們專注于建立一個非托管的中繼器—Infura交易服務(ITX),用于接收一個預簽名消息(例如元交易),并將其打包到以太坊交易中,然后逐漸提高手續費,直到它被記賬。為什么我們要關注中繼器?
我們希望企業能夠以服務的形式提供可靠的交易交付。中繼器幫助緩解了全球區塊空間手續費市場競爭的根本問題,他們擅長根據交易的優先級選擇中繼策略。例如,如果用戶在自動做市商模式上交換代幣,中繼器可能會優化為快速交付,而如果用戶在分布式自治組織中投票,則可能優化為較低的交易手續費。這篇文章的重點是:我們能在比特幣中構建中繼服務嗎?會出現什么樣的問題呢?中繼器應該具備哪些屬性?
在構建ITX時,我們主要關注以下四個屬性:沒有托管權。ITX從來沒有訪問或控制用戶的主要資金。非交互式。ITX在沒有用戶持續互動的情況下,參與了全球區塊空間收費市場。無需初始設置。用戶不需要初始設置階段就可以使用中繼服務。中繼器支付。支付網絡費用的是中繼器,而不是用戶。其中三個性質很簡單。中繼器永遠不能訪問用戶的主要資金,當中繼器發送它們的交易時,用戶應該能夠脫機,如果沒有使用中繼器的初始設置也是理想情況。最后一個性質,即中繼器支付,主要是出現在以太坊上的一種情況,因為中繼器必須先支付手續費,以便發送用戶的交易。這就引出了下一個問題:是否應該使用中繼器或客戶的鏈上資金來支付這筆交易?
這對以太坊來說很容易,但對比特幣來說就不那么容易了。中繼器支付網絡費用的普遍說法是為用戶解決協議(或托管)問題。關鍵的例子是支持“減少gas”的ERC20轉賬,因為用戶可能沒有足夠的ETH來支付網絡費用,但他們可以通過ERC20代幣退款給中繼器。然而,同樣的用例也存在于比特幣上的Tether,盡管還沒有為它進化出一個生態系統。我們猜測只要能從服務中得到收益,中繼器就會為用戶支付網絡費用。比如比特幣保險庫。用戶支付管理員來監控他們的保險庫,如果檢測到惡意行為,就會發出取消交易的命令。用戶向管理員支付訂閱費,作為回報,管理員承諾支付任何必要的費用來保護保險庫。此外,為了簡化過程,使用中繼器的資金來支付網絡費用可能是可行的(例如,以一種特別的方式附加多個費用輸出,從而從根本上提高費用)。下面,讓我們花一些時間來回顧一些關于比特幣交易的背景信息。比特幣交易(UTXO)背景
沃爾瑪調查其與萊特幣合作的虛假新聞稿是如何發布的:9月14日消息,在與萊特幣合作的假消息傳出后,沃爾瑪公司表示正在調查欺詐性新聞稿是如何發布的。The Litecoin Foundation和Charlie Lee也在調查此事。此外,Globenewswire表示,它還將與當局合作,“要求并促進進行全面調查,包括與此事相關的任何犯罪活動。”(Bitcoin News)[2021/9/15 23:25:08]
圖1:一次比特幣交易就有一個輸入和輸出列表比特幣交易有一個輸入列表和一個輸出列表:輸出(UTXO)與一些代幣和聲明腳本相關聯,該腳本建立了一組必須滿足的條件才能使用這些代幣。一個輸入引用了一個未使用的輸出,并提供了贖回腳本,這是滿足使用代幣條件的證明。正如我們在圖1中看到的,交易2的第一個輸入引用交易1的第一個輸出。交易2的其它兩個輸入沒有顯示在圖片中,因為它們來自不同的交易。當交易2由網絡處理時;它有效地執行每個輸入輸出對,以驗證該交易是否可以使用0.5BTC、0.8BTC和0.3BTC。比特幣交易有三個方面對費用替代協議很重要:腳本的靈活性。交易的輸入和輸出創建一個腳本。大多數腳本需要單個簽名來授權交易,但是它可以使用其它條件,包括multisig,在時間T之后有效,并且如果哈希的原像被泄露。輸入贖回。一個交易的每個輸入都可以由不同的一方進行兌換,并且輸入只有在各方都同意交易模板的情況下才有效(例如,如果一個交易有3個輸入,那么在挖掘交易之前必須滿足每個輸入的腳本)。SIGHASH規則。授權交易的用戶簽名可以覆蓋一個或多個輸入,以及一個或多個輸出。交易費是多少?它的定義是什么?交易費用沒有顯式的UTXO或字段。它的定義是:tx_fee=total_inputs-total_outputs,其中tx_fee≥0。例如,如果輸入總共代表1個比特幣,輸出發送0.9個比特幣,那么交易的費用為0.1個比特幣。要調整網絡費用——簽名者必須重新定義交易輸出,以扣除發送的代幣總數,然后重新簽署交易。最后,比特幣沒有賬戶系統。相反,有一個全局UTXO集來定義可使用的交易輸出列表。每個UTXO都與一個索賠腳本和一些比特幣相關聯。每個區塊從集合中刪除已使用的交易輸出,然后將新的可使用輸出追加到集合中。UTXO模型的另一個特點是代幣管理。如果用戶向交易對手發送5個比特幣到相同的地址,但在不同的交易中,那么交易對手將需要管理5個未花費的交易輸出。這對Coinbase來說是個問題,因為他們在150萬UTXO中擁有265個比特幣。中繼器費用輸出
直播|小琬 > 挖礦小白如何區分Filecoin眾多礦商的優劣:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第9期15:00正在直播中,本期“后浪”仙女Blocklike CEO 小琬將在直播間聊聊“挖礦小白如何區分Filecoin眾多礦商的優劣”,感興趣的朋友掃碼移步收聽。[2020/7/15]
圖2:中繼器在交易中包含了一個額外的輸出來支付費用為了滿足中繼器支付屬性,中繼器必須在客戶的交易中包含一個UTXO。如圖2所示,中繼端輸入0.3BTC,中繼端接收0.1BTC,因此他們已經為交易網絡費用分配了0.2BTC。為簡單起見,我們將其稱為轉發器費用輸出。然而,有一些微妙的陷阱需要考慮:UTXO管理。轉發器必須確保每個費用輸出有足夠的資金來支付交易的最大成本。如果一組費用輸出變得不足,它們可能需要定期進行批處理;如果費用輸出包含太多代幣,則需要分割費用輸出。所有的管理都需要鏈上交易,因此會給中繼者帶來經濟成本。并發中繼交易。如果我們假設用戶的每個待處理交易只使用一個費用輸出,那么中繼層在任何時間可以管理的并發交易的數量取決于可用的費用輸出的數量。例如,如果中繼器有10個UTXO,每個UTXO有1個BTC,那么他們可以支持在任何時間發送10個中繼交易。與基于賬戶的系統不同,它不一定依賴于接力者持有的資金總量。因此,中繼器的UTXO管理方式直接影響其服務質量。把待處理的交易鏈起來是不安全的。理想情況下,相同的費用輸出可以用于多個待處理交易,這些交易被鏈接在一起,以最大化其效用。然而,為中繼服務將依賴的交易鏈接在一起并不總是安全的。這是因為一個交易的輸入依賴于前一個交易的散列。因此,更改單個交易的費用將使所有相關(和待處理)交易無效。當然,如果客戶正在支付網絡費用,那么中繼器就不包括交易的輸入。根據協議,客戶可以使用自己的資金創建額外的轉發器費用輸出。這樣,客戶就可以為中繼者分配資金,并增加交易費用。挖掘交易時剩余的任何資金都可以作為獎賞給中繼者。比特幣交易中的“本機按費用替換”標志?
直播 |“后浪”仙女魚池-青青如何乘風破浪:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第7期11:00 F2Pool 魚池|CMO青青將在直播間聊聊“幣圈‘后浪’仙女如何乘風破浪”,感興趣的朋友掃碼移步收聽![2020/7/2]
BIP125為交易實現了一個可選的費用替換標志,這樣,當交易在內存池中仍未確認時,費用可以在任何時候增加。協議是相當直接的。可選:中繼器為用戶提供一個輸入,可以用來支付網絡費用。用戶簽了幾筆交易,每筆交易的費用都比之前的交易高。用戶向中繼器發送所有交易。中繼器廣播第一個(最低費用)交易,然后穩步發布后續交易,逐步提高費用。我懷疑如果出現了作為服務的中繼器,那么對于大多數情況來說,這是第一個也是最容易實現的方法。它是非交互式的,因為所有的交易都是預先簽名的,其次,中繼器只被信任以及時的方式轉發交易,幫助用戶在任何給定的時間支付最好的價格。缺點是用戶必須對多個交易進行簽名并將它們發送到中繼器。因此,中繼者無法控制費用的力度,這對于避免費用過高或過低是很重要的。如果一個交易帶有RBF標記,建議你不要輕易相信它為0-confirmation。BIP標識如果第一個交易的RBF=on,而被替換的交易的RBF=off,那么該交易仍然是可替換的。因此,如果你只是驗證你接收到的交易,以檢查RBF=off,那么你仍然可以被愚弄!!“子為父償”交易
圖3:中繼器廣播第二個交易,子交易支付父交易,它覆蓋了兩個交易的費用圖3突出顯示了子元素為父元素付費。它允許第二筆交易提供一個網絡費用,覆蓋兩筆未決交易的成本(例如,它自己和它的父交易)。假設礦商對待定交易鏈進行評估,那么它應該會誘使礦商將兩筆交易包含在同一個區塊中。我們可以通過在第一個待處理的交易中包含一個轉接費輸出來利用“子為父償”。如前所述,用于資助此輸出的代幣可能來自中繼者或客戶,但中繼者將對費用輸出有完全的托管權。如果第一個待處理的交易在網絡上卡住了,那么中繼器可以使用錨輸出創建第二個交易,以覆蓋兩個交易的網絡費用。協議很簡單:可選:中繼器為用戶提供一個輸入,可以用來支付網絡費用。客戶創建、簽署并向中繼器發送交易。它包括額外的中繼費輸出。中繼器廣播交易到網絡,監控交易,并只發送第二個交易,在費用需要受挑戰的情況。如果沒有費用增加,并且用戶的交易被挖掘,那么中繼者的費用輸出可以用于下一個客戶。在初始的待處理交易發送后,協議是非交互式的,中繼器從來沒有訪問用戶的主要資金,中繼器可以為用戶支付網絡費用,當然也沒有初始設置。缺點是交易更大(專用中繼器輸出),費用可能需要覆蓋兩個交易,而不是單個交易。SIGHASH的神奇之處
Roger Ver將與國家元首探討如何使比特幣現金成為主權國家的官方貨幣:5月31日消息,Roger Ver聲稱,將與國家元首見面討論如何使比特幣現金成為主權國家的官方貨幣。 有分析師發布了來自Discord頻道的帖子屏幕截圖,該帖子的用戶名作者為“ rogerver”。隨后比特幣現金聯盟的subreddit / r / BTC的成員聲稱已確認該作者即是Roger Ver,即“比特幣耶穌”(Beincrypto)[2020/5/31]
正如我提到的吞吐量,我們必須簽署交易授權。但是簽名者實際上簽的是什么呢?這給我們帶來了微妙的SIGHASH規則。有些情況下,用戶只希望為一個交易的輸入和輸出的組合簽名,而不關心為整個交易簽名。用戶可以聲明一個SIGHASH規則,該規則規定用戶將對交易中的哪些信息進行簽名。
圖4:“黃色”中的字段由用戶使用SIGHASH_SINGLE簽名SIGHASH_SINGLE:用戶對所有輸入進行簽名,但只對一個輸出進行簽名。圖4突出顯示了用戶簽署的交易模板,其中包括他們想要的輸出(例如,向商家轉賬代幣)和兩種輸入。中繼器的輸出沒有被用戶簽名,因此當用戶的輸入被驗證時,它會被忽略。不完整的交易模板被發送給負責包含第二個輸出和授權交易的中繼器。沒有轉發者的簽名,交易無效;因此,不存在礦工挖掘交易并竊取中繼者投入資金的風險。同樣,對于每個輸入,SIGHASH標志也可以是不同的。因此,當用戶使用SIGHASH_SINGLE時,中繼層可以簡單地使用SIGHASH_ALL(默認選項)。
在惡性通脹的委內瑞拉,比特幣如何成了\"硬通貨\":3月26日消息,據國外媒體報道,在世界各地,比特幣主要是一種投機性投資,其飆升的價格往往被人們視為數字貨幣泡沫。而在委內瑞拉,由于國家的通貨膨脹率畸高,持有數子貨幣成為了當地民眾的生存手段。[2018/3/26]
圖5:SIGHASH_SINGLE中的bug暗示用戶需要一個虛擬輸入來返回“更改”SIGHASH_SINGLE實現有一個bug(比特幣確實是一個未完成的frankenstein系統),因此即使沒有輸入簽名的相應輸出(例如,輸入的數量超過輸出的數量),交易仍然有效。檢查錯誤報告以找出原因。因此,如果我們希望為用戶支持更改輸出,那么用戶必須包含第二個也使用SIGHASH_SINGLE的虛擬輸入。除此之外,協議是直接明了的:中繼器必須為用戶提供一個輸入來包含在交易中,讓中繼器為RBF重新簽名交易。用戶創建一個3輸入2輸出的交易模板。第一個輸出將代幣發送到目的地,第二個輸出退還剩余的更改。第三個輸入是中繼器的錨UTXO。用戶使用聲明的標志SIGHASH_SINGLE為每個輸入提供簽名(圖5)。用戶將部分簽名的交易發送給中繼器。中繼器創建第三個輸出,返回中繼器并支付交易網絡費用。它們的輸入使用SIGHASH_ALL進行簽名,并將交易廣播到網絡。為了增加費用,中繼者可以簡單地調整第三個輸出,重新簽署交易,并廣播它。當然,中繼器只能將費用提高到他們所提供的輸入的最大值。我們可以混合SIGHASH_SINGLE和ANYONECANPAY嗎?是的。用戶只對交易的一個輸入和一個輸出進行簽名。但是我們警告不要使用它,因為如果輸入的代幣>輸出的代幣,然后礦工可以簡單地忽略交易的其余部分,并只挖掘輸入的代幣>輸出的代幣的輸入輸出對,如果用戶希望通過更改輸出返回代幣,這個漏洞可能會導致嚴重的盜竊。總結
我們已經介紹了在比特幣中支持第三方中繼的三種方法,我們可以根據初始屬性對它們進行簡單比較:沒有托管權。在所有的解決方案中,中繼器永遠不能訪問用戶的資金。但是,如果用戶為轉發器的費用輸出提供資金,則相信轉發器會選擇適當的費用。非交互式。從用戶的角度來看,所有的解決方案都是非交互式的,因為它們只需在脫機之前提供足夠的信息,然后讓中繼器接管。不過,按費用替換方法確實需要用戶進行大量設置,因為他們需要對交易列表進行預簽名并將它們發送到中繼器。中繼者支付。中繼者可以在所有三種方法中包括額外的輸入并支付網絡費用。盡管,SIGHASH方法還不清楚客戶是否可以支付網絡費用。但似乎中繼器必須包含交易的額外輸入和輸出對。無需初始設置。所有的方法都不需要用戶在與中繼層交互之前進行初始設置,我們將用戶定義為鏈上交易。會出現什么問題?
最重要的問題是額外的交易。如果中繼者支付了網絡費用,那么客戶的交易必須包括額外的輸入。如果使用“子為父償”的方法,那么客戶可能會為第二筆交易付費(成本的2倍)。而且由于SIGHASH_SINGLE錯誤,用戶可能需要包括一個虛擬輸入和中繼器的輸入。按費用替代方法與SIGHASH的對比。我認為sighash_single方法是對按費用替代方法的優化。它不要求用戶對交易列表進行預簽名,而是讓中繼器接受用戶簽署的單個交易,然后將交易費用附加到該交易列表上。研究一個名為SIGHASH_MULTIPLE的新sighash規則可能是明智的,該規則允許用戶對一組輸入/輸出進行簽名,并為中繼器為已存在的交易附加網絡費用提供更大的靈活。我們可以混合使用這些方法嗎?
所有的方法都可以包括一個中繼器的費用輸出,它被扣除來支付網絡費用。專門的費用產出可能無法覆蓋交易的全部成本。如果發生了這種情況,那么中繼器可以簡單地執行“子為父償”交易,并在交易中包含兩個輸入。第一個輸入通過中繼器輸出費用花費客戶的交易,第二個輸入是由中繼器控制的另一個UTXO,以在交易中包含更多的資金。因此,如果網絡費用突然飆升到意想不到的高度,中繼者可以隨時添加額外的UTXOs。
Tags:比特幣SIGASHHASH比特幣美元實時行情SIGN價格NCASH價格Bitcoin Standard Hashrate Token
編者按:本文來自WebX實驗室Daily,Odaily星球日報經授權轉載。1.13凌晨,平行鏈測試網RococoV1正式開放注冊申請.
1900/1/1 0:00:00編者按:本文來自鏈內參,作者:內參君,Odaily星球日報經授權轉載。在經濟不確定性時期,人們對加密貨幣的興趣總是非常濃厚.
1900/1/1 0:00:00PolkaWorld專訪系列本期邀請要了加密投資機構DFG并針對以下內容進行了精彩分享。DFG是加密行業領先的投資機構,也是Substrate創業營的聯合發起方之一.
1900/1/1 0:00:00編者按:本文來自巴比特資訊,作者:Wendy,星球日報經授權發布。當壽司在2020年8月問世時,許多人認為這是一種投機的嘗試,試圖從市場領導者Uniswap那里吸走流動性,讓每個參與的人都能迅速.
1900/1/1 0:00:002020年底到2021年初頻繁傳來加密貨幣交易平臺上市進展的消息。然而,正如比特幣ETF一直難以獲得批準,目前成功上市的加密交易平臺寥寥無幾.
1900/1/1 0:00:00自發布主網啟動公告以來,OEC正穩健進行著主網上線OKT創世發行的第一階段,并于近日發布了開發進度報告,報告顯示主網啟動準備已基本完成,另外.
1900/1/1 0:00:00