『壹』 什麼是以太幣/以太坊ETH
以太幣(ETH)是以太坊(Ethereum)的一種數字代幣,被視為「比特幣2.0版」,採用與比特幣不同的區塊鏈技術「以太坊」(Ethereum),一個開源的有智能合約成果的民眾區塊鏈平台,由全球成千上萬的計算機構成的共鳴網路。開發者們需要支付以太幣(ETH)來支撐應用的運行。和其他數字貨幣一樣,以太幣可以在交易平台上進行買賣 。
溫馨提示:以上解釋僅供參考,不作任何建議。入市有風險,投資需謹慎。您在做任何投資之前,應確保自己完全明白該產品的投資性質和所涉及的風險,詳細了解和謹慎評估產品後,再自身判斷是否參與交易。
應答時間:2020-12-02,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
『貳』 聊聊錢包、私匙、公匙和地址
自從比特幣誕生伊始,與此相關的私鑰、公鑰、地址等名詞概念就不斷出現在大眾眼前,那麼這四個概念之間是什麼樣的關系呢?今天就給大家簡單聊一些相關的專業名詞和背後的邏輯。
1 這些名詞的關系是什麼樣的?
如果用一句話說明這幾個名詞的關系,那就是: 錢包生成私鑰 → 私鑰生成公鑰 → 公鑰生成公鑰哈希 → 公鑰哈希生成地址 → 地址用來接受比特幣 ,簡單吧,能聽懂吧。
2 這幾個名詞究竟是什麼東西?
還是一句話概括, 除了錢包是軟體以外,剩下的四個都是長度不一的字元串 ,比如私鑰是52位的字元串,地址是34位的字元串。
3 這四個字元串分別從哪裡來的?
私鑰 由錢包軟體隨機生成,隨後用密碼演算法生成公鑰和地址,如果用等式表示的話,可寫成如下形式:
公鑰=演算法1(私鑰)
公鑰哈希=演算法2(公鑰)
地址=演算法3(公鑰哈希)
所以, 地址 =演算法3(演算法2(演算法1(私鑰)))
其中,演算法1,演算法2,演算法3都是公開的演算法。
4 這幾個字元串哪個必須保密,哪個可以公開?
私鑰絕對不能公開 ,因為有了它本質上就取得了對應比特幣的所有權。
地址可以公開 ,因為它是用來接受比特幣的, 公鑰和公鑰哈希也可以公開 ,不過一般情況下你看不到。
5 為什麼地址和公鑰可以公開?
因為 即使被別人知道了地址和公鑰,對方也推算不出你的私鑰,也就掌握不了你的比特幣 。
為什麼推算不出?
舉個例子。電影《模仿游戲》中,英軍即使在得到了engima密碼機(演算法)後仍然無法破解德軍的密碼,原因就是德軍每次發信息都會用一個新的口令(私鑰)作為起始點。在不知道口令的前提下,進行反向暴力破解大概需要幾千萬年,不過最後因為刻板的德國人每次都用同一個口令作為起點,而這個口令還是自然語言,導緻密碼被破解。
所以,每次交易的時候才會要求生成一個新的私鑰,然後得到一個新的地址,這樣你的交易安全性就有了很大的保障。
6 做自己開心的事
從上面的描述我們可以推出,私鑰的本質是一個復雜數學問題的解,當有人向公開地址發送比特幣時,其實是在向全網所有比特幣客戶端發出了一道數學題,而這道題目的正確解,就是你的私鑰。因為那道題是用你的私鑰生成的呀,所以只有你能在第一時間回答出答案,於是比特幣就歸你了,因此 私鑰千萬不能告訴別人。
如何找到私鑰並妥善保管?
在bitcoin-qt軟體中,進入windows debug或者調試窗口,在命令行下輸入 getaddressbyaccount 命令可以查看所有已經生成的錢包地址。選取其中一個地址,然後用 mpprivkey 「地址」命令就能看到私鑰了(54位字元串)。
下圖是用getaddressbyaccount 「」命令查看地址列表,用mpprivkey查看私鑰的截圖,注意第一張圖中由於錢包是加密的,所以直接打mpprivkey命令是看不到私鑰的。
輸入錢包密碼後才能用mpprivkey命令看到私鑰。
剛已經說了私鑰非常的重要,它是真正決定比特幣歸誰的證明。私鑰在bitcoin-qt客戶端里,實際上是存在於一個叫wallet.dat的文件里的,而且剛安裝的bitcoin-qt客戶端是不設密碼的。萬一電腦落入不法分子手中或被黑客攻擊,導致私鑰丟失,就狠尷尬了,所以一定要設置密碼,且密碼一定要遵守隨機復雜大小寫字元數字都有的規則。建議用專門的密碼生成軟體生成,關於密碼軟體,找機會專門說一下。
特別注意,千萬千萬千萬記住了,一定不要把密碼給忘了!因為你 忘了密碼就打不開錢包 wallet.dat 文件了,也就找不到私鑰了 ,然後,就沒有然後了。
我就發生過剛開始倒騰錢包把密碼搞錯了,然後打不開錢包的尷尬,最後只好怒刪wallet.dat文件,讓系統再自己生成一個,這時候的感覺大約相當於把一筆錢埋在了宇宙某顆星球上,然後把坐標圖搞丟了,因為比特世界只認私鑰不認身份證,你掉了就是掉了,再也找不回來了。
不過正因為比特幣的所有權是依靠私鑰確認的,也就有個最狠的保存辦法,老貓也提過,那就是,找到私鑰後記在紙上,然後把紙鎖在保險櫃里,或者乾脆記在腦子里,不過54位的字元串誰特么能記住?然後把電腦上的客戶端連同錢包文件一起刪除。
好了,關於錢包客戶端,大概就說這些吧,相關知識我也是剛開始了解,隨著了解信息的增加,可能會有更新的認識,到時候會再寫出來。
千萬注意,千萬注意,千萬注意不要搞丟了私鑰。
『叄』 一步一步教你使用以太坊錢包
下面開始介紹myetherwallet
記住,這個錢包只支持如下幾種
ETH、ETC、和符合ERC20協議的token,
其他 不支持的幣不要轉進來(轉進來會丟失)
瀏覽器打開網站:
https://www.myetherwallet.com
在頁面右上角選擇你喜歡的語言,如下圖所示
第一步 創建錢包
輸入密碼(至少9位)
下載keystore文件(這里保存你的公鑰和私鑰)
保存你的私鑰
初次解鎖錢包(建議一定要多試下第二步,不要立馬就轉幣進去,否則有可能你沒記住密碼或者keystore沒放好,多試幾次可以讓你更加熟悉)
一般初次點擊解鎖之後,頁面可能不刷新,直接滑鼠往下滾下來就看到你的錢包信息了
第二步 查看錢包信息
當你完成了第一步,錢包就已經建好了。
這一步只是教你平時怎麼打開錢包看看裡面的余額之類的
你的ETH的余額和交易歷史
你的所有代幣token的余額和交易歷史
第三步 接收和發送ETH及其他token代幣
接收ETH和其他的代幣token(這個錢包所支持的,點擊show all tokens看所有支持的代幣)
都用同一個地址即可,不需要任何額外的標記或操作
點擊左上角 發送以太幣/發送代幣,選擇keystoreFile,
上傳keystore文件,填寫密碼,解鎖賬號
3.發送給別人ETH或代幣的時候,你就要輸入對方對應的ETH地址或代幣地址,不要填錯,
比如你要發送到你的交易平台,如果發送EOS,這里就要放你交易平台的EOS的充值地址,
而不是放ETH充值地址,當然你還需要在下面這個下拉菜單這里選擇一下相應的代幣類型,
比如EOS
『肆』 5、以太坊名詞解析
詳解參見: 私鑰、公鑰、地址
以太坊的密鑰與比特幣作用相同[相當於你在工商、招商、建設等銀行設置的密碼]
以太坊將明文 密鑰 通過 [混入用戶自己設置的密碼] 加密演算法生成的一種JSON格式的字元串,並以文件格式存儲,以達到保存密鑰的作用。
一系列的由12、15、18、21等不同數量的單詞構成。
作用跟Keystore相同,就是給腦子不好使的同學們用的
'JSON是啥...' '這一長串的括弧加數字是什麼鬼...' '我輸入了密碼為什麼出來了這些東西... 你們的錢包APP是不是有問題啊 ...'
舉個花生:
大白話時間:
所有交易都包含以下組件:
『伍』 Metamask手機端:手把手教你注冊以太坊錢包
第一步:前面幾個安全提示,向下滾動到最底部表示全部閱讀,一步一步點擊「接受」就行了
2.下面是創建一個8位數的密碼,每次打開MetaMask可能都需要,如果忘記了密碼,可以用助記詞找回錢包
3.接下來是顯示的助記詞,可以直接點擊「我已妥善保存」,最好還是保存一下,以備不時之需。這里也可以不保存,之後在設置裡面,顯示助記詞,也能找到。
4.之後就進去了MetaMask錢包主頁面
5.點擊右上角小圓圈,點擊創建賬戶,可以創建更多的賬戶地址(所有創建的地址都可以通過剛剛的12個助記詞導入,比如你創建了10個地址,下次導入的時候初始顯示1個地址,你在點擊9次創建賬戶,之前的10個地址賬戶就完全不變的找回來了)
6.如果你在官方錢包,imtoken錢包,myetherwallet錢包已有賬戶可以導入,方法和創建錢包差不多
7.點擊「發送」,輸入你想轉賬的以太地址和數量,就可以轉賬了。(交易數據可以不填)
8.交易費限制,和氣體價格可以設置一下(如果不在乎交易時間,氣體價格可以設置低一些,如果想快速交易,氣體價格設高一些,如果是發送代幣或者部署合約,交易費限制建議填高一些以免交易氣體gas不足),之後點擊提交,就成功轉賬了。
9.成功發送交易後,會顯示交易概況。
10.點擊賬戶旁邊的三個小點,點擊「通過Etherscan查看賬戶"可以查看區塊鏈瀏覽器的詳情。
11、點擊三個點,點擊導出私鑰,可以導出該地址私鑰。
12、.點擊右上角三條杠,點擊設置,再點擊助記詞,可以查看你的助記詞,助記詞非常重要。
13.點擊添加代幣,可以添加其它基於以太坊的發幣,輸入縮寫即可。
14.如果沒有搜索到你需要的代幣,可以通過合約地址自動添加,輸入合約地址,代幣符號,小數位精度即可添加。
『陸』 2.在以太坊中,為了得到唯一的公鑰,對私鑰應用哪種演算法
在以太坊中,為了得到唯一的公鑰,對私鑰應用演算法:
1、生成一個隨機的私鑰(32位元組)。
2、通過私鑰生成公鑰(64位元組)。
3、通過公鑰得到地址(20位元組)。
『柒』 以太坊的 ChainId 與 NetworkId
ChainId 是 EIP-155 引入的一個用來區分不同 EVM 鏈的一個標識。如下圖所示,主要作用就是避免一個交易在簽名之後被重復在不同的鏈上提交。最開始主要是為了防止以太坊交易在以太經典網路上重放或者以太經典交易在以太坊網路上重放。在以太坊網路上是從 2675000 這個區塊通過 Spurious Dragon 這個硬分叉升級激活。
引入 ChainId 後,帶來了哪些影響呢?
NetworkId 主要用來在網路層標識當前的區塊鏈網路。NetworkId 不一致的兩個節點無法建立連接。
NetworkId 無法通過配置文件指定,智能通過參數 --networkid 來指定。所以我們啟動自己私鏈節點上需要記得加上這個參數。如果不加這個參數也不指定網路類型,默認 NetworkId 的值和以太坊主網一致。
不是。
這個根據上面的介紹可以很明顯的看出,兩者並沒有非常高的關聯度。
網上幾乎所有提到搭建以太坊私鏈的文章,都要強調 NetworkId 需要和 genesis 文件里 ChainId 的值相同。事實上是沒必要的。
就像下面這張圖展示的這樣,很多已經在主網運行的 EVM 鏈,它們的 ChainId 和 NetworkId 並不相同。比如以太經典,它的 ChainId 是 61,但 NetworkId 和以太坊主網一樣都是 1。
之所以很多文章強調 ChainId 和 NetworkId 要保持一致,可能因為在某一段時間內,一些開發工具比如 MetaMask,會把 NetworkId 當作 ChainId 來用。不過現在 MetaMask 已經支持自定義 ChainId,以太坊也添加了 「eth_chainId」 這個 RPC API,相信兩者誤用的情況會越來越少。
『捌』 以太坊怎麼根據地址獲取私鑰
安裝metamask metamask是可以安裝在瀏覽器上的擴展程序,可以在進行安裝。建議在安裝在虛擬機中
以太坊的私鑰生成是通過secp256k1橢圓曲線演算法生成的,secp256k1是一個橢圓曲線演算法,同比特幣。公鑰推導地址和比特幣相比,在私鑰生成公鑰這一步其實是一樣的,區別在公鑰推導地
以太坊錢包地址就是你的銀行卡號,倘若你把地址忘了,可以用私鑰、助記詞、keystore+密碼,導入錢包找回。首先注冊登錄bitz,找到資產下面的以太坊,點擊充值,這時候就能獲取充值地址了。然後把錢包里的以太坊直接充到這個地址就行了。
『玖』 【以太坊易錯概念】nonce, 公私鑰和地址,BASE64/BASE58,
以太坊里的nonce有兩種意思,一個是proof of work nonce,一個是account nonce。
在智能合約里,nonce的值代表的是該合約創建的合約數量。只有當一個合約創建另一個合約的時候才會增加nonce的值。但是當一個合約調用另一個合約中的method時 nonce的值是不變的。
在以太坊中nonce的值可以這樣來獲取(其實也就是屬於一個賬戶的交易數量):
但是這個方法只能獲取交易once的值。目前是沒有內置方法來訪問contract中的nonce值的
通過橢圓曲線演算法生成鑰匙對(公鑰和私鑰),以太坊採用的是secp256k1曲線,
公鑰採用uncompressed模式,生成的私鑰為長度32位元組的16進制字串,公鑰為長度64的公鑰字串。公鑰04開頭。
把公鑰去掉04,剩下的進行keccak-256的哈希,得到長度64位元組的16進制字串,丟掉前面24個,拿後40個,再加上"0x",即為以太坊地址。
整個過程可以歸納為:
2)有些網關或系統只能使用ASCII字元。Base64就是用來將非ASCII字元的數據轉換成ASCII字元的一種方法,而且base64特別適合在http,mime協議下快速傳輸數據。Base64使用【字母azAZ數字09和+/】這64個字元編碼。原理是將3個位元組轉換成4個位元組(3 X 8) = 24 = (4 X 6)
當剩下的字元數量不足3個位元組時,則應使用0進行填充,相應的,輸出字元則使用'='佔位,因此編碼後輸出的文本末尾可能會出現1至2個'='。
1)Base58是用於Bitcoin中使用的一種獨特的編碼方式,主要用於產生Bitcoin的錢包地址。相比Base64,Base58不使用數字"0",字母大寫"O",字母大寫"I",和字母小寫"l",以及"+"和"/"符號。
Base58Check是一種常用在比特幣中的Base58編碼格式,增加了錯誤校驗碼來檢查數據在轉錄中出現的錯誤。 校驗碼長4個位元組,添加到需要編碼的數據之後。校驗碼是從需要編碼的數據的哈希值中得到的,所以可以用來檢測並避免轉錄和輸入中產生的錯誤。使用 Base58check編碼格式時,編碼軟體會計算原始數據的校驗碼並和結果數據中自帶的校驗碼進行對比。二者不匹配則表明有錯誤產生,那麼這個 Base58Check格式的數據就是無效的。例如,一個錯誤比特幣地址就不會被錢包認為是有效的地址,否則這種錯誤會造成資金的丟失。
為了使用Base58Check編碼格式對數據(數字)進行編碼,首先我們要對數據添加一個稱作「版本位元組」的前綴,這個前綴用來明確需要編碼的數 據的類型。例如,比特幣地址的前綴是0(十六進制是0x00),而對私鑰編碼時前綴是128(十六進制是0x80)。 表4-1會列出一些常見版本的前綴。
接下來,我們計算「雙哈希」校驗碼,意味著要對之前的結果(前綴和數據)運行兩次SHA256哈希演算法:
checksum = SHA256(SHA256(prefix+data))
在產生的長32個位元組的哈希值(兩次哈希運算)中,我們只取前4個位元組。這4個位元組就作為校驗碼。校驗碼會添加到數據之後。
結果由三部分組成:前綴、數據和校驗碼。這個結果採用之前描述的Base58字母表編碼。下圖描述了Base58Check編碼的過程。
相同:
1) 哈希演算法、Merkle樹、公鑰密碼演算法
https://blog.csdn.net/s_lisheng/article/details/77937202?from=singlemessage
2)全新的 SHA-3 加密標准 —— Keccak
https://blog.csdn.net/renq_654321/article/details/79797428
3)在線加密演算法
http://tools.jb51.net/password/hash_md5_sha
4)比特幣地址生成演算法詳解
https://www.cnblogs.com/zhaoweiwei/p/address.html
5)Base58Check編碼實現示例
https://blog.csdn.net/QQ604666459/article/details/82419527
6) 比特幣交易中的簽名與驗證
https://www.jianshu.com/p/a21b7d72532f
『拾』 什麼是以太坊
首先回答您什麼是以太坊,以太坊是一種編程的語言也是一個平台,而投資/投機者們所關注的以太坊其實是以太幣,也就是由以太坊衍生的一種數字代幣——eth以太幣(ethereum)
以太坊有沒有投資前景,我們只需要看它的價值,從幾十元到幾百元的漲幅之大,且不說未來的泡沫與否,單說這個階段升值的空間,還是值得大家關注的!
以太坊交易平台,目前我推薦btctrade平台(比特幣交易網)國內比較靠譜的大的交易平台!2016年就上線了以太坊,幣價漲勢驚人!
以太坊(Ethereum)是將比特幣中的一些技術和概念運用於計算領域的一項創新。比特幣被認為是一個系統,該系統維護了一個安全地記錄了所有比特幣賬單的共享的賬簿。以太坊利用了很多跟比特幣類似的機制(比如區塊鏈技術和 P2P 網路),來維護一個共享的計算平台,這個平台可以靈活且安全地運行用戶想要的任何程序(當然也包括類似比特幣的區塊鏈程序)。