以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 屎幣 > Info

HASH:如何在比特幣上構建中繼服務?

Author:

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

我們專注于建立一個非托管的中繼器—Infura交易服務(ITX),用于接收一個預簽名消息(例如元交易),并將其打包到以太坊交易中,然后逐漸提高手續費,直到它被記賬。為什么我們要關注中繼器?

我們希望企業能夠以服務的形式提供可靠的交易交付。中繼器幫助緩解了全球區塊空間手續費市場競爭的根本問題,他們擅長根據交易的優先級選擇中繼策略。例如,如果用戶在自動做市商模式上交換代幣,中繼器可能會優化為快速交付,而如果用戶在分布式自治組織中投票,則可能優化為較低的交易手續費。這篇文章的重點是:我們能在比特幣中構建中繼服務嗎?會出現什么樣的問題呢?中繼器應該具備哪些屬性?

在構建ITX時,我們主要關注以下四個屬性:沒有托管權。ITX從來沒有訪問或控制用戶的主要資金。非交互式。ITX在沒有用戶持續互動的情況下,參與了全球區塊空間收費市場。無需初始設置。用戶不需要初始設置階段就可以使用中繼服務。中繼器支付。支付網絡費用的是中繼器,而不是用戶。其中三個性質很簡單。中繼器永遠不能訪問用戶的主要資金,當中繼器發送它們的交易時,用戶應該能夠脫機,如果沒有使用中繼器的初始設置也是理想情況。最后一個性質,即中繼器支付,主要是出現在以太坊上的一種情況,因為中繼器必須先支付手續費,以便發送用戶的交易。這就引出了下一個問題:是否應該使用中繼器或客戶的鏈上資金來支付這筆交易?

這對以太坊來說很容易,但對比特幣來說就不那么容易了。中繼器支付網絡費用的普遍說法是為用戶解決協議(或托管)問題。關鍵的例子是支持“減少gas”的ERC20轉賬,因為用戶可能沒有足夠的ETH來支付網絡費用,但他們可以通過ERC20代幣退款給中繼器。然而,同樣的用例也存在于比特幣上的Tether,盡管還沒有為它進化出一個生態系統。我們猜測只要能從服務中得到收益,中繼器就會為用戶支付網絡費用。比如比特幣保險庫。用戶支付管理員來監控他們的保險庫,如果檢測到惡意行為,就會發出取消交易的命令。用戶向管理員支付訂閱費,作為回報,管理員承諾支付任何必要的費用來保護保險庫。此外,為了簡化過程,使用中繼器的資金來支付網絡費用可能是可行的(例如,以一種特別的方式附加多個費用輸出,從而從根本上提高費用)。下面,讓我們花一些時間來回顧一些關于比特幣交易的背景信息。比特幣交易(UTXO)背景

美國監管機構認為穩定幣繞過監管漏洞,正在研究如何監管穩定幣:9月20日消息,美國監管機構認為穩定幣繞過監管漏洞,可能會從以下幾個方面監管穩定幣,分別為:把穩定幣指定為系統風險;稱穩定幣為證券;視穩定幣為貨幣市場共同基金;像監管銀行一樣監管穩定幣;美聯儲正在研究與穩定幣有競爭性質的中央銀行數字貨幣 (CBDC)。

此外,全球性監管機構金融穩定委員會正在研究建立穩定幣相關的標準和計劃,可能會在 2023 年出臺相關監管。(紐約時報)[2021/9/20 23:37:37]

圖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個比特幣。中繼器費用輸出

大咖零距離 | 如何通過套保實現穩定收益:4月9日18:00,金色盤面邀請資深挖礦炒幣者小迷姐做客金色財經《大咖零距離》直播間,將分享《如何通過套保實現穩定收益》,敬請關注,欲進群觀看直播掃描下方二維碼報名即可。[2020/4/9]

