1. 程式人生 > >區塊鏈原理學習之二-私鑰公鑰和地址

區塊鏈原理學習之二-私鑰公鑰和地址

比特幣屬於加密貨幣,其加密的基礎是加密學。祕鑰分為公鑰和私鑰,其成對出現。公鑰用於交易中的收款確認,類似於銀行交易中的“收款方”。私鑰用於數字簽名,確認交易的所有權,類似於銀行交易中的“簽名”。加密基礎演算法主要分為冪加密和橢圓曲線加密,比特幣的加密原理採用後者。此種加密演算法的特點是從一方到另一方交易實現,反之則較難實現。 私鑰和公鑰的生成演算法:1)由隨機演算法形成私鑰 2)根據橢圓演算法由私鑰形成公鑰 3)根據公鑰形成比特幣的地址。其中的核心問題是橢圓曲線演算法。 私鑰的生成是隨機的選擇256位0-2 256數字,並對其進行SHA256演算法獲得.其核心是隨機熵源的選擇.如果採用十六進位制標識,則私鑰顯示64位.如果採用bitcoin顯示私鑰可以採用dumpprivkey。
我們可以通過私鑰生成公鑰,生成的公式為K=k*G  k為私鑰,G為離散的常數點,K為公鑰。由私鑰生成公鑰簡單,反之則需要通過暴力破解進行逆向運算(理論上幾乎不可能)。 比特幣的公鑰地址是以1開頭,A = RIPEMD160(SHA256(K))其中K為公鑰,A為比特幣的地址(最終經過Base58形成),為20位元組的地址。

相關推薦

區塊原理學習-地址

比特幣屬於加密貨幣,其加密的基礎是加密學。祕鑰分為公鑰和私鑰,其成對出現。公鑰用於交易中的收款確認,類似於銀行交易中的“收款方”。私鑰用於數字簽名,確認交易的所有權,類似於銀行交易中的“簽名”。加密

比特幣以及區塊原理學習

管理 base58 分布式系 過程 現實社會 ali 同步 結果 計算   2018年春節過後區塊鏈技術一下子火爆起來了,本人也對該技術十分感興趣,因此想研究下區塊鏈技術的原理,看看區塊鏈背後那些技術值得去研究。由於自己缺乏實際的開發經驗和使用經驗,文中難免會有些理解不到位

區塊開發學習)--使用solidity編寫第一個智慧合約

上一篇講到如何安裝以太坊客戶端Geth,安裝好後很好奇如何往節點上部署一個合約,本文一起走一下流程; (1)登陸http://remix.ethereum.org/                remix 是

虛擬機器學習:垃圾收集器記憶體分配策略

1.物件是否可回收 1.1引用計數演算法 引用計數演算法:給物件中新增一個引用計數器,每當有一個地方引用它時,計數器值就加1;當引用失效時,計數器值就減1;任何時候計數器值為0的物件就是不可能再被使用的物件。 客觀來說,引用計數演算法的實現簡單,判定效率高,在大部分情況下都是

Git學習路(一)-SSH配置

這篇文章是Git的學習之路的第一篇,學習Git是因為工作中需要重寫Activiti6.0原始碼,所以需要從Activiti GitHub官網下載相應資源,由於之前一直對Git的命令一知半解,所以打算趁著這個機會,好好學習一下Git相關知識。 一、從Git官網下載最新版本並在本地安裝 這一步就

Swift 學習十一:? !(詳解)

新更新的內容請移步閱讀: Swift語言使用var定義變數,但和別的語言不同,Swift裡不會自動給變數賦初始值, 也就是說變數不會有預設值,所以要求使用變數之前必須要對其初始化 。如果在使用變數之前不進行初始化就會報錯: var stringValue : Stri

python學習:python資料結構記憶體管理

