Ⅰ 鍦ㄥ尯鍧楅摼涓涓鑸浣跨敤浠涔堝姞瀵嗙畻娉
鍦ㄥ尯鍧楅摼涓錛屼竴鑸浣跨敤涓ょ嶄富瑕佺殑鍔犲瘑綆楁硶錛
鎷撳睍鐭ヨ瘑錛
鍝堝笇鍑芥暟鏄涓縐嶅皢浠繪剰闀垮害鐨勬暟鎹錛堝傛枃鏈銆佹暟瀛楃瓑錛夎漿鎹涓哄滻瀹氶暱搴︼紙閫氬父涓256浣嶆垨512浣嶏級鐨勬憳瑕佺殑鏂規硶銆傚畠浠闈炲父蹇涓旈潪甯稿畨鍏錛屽洜涓烘敼鍙樻暟鎹涓鐨勪竴灝忛儴鍒嗭紙鍗充嬌鏄寰灝忕殑鏀瑰彉錛変細瀵艱嚧鍝堝笇緇撴灉鐨勫彉鍖栭潪甯稿ぇ錛岀敋鑷充笉鍙閫嗐傝繖縐嶇壒鎬т嬌寰楀搱甯屽嚱鏁板湪鍖哄潡閾句腑琚騫挎硾浣跨敤錛屽傚尯鍧楃殑merkle鏍戠粨鏋勩佷氦鏄撶殑鏁板瓧絳懼悕浠ュ強瀵嗙爜瀛﹂挶鍖呯殑瀛樺偍絳夈
姣旂壒甯佸尯鍧楅摼涓昏佷嬌鐢⊿HA-256浣滀負鍏跺搱甯屽嚱鏁幫紝榪欐槸鐢盌avid Chaum鍜孧ayra P. Chilomchik鍦1997騫村紩鍏ョ殑涓縐嶇畻娉曘係HA-256鎻愪緵浜嗕竴縐嶉潪甯稿畨鍏ㄧ殑鏂瑰紡鏉ュ壋寤哄尯鍧楅摼騫剁『淇濅氦鏄撶殑瀹夊叏鎬с傛ゅ栵紝鍖哄潡閾句腑鐨凪erkle鏍戠粨鏋勪篃鏄鍩轟簬SHA-256鐨勫搱甯屽嚱鏁版潵鍒涘緩鐨勩
浠ヤ笂涓ょ嶅姞瀵嗙畻娉曞拰鍝堝笇鍑芥暟鍦ㄥ尯鍧楅摼涓閮芥壆婕旂潃闈炲父閲嶈佺殑瑙掕壊錛屽畠浠淇濊瘉浜嗕氦鏄撶殑瀹夊叏鎬с佸畬鏁存у拰鍖垮悕鎬э紝鍚屾椂涔熺『淇濅簡鍖哄潡閾劇綉緇滅殑鍘諱腑蹇冨寲鍜屼笉鍙綃℃敼鎬с
鍚屾椂錛岀敱浜庡尯鍧楅摼涓鐨勬暟鎹鏄浠ュ尯鍧楃殑褰㈠紡涓嶆柇澧為暱鐨勶紝榪欎簺鍔犲瘑綆楁硶榪樿鐢ㄤ簬鍒涘緩鍖哄潡澶村拰鍖哄潡闂寸殑閾炬帴錛岃繘涓姝ユ彁楂樹簡鍖哄潡閾劇殑鎬ц兘鍜屽畨鍏ㄦс
Ⅱ 比特幣會消失嗎
目前不可能取消。比特幣存在的價值就是挑戰現在的金融制度,比特幣是目前市場共識所認可的一個流通私人貨幣,並沒有任何的國家購買力和法律保障,但是想要取消比特幣還是非常困難的。
第一,基於目前龐大的暗網和黑市交易。
有需求就有市場,比特幣最初的價值完全是由暗網和黑客以及灰色交易所推崇起來的,一個去中心化和不可追蹤性的加密貨幣,以及區塊鏈點對點的交易方式完全符合這個市場的交易規則,這也是比特幣一直與洗錢丑聞相關聯的原因。
第二,全球市場開始參與炒作。
華爾街也好,紐交所也罷目前都開始紛紛參與以及有意向參與比特幣期貨交易。這是一個非常明確的信號,數字貨幣目前市值已接近5000億美元這絕對是一個大蛋糕。
綜上所述如果沒有新的,可以替代比特幣的產品出現,短時間內想要取締比特幣是完全不可能的。
自誕生以來,一直有人說他會死,然而現在越活越好,並不會被取消,也取消不了。
你有本事把比特幣取消嗎??求你把我硬碟上170GB的比特幣數據搬走!你上門來砸了也可以,但是這170GB的數據全世界還有至少幾十萬份。你能同時銷毀這么多份數據,就可以把比特幣取消了,試試你能不能做到!
第一,比特幣是區塊鏈技術的應用,換句話說,它具有去中心化的特點,或者說是分布式記賬;
第二,區塊鏈技術源於比特幣;
第三,比特幣是一組復雜的代碼,只有解開這個代碼的人,才能獲得比特幣。而總的只有2100枚比特幣,意味著比特幣將會通過挖礦被不斷發掘出來。
第四,目前比特幣有專門的挖礦公司進行發掘,這也就說明比特幣會越變越少。
綜上所述,我覺得不是比特幣會不會消失,而是區塊鏈技術究竟會不會產生出第二個「比特幣」出來。
從技術角度說,至少有兩種辦法摧毀比特幣:
1、只要各大網路運營商從骨幹網上切斷比特幣的P2P協議通訊,比特幣的挖礦作業和轉賬能力就被切斷了,比特幣的幣值也就會立馬趨近於零,相對於被取消了,從政府辦事流程上來說,以金融穩定、反洗錢、返黑市交易等任何羅織的罪名出發立個法(或者行政規定),比特幣就算被合法的摧毀了。任何國家的當局者在本國的法幣受到沖擊、金融穩定受到威脅時,都很可能果斷採取上述措施。
2、集中購買大量礦機對比特幣發起51%算力攻擊,比特幣幣值也會應聲歸零,而發動這種攻擊需要的投資並不大(相對於國家而言)
因此,千萬不要對比特幣幣值的未來過於樂觀,希望炒幣、屯幣賺錢的人盡量避免重倉持有比特幣。
目前比特幣已經曲曲折折發展了9年之久。事已至此,它是不會消失的,未來只是會討論他的價格依波動,還有就是面對群眾面的大小問題。照目前來看,知名度是越來越大,尤其是在經歷了2017年的瘋狂之後。
從下面幾個因素來看:
1.自身在幣圈的地位,無論是市值還是用戶基礎以及忠實度,在目前的虛擬貨幣圈中他論第二,沒人敢說自己是第一。尤其是17年中國採取了監管了之後,直接關閉了法幣和虛擬數字貨幣之間的兌換通道。交易所基本都是幣幣交易,BTC成為幣圈的硬通貨。現在資深炒幣的人一般都是說自己賺了多少個BTC。
2.需求,有一點不可否認的,現在這些虛擬數字貨幣交易為一部分人提供了另外一種投機的選擇,投機需求;另外一個需求,也是BTC備受爭議的一點,暗網交易,助長了黑暗犯罪的氣焰。我們都知道我們所能夠接觸到的互聯網只是冰山一角,佔比4%,而暗網則是深藏於深海,體量數十倍於它的平行互聯網世界。只要有互聯網在,BTC永遠不可能消失,他是活在互聯網中的。
3.監管。世界各國對於BTC的態度都不是統一的,有的支持,有的反對,有的保持中立。要想全面監管BTC,只有全世界的國家都達成一致,才有可能。只是目前為止,全世界就某件事情保持高度一致,對不起,我沒看到。要知道,國與國之間的還是存在利益的博弈的。你看,就算成立了聯合國,在某些問題上,又能怎樣呢?
有些話我們都熟讀於耳,「 科技 是第一生產力」,「 科技 是把雙刃劍」
自古以來, 科技 本身沒有錯,只是因為險惡人心滋生的一切需求,才會把另一面利用的淋淋盡致
貨幣的價值不是取決於這個,而是取決於貨幣在人們心中的分量,或者說是貨幣的信用。你的擔心確實是正確的,在比特幣誕生的初期,好多幣都丟失了,好多地址的幣,很久都沒有動,可能主人也忘記了密碼,或者是地址丟失了。
長期會,長期比特幣也一文不值,那比特幣沒有價值的時候是什麼時候呢,黃金一文不值。
就未來十年,比特幣不會消失,而且價格越來越高,1個比特幣等於一幢別墅。
投機大過於兌換物質的比特幣是陷阱、誰會去花會升值的金錢?這比投資股票還恐怖、它沒有任何實體的保障、再者、簡單的看是理想的貨幣、可仔細的看就應該理解到、它是利用了人多幣少的危機性普遍心理而炒作的傳銷、[打臉]傳銷的特點之一、為了利益的投資、之二、自己會成為宣傳者、之三、投資大過於使用、
Ⅲ 鍖哄潡閾1鎶鏈涓昏佸簲鐢ㄩ嗗煙鏈夊摢浜
鍖哄潡閾炬槸浠ユ瘮鐗瑰竵涓轟唬琛ㄧ殑鏁板瓧鍔犲瘑璐у竵浣撶郴鐨勬牳蹇冩敮鎾戞妧鏈銆傚尯鍧楅摼鎶鏈鐨勬牳蹇冧紭鍔挎槸鍘諱腑蹇冨寲錛岃兘澶熼氳繃榪愮敤鏁版嵁鍔犲瘑銆佹椂闂存埑銆佸垎甯冨紡鍏辮瘑鍜岀粡嫻庢縺鍔辯瓑鎵嬫碉紝鍦ㄨ妭鐐規棤闇浜掔浉淇′換鐨勫垎甯冨紡緋葷粺涓瀹炵幇鍩轟簬鍘諱腑蹇冨寲淇$敤鐨勭偣瀵圭偣浜ゆ槗銆佸崗璋冧笌鍗忎綔錛屼粠鑰屼負瑙e喅涓蹇冨寲鏈烘瀯鏅閬嶅瓨鍦ㄧ殑楂樻垚鏈銆佷綆鏁堢巼鍜屾暟鎹瀛樺偍涓嶅畨鍏ㄧ瓑闂棰樻彁渚涗簡瑙e喅鏂規堛
鍖哄潡閾劇殑搴旂敤棰嗗煙鏈夋暟瀛楄揣甯併侀氳瘉銆侀噾鋙嶃侀槻浼婧婧愩侀殣縐佷繚鎶ゃ佷緵搴旈摼銆佸ū涔愮瓑絳夛紝鍖哄潡閾俱佹瘮鐗瑰竵鐨勭伀鐖嗭紝涓嶅皯鐩稿叧鐨則op鍩熷悕閮借娉ㄥ唽錛屽瑰煙鍚嶈屼笟浜х敓浜嗘瘮杈冨ぇ鐨勫獎鍝嶃
Ⅳ 高中生如何理解比特幣加密演算法
加密演算法是數字貨幣的基石,比特幣的公鑰體系採用橢圓曲線演算法來保證交易的安全性。這是因為要攻破橢圓曲線加密就要面對離散對數難題,目前為止還沒有找到在多項式時間內解決的辦法,在演算法所用的空間足夠大的情況下,被認為是安全的。本文不涉及高深的數學理論,希望高中生都能看懂。
密碼學具有久遠的歷史,幾乎人人都可以構造出加解密的方法,比如說簡單地循環移位。古老或簡單的方法需要保密加密演算法和秘鑰。但是從歷史上長期的攻防斗爭來看,基於加密方式的保密並不可靠,同時,長期以來,秘鑰的傳遞也是一個很大的問題,往往面臨秘鑰泄漏或遭遇中間人攻擊的風險。
上世紀70年代,密碼學迎來了突破。Ralph C. Merkle在1974年首先提出非對稱加密的思想,兩年以後,Whitfield Diffie和Whitfield Diffie兩位學者以單向函數和單向暗門函數為基礎提出了具體的思路。隨後,大量的研究和演算法涌現,其中最為著名的就是RSA演算法和一系列的橢圓曲線演算法。
無論哪一種演算法,都是站在前人的肩膀之上,主要以素數為研究對象的數論的發展,群論和有限域理論為基礎。內容加密的秘鑰不再需要傳遞,而是通過運算產生,這樣,即使在不安全的網路中進行通信也是安全的。密文的破解依賴於秘鑰的破解,但秘鑰的破解面臨難題,對於RSA演算法,這個難題是大數因式分解,對於橢圓曲線演算法,這個難題是類離散對數求解。兩者在目前都沒有多項式時間內的解決辦法,也就是說,當位數增多時,難度差不多時指數級上升的。
那麼加解密如何在公私鑰體系中進行的呢?一句話,通過在一個有限域內的運算進行,這是因為加解密都必須是精確的。一個有限域就是一個具有有限個元素的集合。加密就是在把其中一個元素映射到另一個元素,而解密就是再做一次映射。而有限域的構成與素數的性質有關。
前段時間,黎曼猜想(與素數定理關系密切)被熱炒的時候,有一位區塊鏈項目的技術總監說橢圓曲線演算法與素數無關,不受黎曼猜想證明的影響,就完全是瞎說了。可見區塊鏈項目內魚龍混雜,確實需要好好洗洗。
比特幣及多數區塊鏈項目採用的公鑰體系都是橢圓曲線演算法,而非RSA。而介紹橢圓曲線演算法之前,了解一下離散對數問題對其安全性的理解很有幫助。
先來看一下 費馬小定理 :
原根 定義:
設(a, p)=1 (a與p互素),滿足
的最下正整數 l,叫作a模p的階,模p階為(最大值)p-1的整數a叫作模p的原根。
兩個定理:
基於此,我們可以看到,{1, 2, 3, … p-1} 就是一個有限域,而且定義運算 gi (mod p), 落在這個有限域內,同時,當i取0~p-2的不同數時,運算結果不同。這和我們在高中學到的求冪基本上是一樣的,只不過加了一層求模運算而已。
另一點需要說明的是,g的指數可以不限於0~p-2, 其實可以是所有自然數,但是由於
所以,所有的函數值都是在有限域內,而且是連續循環的。
離散對數定義:
設g為模p的原根,(a,p) = 1,
我們稱 i 為a(對於模p的原根g)的指數,表示成:
這里ind 就是 index的前3個字母。
這個定義是不是和log的定義很像?其實這也就是我們高中學到的對數定義的擴展,只不過現在應用到一個有限域上。
但是,這與實數域上的對數計算不同,實數域是一個連續空間,其上的對數計算有公式和規律可循,但往往很難做到精確。我們的加密體系裡需要精確,但是在一個有限域上的運算極為困難,當你知道冪值a和對數底g,求其離散對數值i非常困難。
當選擇的素數P足夠大時,求i在時間上和運算量上變得不可能。因此我們可以說i是不能被計算出來的,也就是說是安全的,不能被破解的。
比特幣的橢圓曲線演算法具體而言採用的是 secp256k1演算法。網上關於橢圓曲線演算法的介紹很多,這里不做詳細闡述,大家只要知道其實它是一個三次曲線(不是一個橢圓函數),定義如下:
那麼這里有參數a, b;取值不同,橢圓曲線也就不同,當然x, y 這里定義在實數域上,在密碼體系裡是行不通的,真正採用的時候,x, y要定義在一個有限域上,都是自然數,而且小於一個素數P。那麼當這個橢圓曲線定義好後,它反應在坐標系中就是一些離散的點,一點也不像曲線。但是,在設定的有限域上,其各種運算是完備的。也就是說,能夠通過加密運算找到對應的點,通過解密運算得到加密前的點。
同時,與前面講到的離散對數問題一樣,我們希望在這個橢圓曲線的離散點陣中找到一個有限的子群,其具有我們前面提到的遍歷和循環性質。而我們的所有計算將使用這個子群。這樣就建立好了我們需要的一個有限域。那麼這里就需要子群的階(一個素數n)和在子群中的基點G(一個坐標,它通過加法運算可以遍歷n階子群)。
根據上面的描述,我們知道橢圓曲線的定義包含一個五元祖(P, a, b, G, n, h);具體的定義和概念如下:
P: 一個大素數,用來定義橢圓曲線的有限域(群)
a, b: 橢圓曲線的參數,定義橢圓曲線函數
G: 循環子群中的基點,運算的基礎
n: 循環子群的階(另一個大素數,< P )
h:子群的相關因子,也即群的階除以子群的階的整數部分。
好了,是時候來看一下比特幣的橢圓曲線演算法是一個怎樣的橢圓曲線了。簡單地說,就是上述參數取以下值的橢圓曲線:
橢圓曲線定義了加法,其定義是兩個點相連,交與圖像的第三點的關於x軸的對稱點為兩個點的和。網上這部分內容已經有很多,這里不就其細節進行闡述。
但細心的同學可能有個疑問,離散對數問題的難題表現在求冪容易,但求其指數非常難,然而,橢圓曲線演算法中,沒有求冪,只有求乘積。這怎麼體現的是離散對數問題呢?
其實,這是一個定義問題,最初橢圓曲線演算法定義的時候把這種運算定義為求和,但是,你只要把這種運算定義為求積,整個體系也是沒有問題的。而且如果定義為求積,你會發現所有的操作形式上和離散對數問題一致,在有限域的選擇的原則上也是一致的。所以,本質上這還是一個離散對數問題。但又不完全是簡單的離散對數問題,實際上比一般的離散對數問題要難,因為這里不是簡單地求數的離散對數,而是在一個自定義的計算上求類似於離散對數的值。這也是為什麼橢圓曲線演算法採用比RSA所需要的(一般2048位)少得多的私鑰位數(256位)就非常安全了。
Ⅳ 比特幣地址是怎麼產生的
比特幣使用橢圓曲線演算法生成公鑰和私鑰,選擇的是secp256k1曲線。生成的公鑰是33位元組的大數,私鑰是32位元組的大數,錢包文件wallet.dat中直接保存了公鑰和私鑰。我們在接收和發送比特幣時用到的比特幣地址是公鑰經過演算法處理後得到的,具體過程是公鑰先經過SHA-256演算法處理得到32位元組的哈希結果,再經過RIPEMED演算法處理後得到20位元組的摘要結果,再經過字元轉換過程得到我們看到的地址。這個字元轉換過程與私鑰的字元轉換過程完成相同,步驟是先把輸入的內容(對於公鑰就是20位元組的摘要結果,對於私鑰就是32位元組的大數)增加版本號,經過連續兩次SHA-256演算法,取後一次哈希結果的前4位元組作為校驗碼附在輸入內容的後面,然後再經過Base58編碼,得到字元串。喬曼特區塊鏈專業站鏈喬教育在線是從事區塊鏈相關培訓,且獲得教育部認證的區塊鏈專業培訓工作站。
Ⅵ aBey區塊鏈技術什麼東西
希望能幫到你:
網頁鏈接
aBey區塊鏈技術是來自於羅馬尼亞蒂米什瓦拉西部大學 數學與信息學院 計算機科學系的兩位人工智慧系博士:Ciprian Pungila & Vorel Negru的自主研究項目。採用了恆定輕化區塊鏈技術和多層編程及拓展的區塊鏈解決方案。aBey的區塊鏈規模始終保持不變,其規模僅為50個活躍區塊。aBey區塊鏈技術適用於利用電子貨幣在電子商務系統中進行 大批量交易,且具有多層次性、可擴展性和安全性並可進行編程。
官方白皮書聲稱aBey適用於電子商務系統中利用數字貨幣進行大批量交易 並可進行多層編程及拓展的區塊鏈解決方案。
aBey區塊鏈技術的具體實行方法:
利用一種多層次且可編程的區塊鏈方法實現數字貨幣(為簡單起見,我們稱之為「DC」)。該方法可為執行各種電子商務用途(如:貸款融資、完成可退款交易和不可退款交易等)鋪平道路。在區塊鏈的第一層可實現固有的數字貨幣設計—即我們通常所說的基礎層(「FL」)。在基礎上建立的各種不同的上層,可用於描述與各種不同商業驅動型應用實例相關的各種附加功能(我們將在下文中予以簡要介紹)。所有上述層級均具有完全可編程性,並且極容易經改編後,適用於各種不同的應用實例。
盡管現如今的絕大多數數字貨均在區塊鏈中儲存交易差額,但aBey的方法更類似於PascalCoin數字貨幣。該方法使用我們稱之為「Vault」 的加密結構。「Vault」結構可在網路中僅保存所有賬戶的余額,而不是所有已完成交易的完整清單,並可在區塊鏈演變歷史中完成重構。鑒於Vault可允許隨時刪除無用內容,因此可大幅降低區塊鏈的儲存成本。與此相比,在作者撰寫本文時,下載比特幣資料庫所需的儲存空間為70GB(報警率仍持續增長,預計在2019年達到300GB),因此使用儲存空間較小(如,120GB或256GB)的超極本或筆記本實施挖礦操作已處於不可行狀態。另一方面,aBey區塊鏈的規模將始終保持不變,其規模僅為50個區塊(在撰寫本文時,比特幣區塊鏈中的區塊已超過525,000個)。
Vault完全支持賬戶之間的數字貨幣轉賬。此外,Vault可向每個賬戶分配所有者界定的名稱,而不是像今天的加密貨幣一樣利用哈希演算法—這可使賬戶更容易記憶,並且可向公眾公開名稱。
Vault有助於防止區塊鏈日常費用過高(特別是與交易歷史相關的費用)的重要功能之一是,Vault可通過創建有關區塊鏈狀態的安全副本,實現保存此類狀態並同時降低區塊鏈自身規模的目的。由於無需交易歷史,並且所有賬戶均可保存其直接余額,因此區塊鏈信息具有可部分擦除的特徵。所有可儲存的區塊鏈狀態均可被視為該區塊鏈的界標。
安全數據共享:
通過區塊鏈結構設計,對於發送到網路中的每次交易,區塊鏈可能均包含經加密的元數據。該元數據僅可由交易接收人解密。對於向網路中發送的交易,通過在此類交易中包含發送人公鑰,並由交易接收人利用公鑰解密元數據實現這一目的。由於交易接收人持有用於解密的私鑰,因此僅可由交易接收人實施數據解密過程。從加密方法角度來說,盡管比特幣僅限於使用橢圓曲線密碼學,但區塊鏈元數據可使用任何其他加密機制完成加密過程。這不僅可在安全性選擇方面提供完全的靈活性,而且不會對區塊鏈的結構或功能造成任何不良影響。
可擴展性:
鑒於aBey區塊鏈支持通過設計創建歷史界標,因此從區塊鏈將始終需要不斷儲存(與現有的最新SL有關)角度來說,網路自身將非常容易實現高擴展性。該方法完全消除了為計算所有賬戶的余額而儲存交易歷史的需要,並且可直接儲存所有賬戶余額,進而可確保網路中所有節點提供的特定余額信息,均符合拜占庭一致性要求。
安全性和工作量證明:
根據涉及,在aBey的方法中不可能出現雙向支付操作(在指定適當的場景中,現如今的絕大多數主流加密貨幣在理論上可能存在雙向支付操作)。每次交易均意味著按照相對簡單的方式更新相應賬戶的余額,並且無任何可將交易從網路待處理交易隊里中還原的特殊方式。對於aBey區塊鏈來說,鑒於所有技術層/功能層均建立在Vault上,因此Vault是我們區塊鏈的基礎結構,因此Vault對挖礦操作非常重要。我們提議的區塊鏈模型由一系列區塊組成,其中每個區塊均由網路中自願挖礦的節點,通過使用工作量證明模型經挖礦後生成。網路中的所有節點均可根據交易(區塊的組成部分)獨立更新賬戶余額,並與其他節點相互獨立。挖礦操作將對第一功能層造成影響。除更新余額之外,每個節點還可更新區塊鏈結構組成中,可能屬於上層功能層的其他事項。一旦出現更新狀況,則將創建一個全新的挖礦獎勵區塊。該挖礦獎勵區塊中包含多個全新且已分配給礦工的獎勵賬戶。礦工根據工作量證明作為上述獎勵的獲得者(目前獎勵賬戶的數量50個)。獎勵的方式是向獎勵獲得者分配所有此類賬戶的公鑰。
區塊鏈技術層:
aBey的數字貨幣模式中包含多層結構,其中第一層表示實現數字貨幣自身(有關圖形解釋,請參閱圖7)。相應層級包括:
第1層→數字貨幣(加密貨幣):貨幣轉讓,挖礦
第2層→可退款交易和不可退款交易:允許使用數字公正系統完成可退款交易
第3層→關聯方和傭金:允許向關聯方自動分配傭金
第4層→接觸貨幣:通過借出貨幣,基於利息獲得收入
第5層→可編程:經保留後可供未來實現圖靈完整編程模型使用,以便於按照自定義方式處理區塊鏈數據 (如,智能合同等)
第6層→自定義協議:保留以供未來使用
交易類型:
aBey的模式可允許通過設計,在區塊鏈中不同的層級,完成多種交易類型。第欱層中的交易類型如下所述:
1→資金轉移:賬戶之間轉移資金(1對1轉移)
2→可退款型資金轉移:賬戶之間的可退款交易。使用託管余額代替常規賬戶余額
3→密鑰更改:更改可用於處理賬戶的密鑰
4→恢復賬戶:從失去的,無效的賬戶中恢復資金
5→設置賬戶名稱:定義創始人所持帳戶的名稱
6→銷售准備:標記准備銷售的賬戶
7→移出銷售隊列:去除賬戶銷售標記,並將賬戶標記為不可銷售
可退款交易和調解人:
對於絕大多數實例來說,不可退款交易等同於所有基於區塊鏈的數字貨幣模式中的欱對欱付款交易。但aBey已在自己的數字貨幣模式中引入可退款交易概念。在aBey模式中,利用小旗標記交易屬於可退款標記或不可退款交易。除此之外,在aBey的區塊鏈網路中,每個賬戶都包含兩種類型的余額:常規且不可變更的余額(用於標記該賬戶已收到且可立即支出,但支出後不可收回的金額)和託管余額(包含被標記為可退款交易的交易清單,以及每次交易的分鍾數)。
8→付款爭議:針對已被標記為可退款交易的相應交易,發起付款爭議,但僅可由付款人發起。
9→退款請求:針對先前被標記為可退款交易的相應交易,發起退款請求,但僅可由付款人發起。
10→取消託管:取消託管資金,並立即向付款人返還資金。僅可由收款人發起。
11→解除託管:解除託管資金,並立即將金額加至收款人賬戶余額。僅可由付款人發起。
關聯方和傭金:
當今由區塊鏈驅動的金融科技存在的重要缺失之一是,缺乏對銷售特定產品或服務的關聯方提供獎勵的能力。aBey區塊鏈第3層可以解決這一問題。
借出數字貨幣:
借出數字貨幣不僅是一種允許人們借入法定貨幣的簡單快捷方法,而且還可保證加密資產的安全。鑒於現如今的有價數字貨幣同樣用於交易,因此借出數字貨幣可行的原因不僅在於允許借款人抵押其儲蓄的任何類型的加密貨幣,而且其具有吸引力的原因在於,這也是一種可以按照完全安全或極低風險的方式,保留自身數字資產。此外,aBey的模式還通過客戶Vault借出網關(VLG)提供內置保護,並使VLG可作為貸款人和借款人之間的緩沖器。
12→借入資金:由借款人在網路內發起交易、宣布借入資金的意圖,並指定借入資金的VLG賬戶。該交易類似於在選定的VLG賬戶中存入常規/託管賬戶余額
13→返還抵押品:由VLG自身發起交易。VLG將按照風險處理政策,向借款人返還抵押品。
14→償還貸款:由借款人發起交易。如果VLG接受以數字貨幣形式償還貸款,則借款人可選擇利用數字貨幣償還貸款。在此條件下,數字貨幣資金將被轉變為VLG常規賬戶余額。
可編程的區塊鏈:
通過與其相關的元數據有效負荷,區塊鏈的第欵層可被保留為可允許通過執行基於語法的「完全圖靈基本編程語言」,按照原始區塊鏈數據處理方式,進一步創建網路中對等方之間的智能合同。對於每個有效負荷,均可實施加密或公眾可見處理,並且可在專門的虛擬環境(類似於虛擬機)中執行。該方法可有效保護數據安全並避免遭受數據破壞和安全漏洞的影響。該方法的主要優點是,該層可在無需任何區塊鏈特定編程的條件下,創建並強制執行數字化合同。對於本層面,我們將在未來升級過程中慎重考慮該層的延伸方向,並界定實現相應功能所需的適當語法和語義環境。同時,未來建立的其他層級(第6層、第7層和更高層級)可用於按照需求,擴展適用於更多使用案例的相關協議。但其缺點在於,實現上述功能將需要區塊鏈自身完成「軟分叉」或「硬分叉」過程。
實驗結果:
aBey當前正在實施相關實驗,並將在全球最大的開源平台—GitHub上公布實驗結果。
Ⅶ 比特幣源碼研讀一:橢圓曲線在比特幣密碼中的加密原理
參加比特幣源碼研讀班後首次寫作,看到前輩black寫的有關密鑰,地址寫的很好了,就選了他沒有寫的橢圓曲線,斗膽寫這一篇。
在密碼學上有兩種加密方式,分別是對稱密鑰加密和非對稱密鑰加密。
對稱加密:加密和解密使用的同樣的密鑰。
非對稱加密:加密和解密是使用的不同的密鑰。
二戰中圖靈破解德軍的恩尼格碼應該就是用的對稱加密,因為他的加密和解密是同一個密鑰。比特幣的加密是非對稱加密,而且用的是破解難度較大的橢圓曲線加密,簡稱ECC。
非對稱加密的通用原理就是用一個難以解決的數學難題做到加密效果,比如RSA加密演算法。RSA加密演算法是用求解一個極大整數的因數的難題做到加密效果的。就是說兩個極大數相乘,得到乘積很容易,但是反過來算數一個極大整數是由哪兩個數乘積算出來的就非常困難。
下面簡要介紹一下橢圓曲線加密演算法ECC。
首先橢圓曲線的通式是這個樣子的:
一般簡化為這個樣子:
()發公式必須吐槽一下,太麻煩了。)
其中
這樣做就排除了帶有奇點的橢圓曲線,可以理解為所有的點都有一條切線。
圖像有幾種,下面列舉幾個:[1]
橢圓曲線其實跟橢圓關系不大,也不像圓錐曲線那樣,是有圓錐的物理模型為基礎的。在計算橢圓曲線的周長時,需要用到橢圓積分,而橢圓曲線的簡化通式:
,周長公式在變換後有一項是這樣的:,平方之後兩者基本一樣。
我們大體了解了橢圓曲線,就會有一個疑問,這個東西怎麼加密的呢?也就是說橢圓曲線是基於怎樣的數學難題呢?在此之前還得了解一些最少必要知識:橢圓曲線加法,離散型橢圓曲線。
橢圓曲線加法
數學家門從普通的代數運算中,抽象出了加群(也叫阿貝爾群或交換群),使得在加群中,實數的演算法和橢圓曲線的演算法得到統一。
數學中的「群」是一個由我們定義了一種二元運算的集合,二元運算我們稱之為「加法」,並用符號「+」來表示。為了讓一個集合G成為群,必須定義加法運算並使之具有以下四個特性:
1. 封閉性:如果a和b是集合G中的元素,那麼(a + b)也是集合G中的元素。
2. 結合律:(a + b) + c = a + (b + c);
3. 存在單位元0,使得a + 0 = 0 + a =a;
4. 每個元素都有逆元,即:對於任意a,存在b,使得a + b = 0.
如果我們增加第5個條件:
5. 交換律: a + b = b + a
那麼,稱這個群為阿貝爾群。[1]
運演算法則:任意取橢圓曲線上兩點P、Q (若P、Q兩點重合,則做P點的切線)做直線交於橢圓曲線的另一點R』,過R』做y軸的平行線交於R。我們規定P+Q=R。(如圖)[2]
特別的,當P和Q重合時,P+Q=P+P=2P,對於共線的三點,P,Q,R』有P+Q+R』=0∞.
這里的0∞不是實數意義的0,而是指的無窮遠點(這里的無窮遠點就不細說了,你可以理解為這個點非常遙遠,遙遠到兩條平行線都在這一點相交了。具體介紹可以看參考文獻[2])。
注意這里的R與R』之間的區別,P+Q=R,R並沒有與P,Q共線,是R』與P,Q共線,不要搞錯了。
法則詳解:
這里的+不是實數中普通的加法,而是從普通加法中抽象出來的加法,他具備普通加法的一些性質,但具體的運演算法則顯然與普通加法不同。
根據這個法則,可以知道橢圓曲線無窮遠點O∞與橢圓曲線上一點P的連線交於P』,過P』作y軸的平行線交於P,所以有無窮遠點 O∞+ P = P 。這樣,無窮遠點 O∞的作用與普通加法中零的作用相當(0+2=2),我們把無窮遠點 O∞ 稱為零元。同時我們把P』稱為P的負元(簡稱,負P;記作,-P)。(參見下圖)
離散型橢圓曲線
上面給出的很好看的橢圓曲線是在實數域上的連續曲線,這個是不能用來加密的,原因我沒有細究,但一定是連續曲線上的運算太簡單。真正用於加密的橢圓曲線是離散型的。要想有一個離散型的橢圓曲線,先得有一個有限域。
域:在抽象代數中,域(Field)之一種可進行加、減、乘、除運算的代數結構。它是從普通實數的運算中抽像出來的。這一點與阿貝爾群很類似。只不過多了乘法,和與乘法相關的分配率。
域有如下性質[3]:
1.在加法和乘法上封閉,即域里的兩個數相加或相乘的結果也在這個域中。
2.加法和乘法符合結合律,交換率,分配率。
3.存在加法單位,也可以叫做零元。即存在元素0,對於有限域內所有的元素a,有a+0=a。
4.存在乘法單位,也可以叫做單位元。即存在元素1,對於有限域內所有的元素a,有1*a=a。
5.存在加法逆元,即對於有限域中所有的元素a,都存在a+(-a)=0.
6.存在乘法逆元,即對於有限域中所有的元素a,都存在a*=0.
在掌握了這些知識後,我們將橢圓曲線離散化。我們給出一個有限域Fp,這個域只有有限個元素。Fp中只有p(p為素數)個元素0,1,2 …… p-2,p-1;
Fp 的加法(a+b)法則是 a+b≡c (mod p);它的意思是同餘,即(a+b)÷p的余數與c÷p的余數相同。
Fp 的乘法(a×b)法則是 a×b≡c (mod p);
Fp 的除法(a÷b)法則是 a/b≡c (mod p);即 a×b∧-1≡c (mod p);(也是一個0到p-1之間的整數,但滿足b×b∧-1≡1 (mod p);
Fp 的單位元是1,零元是 0(這里的0就不是無窮遠點了,而是真正的實數0)。
下面我們就試著把
這條曲線定義在Fp上:
選擇兩個滿足下列條件的小於p(p為素數)的非負整數a、b,且a,b滿足
則滿足下列方程的所有點(x,y),再加上無窮遠點O∞ ,構成一條橢圓曲線。
其中 x,y屬於0到p-1間的整數,並將這條橢圓曲線記為Ep(a,b)。
圖是我手畫的,大家湊合看哈。不得不說,p取7時,別看只有10個點,但計算量還是很大的。
Fp上的橢圓曲線同樣有加法,法則如下:
1. 無窮遠點 O∞是零元,有O∞+ O∞= O∞,O∞+P=P
2. P(x,y)的負元是 (x,-y),有P+(-P)= O∞
3. P(x1,y1),Q(x2,y2)的和R(x3,y3) 有如下關系:
x3≡-x1-x2(mod p)
y3≡k(x1-x3)-y1(mod p)
其中若P=Q 則 k=(3+a)/2y1 若P≠Q,則k=(y2-y1)/(x2-x1)
通過這些法則,就可以進行離散型橢圓曲線的計算。
例:根據我畫的圖,(1,1)中的點P(2,4),求2P。
解:把點帶入公式k=(3*x∧2+a)/2y1
有(3*2∧2+1)/2*4=6(mod 7).
(注意,有些小夥伴可能算出13/8,這是不對的,這里是模數算數,就像鍾表一樣,過了12點又回到1點,所以在模為7的世界裡,13=6,8=1).
x=6*6-2-2=4(mod 7)
y=6*(2-4)-4=2 (mod 7)
所以2P的坐標為(2,4)
那橢圓曲線上有什麼難題呢?在模數足夠大的情況下,上面這個計算過程的逆運算就足夠難。
給出如下等式:
K=kG (其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數)不難發現,給定k和G,根據加法法則,計算K很容易;但給定K和G,求k就相對困難了。
這就是橢圓曲線加密演算法採用的難題。我們把點G稱為基點(base point),k稱為私鑰,K稱為公鑰。
現在我們描述一個利用橢圓曲線進行加密通信的過程[2]:
1、用戶A選定一條橢圓曲線Ep(a,b),並取橢圓曲線上一點,作為基點G。
2、用戶A選擇一個私鑰k,並生成公鑰K=kG。
3、用戶A將Ep(a,b)和點K,G傳給用戶B。
4、用戶B接到信息後 ,將待傳輸的明文編碼到Ep(a,b)上一點M(編碼方法很多,這里不作討論),並產生一個隨機整數r(r<n)。
5、用戶B計算點C1=M+rK;C2=rG。
6、用戶B將C1、C2傳給用戶A。
7、用戶A接到信息後,計算C1-kC2,結果就是點M。因為
C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M
再對點M進行解碼就可以得到明文。
整個過程如下圖所示:
密碼學中,描述一條Fp上的橢圓曲線,常用到六個參量:
T=(p,a,b,G,n,h),p 、a 、b 用來確定一條橢圓曲線,G為基點,n為點G的階,h 是橢圓曲線上所有點的個數m與n相除的整數部分
這幾個參量取值的選擇,直接影響了加密的安全性。參量值一般要求滿足以下幾個條件:
1、p 當然越大越安全,但越大,計算速度會變慢,200位左右可以滿足一般安全要求;
2、p≠n×h;
3、pt≠1 (mod n),1≤t<20;
4、4a3+27b2≠0 (mod p);
5、n 為素數;
6、h≤4。
200位位的一個數字,那得多大?而且還是素數,所以這種方式是非常安全的。而且再一次交易中,區塊被記錄下來只有10分鍾的時間,也就是說要想解決這個難題必須在10分鍾以內。即便有技術能夠在10分鍾以內破解了現在這個難度的加密演算法,比特幣社區還可以予以反制,提高破解難度。所以比特幣交易很安全,除非自己丟掉密鑰,否則不存在被破解可能。
第一次寫一個完全陌生的數學領域的知識,也許我有錯誤的地方,也許有沒講明白的地方,留言討論吧。總之寫完後對比特比系統的安全性表示很放心。
參考文獻
[1] 橢圓曲線密碼學簡介
[2] 什麼是橢圓曲線加密(ECC)
[3] 域(數學)維基網路
區塊鏈研習社源碼研讀班 高若翔