圖2:中繼器在交易中包含了一個額外的輸出來支付費用為了滿足中繼器支付屬性,中繼器必須在客戶的交易中包含一個UTXO。如圖2所示,中繼端輸入0.3BTC,中繼端接收0.1BTC,因此他們已經為交易網絡費用分配了0.2BTC。為簡單起見,我們將其稱為轉發器費用輸出。然而,有一些微妙的陷阱需要考慮:UTXO管理。轉發器必須確保每個費用輸出有足夠的資金來支付交易的最大成本。如果一組費用輸出變得不足,它們可能需要定期進行批處理;如果費用輸出包含太多代幣,則需要分割費用輸出。所有的管理都需要鏈上交易,因此會給中繼者帶來經濟成本。并發中繼交易。如果我們假設用戶的每個待處理交易只使用一個費用輸出,那么中繼層在任何時間可以管理的并發交易的數量取決于可用的費用輸出的數量。例如,如果中繼器有10個UTXO,每個UTXO有1個BTC,那么他們可以支持在任何時間發送10個中繼交易。與基于賬戶的系統不同,它不一定依賴于接力者持有的資金總量。因此,中繼器的UTXO管理方式直接影響其服務質量。把待處理的交易鏈起來是不安全的。理想情況下,相同的費用輸出可以用于多個待處理交易,這些交易被鏈接在一起,以最大化其效用。然而,為中繼服務將依賴的交易鏈接在一起并不總是安全的。這是因為一個交易的輸入依賴于前一個交易的散列。因此,更改單個交易的費用將使所有相關(和待處理)交易無效。當然,如果客戶正在支付網絡費用,那么中繼器就不包括交易的輸入。根據協議,客戶可以使用自己的資金創建額外的轉發器費用輸出。這樣,客戶就可以為中繼者分配資金,并增加交易費用。挖掘交易時剩余的任何資金都可以作為獎賞給中繼者。比特幣交易中的“本機按費用替換”標志?

動態 | 捷豹路虎DLT開發人員解釋如何通過報告路況獲得加密貨幣獎勵:英國最大汽車制造商捷豹路虎分布式賬本技術團隊的軟件開發人員Aaron Hetherington解釋了駕駛員如何通過報告道路問題而獲得加密貨幣獎勵。Hetherington稱,捷豹路虎的技術可以追蹤車輛何時何地撞到路上的坑洞,這樣就可以將維修細節發送給英國和愛爾蘭的地方議會。他補充道:“當然,發現這些不好的路況是有獎勵的。利用像IOTA這樣的加密貨幣,我們可以將獎勵直接發送給客戶。”通過讓汽車自動向導航提供商或地方當局報告道路狀況數據,比如交通擁堵或坑洼,司機將獲得加密貨幣積分,這些積分可用于自動支付通行費、停車費和充電費。2019年4月,捷豹路虎表示正在測試軟件,旨在允許其汽車司機獲得加密貨幣IOTA作為共享數據的獎勵。據悉,該公司正在開發“智能錢包”技術,以安裝在其汽車中。目前還未確定何時上市。(SiliconRepublic)[2020/2/6]

BIP125為交易實現了一個可選的費用替換標志,這樣,當交易在內存池中仍未確認時,費用可以在任何時候增加。協議是相當直接的。可選:中繼器為用戶提供一個輸入,可以用來支付網絡費用。用戶簽了幾筆交易,每筆交易的費用都比之前的交易高。用戶向中繼器發送所有交易。中繼器廣播第一個(最低費用)交易,然后穩步發布后續交易,逐步提高費用。我懷疑如果出現了作為服務的中繼器,那么對于大多數情況來說,這是第一個也是最容易實現的方法。它是非交互式的,因為所有的交易都是預先簽名的,其次,中繼器只被信任以及時的方式轉發交易,幫助用戶在任何給定的時間支付最好的價格。缺點是用戶必須對多個交易進行簽名并將它們發送到中繼器。因此,中繼者無法控制費用的力度,這對于避免費用過高或過低是很重要的。如果一個交易帶有RBF標記,建議你不要輕易相信它為0-confirmation。BIP標識如果第一個交易的RBF=on,而被替換的交易的RBF=off,那么該交易仍然是可替換的。因此,如果你只是驗證你接收到的交易,以檢查RBF=off,那么你仍然可以被愚弄!!“子為父償”交易

聲音 | 江卓爾:擴容之爭核心是如何解決擁堵問題,應該大區塊擴容:萊比特礦池江卓爾今日發微博稱,擴容之爭核心是如何解決擁堵問題,擴容派堅持中本聰的大區塊擴容路線,Core黨提出隔離見證SW擴容(號稱有4M效果)和閃電網絡,3年過去了,結果呢?SW擴容只有1.2MB的微弱效果,區塊還是滿的,一到5月的小牛市立馬堵成狗,手續費飆升。閃電網絡更是徹底撲街,沒人去用這種反人性+反經濟規律的產品。Core無法解決擁堵問題,無可爭辯的事實說明中本聰是對的,應該大區塊擴容。[2019/11/16]