python資料結構和記憶體管理思維導圖:對於資料結構的學習主要從這幾方面入手:初始化常用操作(增刪該查)常用內建函式,注意點有序序列主要分為字串,列表,和元組,一.有序序列定義:str1=‘python’//字串l1=['python','java','c',100]  o

golang[35]-區塊-生成

1234567891011121314151617181920212223242526272829303132 //生成私鑰和公鑰func newKeyPair() (ecdsa.PrivateKey,[]byte){ //生成橢圓曲線,  secp256r1 曲

區塊開發語言go語言學習線路指導

問題導讀1.為什麼學習go語言?2.你認為該如何入門go語言?3.你認為go語言需要哪些學習過程

區塊+電子合同:開發錢包他們提出了“軟、硬體”雙重解決方案

本堂茜 渡鴉區塊鏈專欄記者 廖逸本科與碩士均畢業於復旦大學,學習的是電子商務專業。 大三起他進入復旦大學電子商務實驗室,

學習Spring原理:Spring最核心的類——DefaultListableBeanFactory

上一章提過的XmlBeanFactory其實是繼承自DefaultListableBeanFactory這個類。而DefaultListableBeanFactory是整個bean載入的核心部分,是Spring註冊及載入bean的預設實現,而XmlBeanFac

linux學習:日常的基礎命令收集

幫助文檔 gedit 查看 日期 取整 style 位置 某月 linux 1、 ls 2、pwd  顯示當前目錄所在位置 3、date  日期時間 4、cal  日歷   默認顯示當前該月   cal 2012 :查看2012年的日歷   cal 月 年 : 查看某年某月

Halcon學習:攝像頭獲取圖像相關參數

digg tail tours mage eight sta vision name pict 1、close_all_framegrabbers ( : : : ) 關閉所有圖像采集設備。 2、close_framegrabber ( : : AcqHand

學習obj文件探索

計算 條目 stat table 中一 external 成了 nal cnblogs Windows的gcc環境,往官網http://sourceforge.net/project/showfiles.php?group_id=2435 下載MinGW,安裝,安裝完畢後按

linux學習:Linux磁盤與文件管理系統

roo 針對 mkf 維護 def 都是 linu mke2fs remount 上次寫了Linux檔案與操作,這次繼續寫Linux磁盤與文件管理系統。 首先,我們要先來認識一下EXT2文件系統,這是Linux最傳統的磁盤系統。 1.EXT2文件系統 在說文件系統以前還是要

linux運維學習進制格式安裝

二進制安裝 mysql 本周給大家帶來的是關於mysql的二進制格式的安裝,我們對於mysql的安裝一般有兩種方式,一是通過yum安裝,二是通過二進制格式的安裝,第一種方法yum安裝的方式非常簡單,如下: Centos6:yum install mysql-server Centos7:y

區塊技術人才技能掌握

ews 顯示 密碼學 image 圖片 分享圖片 net 開發 ava 轉載:http://blog.csdn.net/csdnnews/article/details/79492272 必懂三大語言:Go、C++、Java 數據顯示,超過80%的區塊鏈相關職位對求職者

python學習(第一天學到的一個重點pickle模塊)

python pickle模塊ython pickle模塊作用是持久化的儲存數據。 經常遇到在Python程序運行中得到了一些字符串、列表、字典等數據,想要長久的保存下來,方便以後使用,而不是簡單的放入內存中關機斷電就丟失數據。python模塊大全中的Pickle模塊就派上用場了,它可以將對象轉換為一種可以傳

python學習(數據類型,標識符)

python 數據類型 標識符數與字符串(1)數 Python中數的類型主要有5種,分為有符號整數型(int),長整型(long),浮點型(float),布爾型(bool),復數型(com plex)。 eg:0、1、-1、1009、-290這些等等都是int型。 eg:87887l、-9

區塊入門學習

.com 入門學習 load tar nload target 區塊鏈技術 nbsp http 一:學習資料 1:區塊鏈技術指南 詳情 下載地址區塊鏈入門學習