比特幣鑽石加密
1. 什麼是比特幣加密技術
比特幣和區塊鏈的誕生需要依賴於很多核心技術的突破:一是拜占庭容錯技術;二是非對稱加密技術;三是點對點支付技術。下面會依次介紹。
拜占庭容錯技術
比特幣和區塊鏈誕生的首要難點在於如何創建分布式共識機制,也就是菜斯利·蘭伯特等人1982年提出的拜占庭將軍問題。所謂拜占庭將軍問題是指,把戰爭中互不信任的各城邦軍隊如何達成共識並決定是否出兵的決策過程。延伸至計算機領域,試圖創建具有容錯性的分布式系統,即使部分節點失效仍可確保系統正常運行,也可讓多個基於零信任基礎的節點達成共識,並確保信息傳遞的一致性。
中本聰所提到的「拜占庭將軍問題」解決方法起始於亞當﹒拜克在1997年發明的哈希現金演算法機制,起初該設計是用於限制垃圾郵件發送與拒絕服務攻擊。2004年,密碼朋克運動早期和重要成員哈爾·芬尼將亞當﹒拜克的哈希現金演算法改進為可復用的工作量證明機制。他們的研究又是基於達利亞·馬凱與邁克爾·瑞特的學術成果:拜占庭容錯機制。正是哈爾·芬尼的可復用的工作量證明機制後來成為比特幣的核心要素之一。哈爾·芬尼是中本聰的最早支持者,同時也是第一筆比特幣轉賬的接受者,在比特幣發展的早期與中本聰有大量互動與交流。
非對稱加密技術
比特幣的非對稱加密技術來源於以下幾項密碼學的技術創新:1976年,Sun公司前首席安全官Whitfield Diffie與斯坦福大學教授Martin Hell,在開創性論文《密碼學的新方向》首次提出公開鑰匙密碼學的概念,發明了非對稱加密演算法。1978年省理工學院的倫納德·阿德曼、羅納德·李維斯特、阿迪·薩莫爾三名研究人員,共同發明了公開鑰匙系統「RSA」可用於數據加密和簽名,率先開發第一個具備商業實用性的非對稱RSA加密演算法。1985年,Neal Koblitz和Victor Miller倆人,首次提出將橢圓曲線演算法(ECC),應用於密碼學,並建立公鑰加密的演算法,公鑰密碼演算法的原理是利用信息的不對稱性,公鑰對應的是私鑰,私鑰是解開所有信息的鑰匙,公鑰可以由私鑰反推算出。ECC能夠提供比RSA更高級別的安全。比特幣使用的就是橢圓曲線演算法公鑰用於接收比特幣,而私鑰則是比特幣支付時的交易簽名。這些加密演算法奠定了當前非對稱加密理論的基礎,被廣泛應用於網路通信領域。但是,當時這些加密技術發明均在NSA嚴密監視的視野之內。NSA最初認為它們對國家安全構成威脅,並將其視為軍用技術。直到20世紀90年代末,NSA才放棄對這些非對稱加密技術的控制,RSA演算法、ECC演算法等非對稱加密技術最終得以走進公眾領域。
不過,中本聰並不信任NSA公布的加密技術,在比特幣系統中沒有使用RSA公鑰系統,原因除了ECC能夠提供比RSA更高級別的安全性能外,還擔心美國安全部門在RSA留有技術後門。2013年9月,斯諾登就曾爆料NSA採用秘密方法控制加密國際標准,比特幣採用的RSA可能留有後門,NSA能以不為人知的方法弱化這條曲線。所幸的是,中本聰神一般走位避開了RSA的陷阱,使用的加密技術不是NSA的標准,而是另一條鮮為人知的橢圓曲線,這條曲線並不在美國RSA的掌握之下。全世界只有極少數程序躲過了這一漏洞,比特幣便是其中之一。
2. 比特幣的核心技術包括
比特幣的核心技術包括1、非對稱加密技術 2、點對點傳輸技術 3、哈希現金演算法機制。
1.非對稱加密技術和對稱加密技術最大的不同就是有了公鑰和私鑰之分。非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。公鑰是公開的,私鑰是保密的。 由於不涉及私鑰的傳輸,整個傳輸過程就變得安全多了。後來又出現了具備商業實用性的非對稱RSA加密演算法以及後來的橢圓曲線加密演算法(ECC),這些都奠定了加密演算法理論的基礎,但是美國國家安全局NSA最初認為這些技術對國家安全構成威脅,所以對這些技術進行了嚴密的監控,知道20世紀90年代末NSA才放棄了對這些技術的監控,這些非對稱技術才最終走入了了公眾的視野。這項技術對應到比特幣場景中就是比特幣的地址和私鑰。
2.點對點傳輸技術顧名思義,就是無需中心伺服器、個體之間可以相互傳輸信息的技術,P2P網路的重要目標就是讓所有客戶端都能提供資源,包括寬頻、存儲空間和計算能力。 對應到比特幣網路中就是利用點對點的技術實現真正的去中心化。
3.哈希現金演算法機制就是讓那些製造垃圾郵件的人付出相應的代價!發送者需要付出一定的工作量,比如說哈希運算,幾秒鍾時間對於普通用戶不算什麼,但對於垃圾郵件的發送者每封郵件都要花幾秒鍾的時間,這樣的成本是沒有辦法負擔的。同時每次運算都會蓋上一個獨一無二的時間戳,這樣就能保證郵件發送方不能重復使用一個運算結果。 對於比特幣而言也是同樣的道理,如何保證一筆數字貨幣沒有被多次消費(Double Spending),就類似於驗證一封郵件沒有被多次發送,所以就要保證每一筆交易順利完成,必須要付出一定的工作量(proof of Work),並且在完成交易時蓋上一個時間戳表示交易完成的時間。
3. 比特幣和其它加密貨幣有何區別
加密貨幣(英文:Cryptocurrency,常常用復數Cryptocurrencies,又譯密碼貨幣,密碼學貨幣)是一種使用密碼學原理來確保交易安全及控制交易單位創造的交易媒介。 加密貨幣是數字貨幣(或稱虛擬貨幣)的一種 。比特幣在2009年成為第一個去中心化的加密貨幣,這之後加密貨幣一詞多指此類設計。 自此之後數種類似的加密貨幣被創造,它們通常被稱作altcoins。 加密貨幣基於去中心化的共識機制 ,與依賴中心化監管體系的銀行金融系統相對。
去中心化的性質源自於使用分布式賬本的區塊鏈(Blockchain)技術。
中文名
加密貨幣
外文名
Cryptocurrency
領域
區塊鏈
比特幣以外的加密貨幣
比特幣以外的密碼貨幣,又稱為山寨幣、競爭幣(英語:altcoin),部分是參考比特幣思想、原理、源代碼產生的,與比特幣相似的虛擬貨幣,目前有800種以上的密碼貨幣在流通。
2017年2月到4月期間,山寨幣總和占密碼貨幣市場總值比例,由15%提高到接近40%。
由於比特幣本身並沒有權威的發行機構和國家政權來維持其權威性、唯一性,比特幣與其模仿者之間只能平等地相處,雖然其是最早的虛擬貨幣,也是最知名、人們最熟悉的,也具有最大的用戶網路社區,具有很強的網路效應,大部分時間也是市值最高的密碼貨幣,但是並不具有絕對排它的地位。[1]
4. 比特幣和鑽石黃金的區別
黃金是一般等價物,硬通貨,所有貨幣都是以黃金為基礎的,所以每個囯家除了發行貨幣,還都要注意黃金儲量。通貨膨籓脹就是貨幣多了就不值錢了,對比參照物也是黃金。可以理解為黃金已經不是保值的問題了,而是黃金根本就是價值的一般參照物。
比特幣(BitCoin)的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。該貨幣系統曾在4年內只有不超過1050萬個,之後的總數量將被永久限制在2100萬個。
從兩個概念來看,他們的主要區別是:黃金是實物,是一般等價物;而比特幣是虛擬貨幣,容易受操縱,其價值有一定才炒作成分。
5. 比特幣是什麼請通俗的解釋一下講一下它的歷史
說說我的理解:有個人發明了一個方程(演算法?),這個方程有2100萬個解,於是根據這個方程發展出一個游戲,就是誰找到了這個方程的一個解,就給這個人一個叫「比特幣」的獎勵品。於是很多人開始玩這個游戲(無聊?)。最開始,使用一般的CPU進行運算很快就能找出這個方程的一些解,比如說玩家A說我找到了解a1,於是A向所有參與游戲的人詢問「你們找到a1這個解了嗎?」於是所有人都帶著a1這個解去驗證,並查詢自己是否已經計算過了a1,如果都沒有人對「a1是這個方程的一個解」提出異議,並且沒有人在A之前找到了a1,那麼很幸運,A將獲得一個比特幣。當這個游戲參與的玩家越來越多,被找到的解也就越來越多,想要快速發現新的解就需要更強大的運算力,而解方程的過程涉及大量的浮點運算,傳統CPU已經無法滿足這種高精度的浮點運算,於是主要的運算任務交給了更擅長浮點運算的GPU進行(發展到後來就是專業挖礦機)。本來這是一堆極客玩的游戲,但是某些銀行家發現了比特幣的貨幣特性,於是開始用真實流通的貨幣去購買比特幣,使比特幣與金融貨幣掛鉤,於是比特幣逐漸得開始擁有貨幣的屬性並擁有一定的價值(因為有人願意用美元買比特幣)。總結一個比特幣是一個方程的2100萬個解的其中一個,有人願意用美元或是其他貨幣去兌換比特幣,那麼比特幣是有價值的,如果沒有人願意拿貨幣兌換比特幣了,比特幣就毫無價值。
6. 比特幣到底是不是加密貨幣
比特幣(Bitcoin)是一種由開源的P2P軟體產生的電子貨幣,數字貨幣,是一種網路虛擬貨幣。比特幣也被意譯為「比特金」。簡寫:BTC。
7. (四)比特幣加密原理
這篇文章將會講解比特幣的加密原理。比特幣之所以這么安全,就是因為它的加密機制。
哈希又稱為散列,簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。
那麼怎麼保證原文沒用被第三方篡改呢?答案就是數字簽名。
這個類似於現實中的簽名,就是在信息後面加上另一段內容,作為發送者的證明並證明信息沒有被篡改。
如上圖所示,
分析: 假設C截取信息,他想篡改內容。首先簽名無法篡改,因為他沒有發送方的私鑰,如果用自己的私鑰進行簽名,那麼接收方用發送方的公鑰解密時是解不開的。所以他只能篡改密文。但接收方解出密文並進行哈希運算後得到的摘要必然和原來的摘要不同,而用發送方的公鑰解密出簽名得到的摘要肯定不會被篡改,所以兩次摘要就會出現不一致,就能確認內容被篡改了。
非對稱加密和數字簽名這一塊稍微有點繞,不過你看懂了之後一定會說一句:中本聰666!!!
To be continued...
8. 誰知道比特幣是什麼它是怎麼運作的
比特幣是一種P2P形式的虛擬的加密數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。與所有的貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生。
比特幣及其眾多衍生品被稱為加密貨幣。 該系統使用了加密技術來生成新幣,以及進行轉帳驗證。 加密序列有以下幾個目的:使交易幾乎不可能被偽造;使貨幣銀行或貨幣錢包可作為數據輕松轉移;驗證比特幣從一個用戶轉移到另一個用戶。
在比特幣被使用之前,必須先由系統生成或挖礦得到新幣。 這些區塊的編碼和解碼過程需要大量的算力,那些成功生成新區塊的用戶將獲得一些比特幣或一部分交易費用作為獎勵。
這樣一來,將比特幣從一位用戶轉移到另一位用戶的同樣過程中,在同等基礎上也為貢獻給比特幣網路的更多算力創造了需求,從而生成出可供使用的新幣。
(8)比特幣鑽石加密擴展閱讀:
比特幣的作用
比特幣就像現實中的金幣一樣:它們具有價值,也可以像金幣一樣用於交易。 可以透過比特幣進行投資——買入加密貨幣並從其價格波動中獲利。 每天都有新的地方將比特幣列入支付方式。
比特幣沒有一個正式價格。 比特幣的價格是根據人們願意支付的價格來確定的。比特幣的價格通常以一枚比特幣的花費來表示。 但是,交易所一般會允許以任何金額購買,即可以購買少於一枚比特幣。 Libertex 的價格指數就是即時查看比特幣價格的優質資源。
參考資料來源:網路-比特幣
9. 比特幣鑽石是什麼
比特幣鑽石超級(BCDS)是比特幣的一個分支,發生在塊481819的預定高度,並隨之產生一個新的鏈作為BCDS。
比特幣鑽石超級礦工將開始使用新的工作量驗證演算法創建積木,並將根據BTC的原始功能連續開發和加強對賬戶轉移和隱私的保護。這將導致比特幣區塊鏈分叉。最初的比特幣區塊鏈將保持不變,但區塊鏈的一個新分支將從原始鏈中分離出來。
比特幣鑽石演算法要比比特幣先進,其功能也更加完善。
(9)比特幣鑽石加密擴展閱讀:
比特幣(Bitcoin)的概念最初由中本聰在2008年11月1日提出,並於2009年1月3日正式誕生。根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的虛擬的加密數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
與所有的貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。
P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。
10. 比特幣的加密(秘鑰、地址、腳本驗證)
https://en.bitcoin.it/wiki/Address
https://www.cnblogs.com/zhaoweiwei/p/address.html
生成方式:
P2PKH的交易腳本
舉個真實的例子:
ScriptSig:
PUSHDATA(72)[9701] PUSHDATA(33)
[]
這裡面的一個scriptSig由2部分組成,第一部分是簽名,第二部分是公鑰,PUSHDATA(N),表示要壓入棧頂的byte,1個byte表示2個字元,PUSHDATA(72)表示壓入144個字元
Output Scripts
HASH160 PUSHDATA(20)[] EQUAL
DUP HASH160 PUSHDATA(20)[] EQUALVERIFY CHECKSIG
第二個找零output地址因為是P2PKH開頭的,所以格式和描述的一樣
https://www.hibtc.org/2428.html
結合多重簽名一起使用
scriptSig: ..signatures... <serialized script>
scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL
表示一共有n個參與方,只要有m個參與方同意了這筆交易,則這筆交易就生效了,具體的規則是通過scriptHash裡面的腳本內容決定的
m-of-n multi-signature transaction:
scriptSig: 0 <sig1> ... <script>
script: OP_m <pubKey1> ... OP_n OP_CHECKMULTISIG
ScriptSig:
0[] PUSHDATA(72)[1201] PUSHDATA(71)[01] PUSHDATA1[]
HASH160 PUSHDATA(20)[] EQUAL
結合P2SH的新特徵
https://en.bitcoin.it/wiki/Transaction
目前比特幣支持兩種類型的交易:Pay-to-PubkeyHash、Pay-to-Script-Hash
驗證一筆P2PKH交易的一個輸入是否合法:
總結:先驗證這筆output是不是屬於該用戶,再驗證該用戶的簽名是否有效
參考:
https://blog.csdn.net/jerry81333/article/details/56824166
初級版的比特幣交易
https://www.jianshu.com/p/a57795ec562c