你說你的地址是什麼? -錢幣僧侶

正如我們在比特幣交易基本介紹中所看到的那樣,比特幣僅作為與地址相關聯的數量存在,並且如果他能夠向網路證明自己擁有關聯的私鑰,則他擁有一個地址。在它們最初非常簡單的外觀(與銀行帳號的外觀非常相似)下,存在許多複雜的現象。這篇文章介紹了一些加密貨幣基礎,以解釋如何生成密鑰和地址,介紹了一些地址類型,並解釋了上述有趣的現象,例如地址重用和複雜的交易腳本。

密碼學評測

密碼術在當今社會無處不在。它是整個Internet上安全通信,敏感信息加密貨幣等等的支柱。在談論區塊鏈時,使用一種特定類型的密碼學,稱為公鑰-私鑰密碼學。它基於數字對之間的特殊關係,稱為私鑰和公鑰。

對於加密貨幣,分配公鑰就像給帶鎖的開放盤點箱。人們知道自己只有私鑰的擁有者才可以打開鎖,因此可以將所需的任何消息放入並鎖定它。因此,他們不必擔心有人會攔截它,因為入侵者無論如何都無法打開它。技術說明不在本文的討論範圍之內,但如果感興趣,本文提供對RSA(最古老的此類密碼系統)的簡單說明。

對於簽名,不需要郵件傳輸。相反,目標是使人們能夠證明它們是消息的來源。這些演算法的工作方式是它們與私鑰一起處理任何消息並生成簽名。這些方法具有公共密鑰可以驗證簽名是否由關聯的私有密鑰生成的屬性。因此,通過提供消息,消息的簽名和公共密鑰,可以對消息源進行公開身份驗證。

因此,通過提供消息,其簽名和公共密鑰,可以對消息源進行公開身份驗證

在比特幣中,橢圓曲線數字簽名演算法(ECDSA)用於簽名(顧名思義)。有關ECDSA運作方式的更詳細的技術說明,我建議您寫這篇精彩的文章,其中詳細說明(警告:這是一篇技術文章)。

與加密貨幣技術相關並在比特幣交易中廣泛使用的另一個重要概念是哈希演算法。這些演算法會在給定任何消息的情況下生成特定長度的「哈希」(即看似隨機字元的字元串),從而可以很容易地從輸入字元串中找到哈希,但是很難獲得從哈希返回輸入消息。這是一個互動式網站,可查看散列的外觀。

SHA256哈希的示例。單個字母的差異(從S到s)完全改變了哈希值。

地址有幾種形狀,每種都有其特點。到目前為止,我一直使用公鑰作為比特幣地址,但實際上,這只是一種比特幣地址,它具有自己的付款方式,稱為「付款給公鑰」,並且越來越不推薦使用。取而代之的是,如今大多數比特幣地址都是通過公鑰生成的。有兩種重要的比特幣地址格式:公鑰哈希和Bech32。

兩者都是通過以特定方式對公鑰進行哈希處理而生成的。創建這些地址類型的原因主要有兩個:通過縮短地址使地址更容易辨認,並增加了一層隱私。

你的錢包

許多錢包軟體和服務將您的錢包顯示為具有給定餘額的單個銀行帳戶,因此在進行交易時,您僅指定目標地址和金額,其餘一切由您自己處理。因此,它導致您認為您只有一個私鑰-公鑰對,並且所有事務都處於入或出狀態。實際上,這些軟體所隱藏的內容隱藏了您擁有(或應該擁有)多個私鑰以及關聯的公鑰和地址。

如上一篇文章中所述,事務不需要所有輸入都來自同一地址,而只需要證明每個地址的所有權即可。因此,將您的比特幣去中心化到多個地址不是問題。該軟體的工作是充當合併,在進行交易時會處理所有細節,包括非常頻繁地創建新的密鑰對,即使在每次交易之後也是如此。

有充分的理由。主要的是隱私。比特幣去中心化屬性的缺點之一是所有人都可以使用所有信息。如果您每次都使用相同的比特幣地址,那麼只需監視您的地址就可以很容易地跟蹤您所涉及的每筆交易。除了具有侵入性的事實之外,它也可能很危險。如果有人能夠從物理上追蹤您(例如您在網站上發布了您的比特幣地址),他們將確切知道您擁有多少資產,並可以找到您並以一種或另一種方式勒索您。相反,通過不斷更改地址,您幾乎無法進行此跟蹤。

如果您每次都使用相同的比特幣地址,那麼只需監視該地址,就很容易跟蹤您進行的每筆交易。

使用過去的交易輸出

如前所述,交易是針對比特幣地址進行的。當您希望使用未花費的輸出進行交易時,首先需要提供信息以在區塊鏈中找到它。然後,在最簡單的情況下,提供公共密鑰和簽名,共同證明您是私有-公共密鑰對的所有者,並將為您提供將未花費的金額用作交易輸入的許可權。

您可以對多個未使用的輸出重複此操作,以達到所需的交易量。比特幣輸出不可分割的結果是,您不可能完全將您希望交易的價值加起來。取而代之的是,每次您最終得到的總和都比您希望使用的要高。

如果您不做任何事情,這筆額外的金額將自動轉換為交易費,該區塊的礦工(即處理交易的計算機)將自己承擔。當然,您可能不希望這樣做,因為這種比特幣的「變化」可能很大,因此通常要做的只是將其作為未花費的輸出發送回您的新地址。

交易腳本

但是,交易實際上可能要複雜得多。創建輸出時,發送者可以選擇添加條件,這些條件在scriptPubKey中進行了編碼。這些條件可能有很大的不同,其中可能包括需要密碼,多個特定簽名等。

這些腳本可能變得非常長且複雜,並且由於挖礦的交易量較長,並且給網路造成了更大的壓力,因此通常需要支付更高的交易費才能引起興趣。核心開發人員注意到了這一點,並決定創建Pay-To-Script-Hash地址。

你可能還喜歡