圖3:中繼器廣播第二個交易,子交易支付父交易,它覆蓋了兩個交易的費用圖3突出顯示了子元素為父元素付費。它允許第二筆交易提供一個網絡費用,覆蓋兩筆未決交易的成本(例如,它自己和它的父交易)。假設礦商對待定交易鏈進行評估,那么它應該會誘使礦商將兩筆交易包含在同一個區塊中。我們可以通過在第一個待處理的交易中包含一個轉接費輸出來利用“子為父償”。如前所述,用于資助此輸出的代幣可能來自中繼者或客戶,但中繼者將對費用輸出有完全的托管權。如果第一個待處理的交易在網絡上卡住了,那么中繼器可以使用錨輸出創建第二個交易,以覆蓋兩個交易的網絡費用。協議很簡單:可選:中繼器為用戶提供一個輸入,可以用來支付網絡費用。客戶創建、簽署并向中繼器發送交易。它包括額外的中繼費輸出。中繼器廣播交易到網絡,監控交易,并只發送第二個交易,在費用需要受挑戰的情況。如果沒有費用增加,并且用戶的交易被挖掘,那么中繼者的費用輸出可以用于下一個客戶。在初始的待處理交易發送后,協議是非交互式的,中繼器從來沒有訪問用戶的主要資金,中繼器可以為用戶支付網絡費用,當然也沒有初始設置。缺點是交易更大(專用中繼器輸出),費用可能需要覆蓋兩個交易,而不是單個交易。SIGHASH的神奇之處

動態 | 火幣中國CEO與馬來西亞總理討論區塊鏈將如何在馬來西亞落地:據雅虎財經消息,近日,火幣中國CEO袁煜明與馬來西亞總理馬哈蒂爾(Mahathir Mohamad)就“如何在制造業和能源行業中應用區塊鏈”以及“區塊鏈將如何在馬來西亞落地”進行了討論。[2019/5/29]

正如我提到的吞吐量,我們必須簽署交易授權。但是簽名者實際上簽的是什么呢?這給我們帶來了微妙的SIGHASH規則。有些情況下,用戶只希望為一個交易的輸入和輸出的組合簽名,而不關心為整個交易簽名。用戶可以聲明一個SIGHASH規則,該規則規定用戶將對交易中的哪些信息進行簽名。

圖4:“黃色”中的字段由用戶使用SIGHASH_SINGLE簽名SIGHASH_SINGLE:用戶對所有輸入進行簽名,但只對一個輸出進行簽名。圖4突出顯示了用戶簽署的交易模板,其中包括他們想要的輸出(例如,向商家轉賬代幣)和兩種輸入。中繼器的輸出沒有被用戶簽名,因此當用戶的輸入被驗證時,它會被忽略。不完整的交易模板被發送給負責包含第二個輸出和授權交易的中繼器。沒有轉發者的簽名,交易無效;因此,不存在礦工挖掘交易并竊取中繼者投入資金的風險。同樣,對于每個輸入,SIGHASH標志也可以是不同的。因此,當用戶使用SIGHASH_SINGLE時,中繼層可以簡單地使用SIGHASH_ALL(默認選項)。

圖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:SIGHASHASH比特幣SIGN幣Hash PotTwister CASH SYSTEM比特幣糖果今天的價格

屎幣
MIS:Optimism的Layer 2版Synthetix體驗究竟如何?

編者按:本文來自鏈聞ChainNews,星球日報經授權發布。Synthetix可能是第一個正式上線以太坊Layer2網絡的主流去中心化金融應用,該網絡基于Optimism團隊研發的Optimis.

1900/1/1 0:00:00
KEN:TokenInsight:2020 年度數字資產期權交易行業研究報告

要點總結 1.$772億成交量2020年全年,除卻Binance與FTX的奇異期權產品,數字資產衍生品期權市場成交量報$772.05億.

1900/1/1 0:00:00
DEFI:觀點:DeFi代幣和以太坊殺手將在2021年引領風險市場

2021年才過去20多天,按照傳統市場的標準,加密貨幣市場經歷了一場等同于數年的價格波動。盡管這幾周波動很大,但大型加密貨幣資產中開始出現了一些清晰的模式.

1900/1/1 0:00:00
RAVE:Brave成首個部署IPFS瀏覽器,去中心化互聯網來了?

主打隱私保護的Brave瀏覽器邁出了去中心化的第一步,成為首個原生集成點對點網絡協議的瀏覽器,該協議旨在從根本上改變互聯網的運作方式.

1900/1/1 0:00:00
ETH:灰度未增持引比特幣沖高回落,美國兩位提名人令市場擔憂 | 烤仔星選

昨晚比特幣行情走的也是比較令人失望,自下午開始反彈后便一直持續到晚上,到了晚上十二點左右一度沖高至38000美元附近,但隨后便開始回調,回調至36000美元附近時稍微止跌進行了小幅的反彈.

1900/1/1 0:00:00
CBD:OKEx Research薦讀:IMF數字貨幣工作論文(中)

導讀國際貨幣基金組織在2020年9月22日完成撰寫了《跨境支付的數字貨幣:宏觀金融的影響》一文,重點論述了跨境支付的數字貨幣的四種應用情景,以及對這些場景的具體分析.

1900/1/1 0:00:00
ads