① 比特幣交易信息有沒有收款人簽名
比特幣交易信息沒有收款人簽名,因為比特幣交易是虛擬貨顫掘毀幣,是不受法茄備律保護的,所以比特幣交易信息沒散歲有收款人簽名。
② 比特幣多重簽名錢包缺點
比特幣多重簽名錢包缺點:更難轉移資金。
多重簽名錢包使人們更難轉移資金,無論行為是否惡意,因為錢包需要所有或大多數持有人的簽名,具體取決於設置。
加密貨幣錢包的工作方式與普通錢包相同,它們的所有者必須執行交易、支付費用並對其進行身份驗證才能移動它們。
③ 3、數字簽名(ECDSA)
比特幣中使用的數字簽名演算法是橢圓曲線數字簽名演算法(Elliptic Curve Digital Signature Algorithm)或ECDSA。 ECDSA是用於基於橢圓曲線私鑰/公鑰對的數字簽名的演算法,如橢圓曲線章節[elliptic_curve]所述。 ECDSA用於腳本函數OP_CHECKSIG,OP_CHECKSIGVERIFY,OP_CHECKMULTISIG和OP_CHECKMULTISIGVERIFY。每當你鎖定腳本中看到這些時,解鎖腳本都必須包含一個ECDSA簽名。
數字簽名在比特幣中有三種慎拿高用途:
● 第一,簽名證明私鑰的所有者,即資金所有者,已經授權支出這些資金。
● 第二,授權證明是不可否認的(不可否認性)。
● 第三,簽名證明交易(或交易的具體部分)在簽字之後沒有也不能被任何人修改。
創建數字簽名
在比特幣的ECDSA演算法的實現中,被簽名的「消息」是交易,或更確切地說是交易中特定數據子集的哈希值(參見簽名哈希類型(SIGHASH))。
簽名密鑰是用戶的私鑰,結果是簽名:
((Sig = F{sig}(F{hash}(m), dA)))
這里的:
● dA 是簽名私鑰
● m 是交易(或其部分)
● F hash 是散列函數
● F sig 是簽名演算法
● Sig 是結果簽名
ECDSA數學運算的更多細節可以在ECDSA Math章節中找到。
函數F sig 產生由兩個值組成的簽名Sig,通常稱寬尺為R和S:
Sig = (R, S)
簽名序列化(DER)
解鎖腳本序列化之後:
1301
包含敏嫌以下9個元素:
● 0x30表示DER序列的開始
● 0x45 - 序列的長度(69位元組)
● 0x02 - 一個整數值
● 0x21 - 整數的長度(33位元組)
● R-
● 0x02 - 接下來是一個整數
● 0x20 - 整數的長度(32位元組)
● S-
● 後綴(0x01)指示使用的哈希的類型(SIGHASH_ALL)
④ 什麼是比特幣的數字簽名
比特幣中的數字簽名,是交易中的發起方產生的,為了保證這筆交易確實是由此人發起,並且數據在傳輸時沒有被篡改。數字簽名簡單點來說,就是完整的交易信息,通過數字摘要技術壓縮成固定格式的字元串,然後通過非對稱加密技術,生成一個私鑰。將完整的交易信息和數字簽名傳送給礦工,礦工用交易發起方的公鑰對數字簽名進行解密,解密成功,就將此交易數據寫到區塊中。
⑤ 4. 比特幣的密鑰、地址和錢包 - 精通比特幣筆記
比特幣的所有權是通過密鑰、比特幣地址和數字簽名共同確定的。密鑰不存在於比特幣網路中,而是用戶自己保存,或者利用管理私鑰的軟體-錢包來生成及管理。
比特幣的交易必須有有效簽名才會被存儲在區塊中,因此擁有密鑰就擁有對應賬戶中的比特幣。密鑰都是成對出現的,由一個公鑰和一個私鑰組成。公鑰相當於銀行賬號,私鑰就相當於銀行卡密碼。通常情況下密鑰由錢包軟體管理,用戶不直接使用密鑰。
比特幣地址通常是由公鑰計算得來,也可以由比特幣腳本得來。
比特幣私鑰通常是數字,由比特幣系統隨機( 因為演算法的可靠性與隨機性正相關,所以隨機性必須是真隨機,不是偽隨機,因此比特幣系統可以作為隨機源來使用 )生成,然後將私鑰作為輸入,使用橢圓曲線演算法這個單向加密函數生成對應的公鑰,再將公鑰作為輸入,使用單向加密哈希函數生成地址。例如,通過公鑰K得到地址A的計算方式為:
其中SHA256和PIPEMD160被稱為雙哈希或者HASH160,Base58Check是帶有驗證功能的Base58編碼,驗證方式為先計算原始數據(編碼前)的驗證碼,再比較編碼後數據的驗證碼,相同則地址有效,否則無效。而在使用Base58Check編碼前,需要對數據做處理。
處理方式為: 版本前綴 + 雙哈希後的數據 + 校驗碼
其中版本前綴是自定義的,如比特幣私鑰的前綴是0x80,校驗碼是把版本前綴和雙哈希後的數據拼接起來,進行兩次SHA256計算,取前4位元組。得到處理的數據後,再進行Base58編碼,得到最終的結果。
下圖是Base58Check版本前綴和Base58編碼後的結果
密鑰可以採用不同的編碼格式,得到的編碼後結果雖然不同,但密鑰本身沒有任何變化,採用哪種編碼格式,就看情況而論了,最終目的都是方便人們准確無誤的使用和識別密鑰。
下圖是相同私鑰採用不同編碼方式的結果:
公鑰也有很多種格式,不過最重要的是公鑰被分為壓縮格式和非壓縮格式,帶04前綴的公鑰為非壓縮格式的公鑰,而03,02開頭的標識壓縮格式的公鑰。
前面說過,公鑰是橢圓曲線上的一個點,由一對坐標(x, y)表示,再加上前綴,公鑰可以表示為:前綴 x y。
比如一個公鑰的坐標為:
以非壓縮格式為例,公鑰為(略長):
壓縮格式的公鑰可以節省一定的存儲,對於每天成千上萬的比特幣交易記錄來說,這一點點的節省能起到很大效果。
因為橢圓曲線實際上是一個方程(y2 mod p = (x3 + 7)mod P, y2是y的平方,x3是x的立方),而公鑰是橢圓曲線上的一個點,那麼公鑰即為方程的一個解,如果公鑰中只保留x,那麼可以通過解方程得到y,而壓縮公鑰格式有兩個前綴是因為對y2開方,會得到正負兩個解,在素數p階的有限域上使用二進制算術計算橢圓曲線的時候,y坐標或奇或偶,所以用02表示y為奇數,03表示y為偶數。
所以壓縮格式的公鑰可以表示為:前綴x
以上述公鑰的坐標為准,y為奇數為例,公鑰K為:
不知道大家發現沒有,這種壓縮方式存在一個問題,即一個私鑰可以得出兩個公鑰,壓縮和非壓縮公鑰,而這兩個公鑰都對應同一個私鑰,都合法,但生成的比特幣地址卻不相同,這就涉及到錢包軟體的實現方式,是使用壓縮公鑰還是非壓縮公鑰,或者二者皆用,這個問題後面來介紹。
比特幣錢包最主要的功能就是替用戶保管比特幣私鑰,比特幣錢包有很多種,比如非確定性(隨機)錢包,確定性(種子)錢包。所謂的非確定性是指錢包運行時會生成足夠的私鑰(比如100個私鑰),每個私鑰僅會使用一次,這樣私鑰管理就很麻煩。確定性錢包擁有一個公共種子,單向離散方程使用種子生成私鑰,種子足夠回收所有私鑰,所以在錢包創建時,簡單備份下,就可以在錢包之間轉移輸入。
這里要特別介紹下助記碼詞彙。助記碼詞彙是英文單詞序列,在BIP0039中提出。這些序列對應著錢包中的種子,種子可以生成隨機數,隨機數生成私鑰,私鑰生成公鑰,便有了你需要的一切。所以單詞的順序就是錢包的備份,通過助記碼詞彙能重建錢包,這比記下一串隨機數要強的多。
BIP0039定義助記碼和種子的創建過程如下:
另外一種重要的錢包叫做HD錢包。HD錢包提供了隨機(不確定性) 鑰匙有兩個主要的優勢。
第一,樹狀結構可以被用來表達額外的組織含義。比如當一個特定分支的子密鑰被用來接收交易收入並且有另一個分支的子密鑰用來負責支付花費。不同分支的密鑰都可以被用在企業環境中,這就可以支配不同的分支部門,子公司,具體功能以及會計類別。
第二,它可以允許讓使用者去建立一個公共密鑰的序列而不需要訪問相對應的私鑰。這可允許HD錢包在不安全的伺服器中使用或者在每筆交易中發行不同的公共鑰匙。公共鑰匙不需要被預先載入或者提前衍生,但是在伺服器中不具有可用來支付的私鑰。
BIP0038提出了一個通用標准,使用一個口令加密私鑰並使用Base58Check對加密的私鑰進行編碼,這樣加密的私鑰就可以安全地保存在備份介質里,安全地在錢包間傳輸,保持密鑰在任何可能被暴露情況下的安全性。這個加密標准使用了AES,這個標准由NIST建立,並廣泛應用於商業和軍事應用的數據加密。
BIP0038加密方案是: 輸入一個比特幣私鑰,通常使用WIF編碼過,base58chek字元串的前綴「5」。此外BIP0038加密方案需要一個長密碼作為口令,通常由多個單詞或一段復雜的數字字母字元串組成。BIP0038加密方案的結果是一個由base58check編碼過的加密私鑰,前綴為6P。如果你看到一個6P開頭的的密鑰,這就意味著該密鑰是被加密過,並需個口令來轉換(解碼) 該密鑰回到可被用在任何錢包WIF格式的私鑰(前綴為5)。許多錢包APP現在能夠識別BIP0038加密過的私鑰,會要求用戶提供口令解碼並導入密鑰。
最通常使用BIP0038加密的密鑰用例是紙錢包一一張紙張上備份私鑰。只要用戶選擇了強口令,使用BIP0038加密的私鑰的紙錢包就無比的安全,這也是一種很棒的比特幣離線存儲方式(也被稱作「冷存儲」)。
P2SH函數最常見的實現時用於多重簽名地址腳本。顧名思義,底層腳本需要多個簽名來證明所有權,然後才能消費資金。這類似在銀行開設一個聯合賬戶。
你可以通過計算,生成特殊的比特幣地址,例如我需要一個Hello開頭的地址,你可以通過腳本來生成這樣一個地址。但是每增加一個字元,計算量會增加58倍,超過7個字元,需要專門的硬體或者礦機來生成,如果是8~10個字元,那麼計算量將無法想像。
⑥ 【區塊鏈筆記整理】多重簽名
多重簽名就是多個用戶對同一個消息進行數字簽名,可以簡單理解為一個數字資產多個簽名。
「用N把鑰匙生成一個多重簽名的地址,需要其中M把鑰匙才能花費這個地址上的比特幣,N>=M,這就是M/N的多重簽名」。
簽名標定的是數字資產所屬及許可權,多重簽名預示著資產可由多人支配與管理。拿比特幣來說,如果要動用一個地址的幣,那麼需要多個私鑰才能進行。
多重簽名的作用意義非常,如果採用單獨的私鑰,盡管以目前的密碼學可以保證無法被暴力破解,但是這個私鑰不保證會以其他方式(如黑客通過木馬,自己不小心暴露等)暴露出去的話,那麼對應的數字資產也同時暴露無遺。
此時如果公鑰是由多重簽名方式生成,那麼即便被盜取了其中一個私鑰,盜取者也無法轉移對應的數字資產。
即多重簽名使資產更加安全和多樣化管理,尤其在需要暴露私鑰的交易過程中。
1. 電子商務
較常見的是2/3的多重簽名方式。例如一筆交易,由買家,賣家,平台各持有一份私鑰對應該筆交易的地址,這個地址先有買家轉入這筆交易所需的比特幣數額,後續的交易確認,退款等流程就需要三方中2方才能轉出這些比特幣。無糾紛時,買家賣家雙方確認即可。產生糾紛時由平台做出2/3的仲裁。
2. 財產分割
比如合作團隊管理一筆共有資金。可以使用1/N的模式,即這個賬戶誰都可以支配。好處是清晰忠實地記錄了每個用戶(對應私鑰)的支出明細,方便清算。
3. 資金監管
比如數字錢包,交易所,類似電子商務的2/3模式。比如家庭子女教育基金管理,使用2/2模式,不僅限制夫妻兩房,也給黑客攻擊增加了難度。
多重簽名技術使得以區塊鏈數字幣交易的第三方平台產生了天然的資金安全的信用。相信對未來尤其在跨境電子貿易、交易所等方面產生深遠影響。
⑦ 比特幣價格十年漲幅超1000萬倍,比特幣的原理和作用分別是什麼
自2009年比特幣誕生以來,2010年購買比特幣時的第一個價格約為0.0025美元。以27000美元的價格計算,比特幣誕生以來的漲價幅度已經達到1080萬倍!也就是說,1元人民幣的原始投資可以購買61.3個比特幣,當前頭寸價值為1080萬元人民幣。即使比特幣實現了如此驚人的增長,花旗銀行最近也宣布了30萬美元的目標價格,這是目前價格的11倍!
雖然集中交易也有許多致命的缺點。世界上現有的貨幣和銀行100%是由國家中央銀行發行或放棄的,普通人不能參與貨幣和銀行的發行或中央銀行賬戶。如果央行持續發行貨幣白銀,將不斷稀釋人們手中的貨幣白銀,降低貨幣白銀的購買力。這一點也不令人震驚。世界上有些國家也發生過這種情況。以辛巴威為例,近年來,政府大量發行貨幣和白銀,導致辛巴威經濟崩潰,最終不得不將美元引入當地合法貨幣和白銀。經濟學家們正在考慮在辛巴威取代比特幣。
⑧ 【區塊鏈】比特幣私鑰、公鑰、簽名
在 了解區塊鏈的基礎名詞概念 提到地址由字元和數字組成,但沒有說明怎樣產生的。銀行卡號由銀行核心系統生成,那比特幣地址是通過什麼生成的呢?看下圖:
對於剛接觸比特幣的小白來說,看到這張圖就蒙圈了,究竟什麼是私鑰、公鑰,為什麼生成個地址要這么麻煩嗎?
現在請大家記住這句話: 私鑰通過橢圓曲線相乘生成公鑰,使用公鑰不能導推出私鑰;公鑰通過哈希函數生成比特幣地址,地址也無法導推出公鑰 。
通過這么復雜演算法才算出地址,那私鑰和公鑰只是為了生成地址嗎?不是的,他們還有其他用途,我們先了解下私鑰和公鑰。
現在已經講解地址、挖礦、工作量證明、算力、區塊、區塊鏈等等的概念,不知大家還有印象嗎?如果忘記請溫習這些概念,因為後續很多地方都會用到這些概念。明天講解下區塊鏈有哪些特點。
參考書籍:《精通比特幣》
區塊鏈知識專題:
比特幣記賬方式(區塊鏈知識2)
了解塊鏈的基礎名詞概念(區塊鏈知識1)
⑨ 比特幣有什麼優點
比特幣是一種數字貨幣,比特幣在我國只能算是一種電子商品,比特幣在德國已經成為合法的貨幣了。比特幣可以看做一個收藏品,收藏者將比特幣視作無價之寶,非收藏者將比特幣視為無價值的字元。