比特幣驗證真假
Ⅰ 你怎麼知道買的比特幣是真的呢
我大腦中一直有這樣一個問題:如果拿比特幣當錢的話,我們怎麼知道這個比特幣是真實的呢?就像如何鑒別鈔票的真偽一樣。
雖然說,比特幣從技術上解決了最重要的兩個問題,讓大家對其信任度非常高,如下:
如果確實回憶不起這兩個特點的人可以好好去回顧下之前的課程了,課程鏈接可通過關註上方公眾號,在菜單「基礎課程」那裡可以找到。
但是,這里有個非常關鍵的問題很多人沒搞清楚: 鑒別鈔票真偽的時候我們已經拿到這個鈔票了,但是我們在提「比特幣是否為真的?」這個問題的時候,我們有拿到這個比特幣嗎?
畢竟比特幣是一種虛擬貨幣,是個看不太懂又摸不著的玩意兒,所以把很多人繞得雲里霧里的,甚至都不知道自己買的是不是比特幣,到底有多少比特幣。我沒說錯吧?
比如我在某交易所買了一點比特幣,大家看下交易流水:
這些是比特幣嗎?雖然我們基本知道比特幣是一個採用數學加密演算法產生的虛擬貨幣,是一串字元或者說是一個utxo結構( 參考前期utxo課程 ),那麼上面這「一串字元」是否是我的比特幣呢?
好,仔細想了想,這么多條記錄可能是交易明細之類的東西,這能理解。但是,我的比特幣交易數量在哪裡?我有多少比特幣怎麼看?
我有時候也被交易所給搞糊塗了,比如我只能通過賣出時的數值才知道自己擁有多少比特幣:
看見紅色框框沒,只有在賣出時我才大概知道我有多少比特幣,大部分情況下都是一臉懵逼的表情。
通過上面的截圖,大家可以發現一個很嚴重的問題:
當然,這是我很久前的一個困惑,後來光顧著學習,有些忘記了。在我的處女課《 如何從零入門區塊鏈技術 》里,當然有個人提了這么一個問題: 我怎麼知道自己買的比特幣是真的?
當然只能草草作答,直到今天才得空進行全面展開。
這個問題的關鍵在於:
在上周 數字貨幣投資小密圈 里我對交易所的內容進行了一個闡述,舉一個簡單的例子:
假設你在某交易所的賬號里有5000美元和3個比特幣。你相用580美元/比特幣的價格買兩個比特幣,這時交易所幫你找到交易對手並促成交易。現在,你的賬號里有5個比特幣和3840美元。
值得注意的是,當你在交易所完成上述交易的時候, 區塊鏈上並不會記任何交易。交易所不需要在區塊鏈里把比特幣從一個地址轉到另一個地址。 交易所只是修改了和你的合約,交易前,它說「我們日後會還給你5000美元和3個比特幣。」交易完成後,它說「我們日後會還給你3840美元和5個比特幣。」所以,交易前後,比特幣並沒有真正在區塊鏈中移動,只是你和銀行的合約變化了而已。對於你的交易對手而言,也是如此。
就是說,在我們通過交易所買賣比特幣時,其實我們手裡還什麼都沒有,交易所只是給我們用「筆」記錄了一筆賬而已。
那麼,要想確保自己買到的比特幣沒問題,首要的也是最重要的一點:
如何正規,這里不深入闡述了,在數字貨幣小密圈裡我會深入展開。
但是,購買還只是第一步。而我們絕大部分人,目前也僅停留在這一步,畢竟我們購買的比特幣數目不太多,沒那麼興師動眾的。所以,就這樣把「比特幣」扔在交易所的賬戶里躺著,其實,那些我們能看到的字元只有交易記錄和明文數字,與我們理解的比特幣還差很遠。
由於放得太久,或許有一天,我們都有點遺忘了:這玩意兒是我的比特幣?
如果我們持有「比特幣」數據較多,或者是喜歡鑽研的人,我們就要進行到第二步:提取比特幣。因為只有提取比特幣,交易所才會把剛才第一步記錄的賬進行兌現,將真實的比特幣給你。就如同,平時我們在銀行存的錢只是數字,只有提取的時候,銀行才會把真正的鈔票給我們一樣。
所以為了提取,要麼你自己有一個錢包,要麼你在另外一個交易所有一個收款地址。為了演示,我在OkCoin上注冊了一個,並將比特幣轉到了對應的收款地址上。
雖然,在轉賬完成後,本文第二個圖顯示可用BTC為零了,大致可以確定交易發生後,交易所已經兌現了承諾,將比特幣轉到了我指定的收款地址上。但是,仍然一臉懵逼: 比特幣去哪裡了?我怎麼確認轉賬真的發生了?
同樣地,在OKCoin上我依然只能通過賣出時的可用BTC來確認此次轉賬的發生,僅此而已。前文提的問題,如果驗證它的真偽,這個問題還是沒解決。
到這里,就進入了本文要介紹的關鍵所在,在驗證真偽之前,先要問自己一個問題:
什麼是真的?什麼是假的?
回顧一下,比特幣解決的第一個關鍵問題「貨幣偽造」,是如何做到的?這里需要大家回顧一下以前的基礎課程細節,在關於 utxo那節課 中,提到了比特幣里非常重要的數據結構utxo。
仔細學習後,我們應該知道,「1個比特幣」的概念是不存在的,utxo結構將貨幣從誕生(鑄幣)到花費的所有記錄都連接了起來,從而保證了貨幣無法偽造。關於確認貨幣真偽的問題,最後歸結為:
如何查詢這些信息呢?講了這么多,賣了這么多關子,神秘的面紗就要揭開,也是本文要告訴大家的:
比如,我在提取所有比特幣到OKCoin上後,當時使用的收款地址時:。
於是,我通過blockchain.info進行了查詢,結果如圖:
上面有多筆交易的轉賬記錄,基本展現了一個utxo的面貌,在這里可以查到很多信息,比如:
剛開始進去搜索的時候,可能有些迷茫,但是慢慢結合自己之前的學習,你能發現很多有意思的現象,也能理解得更深入。如果你能看懂一些規律,你或許就能明白了,我之前在一個課程里為什麼說「 比特幣其實不是匿名的 」。
比如上圖,轉給我收款地址的一個地址是: 。這個地址我理解應該是交易所的地址,就是說我在提幣的時候,交易所通過這個地址將指定數目的比特幣轉了出去。
但是,這個地址有故事:
更多信息,請大家自行搜索。
通過本文詳盡的介紹,大家應該知道如何辨別你比特幣的真偽了吧?
如果沒有,請趕緊復習前期基礎課程,來我千聊課程里聽聽我的語音解答也是不錯的選擇喲:
Ⅱ 比特幣如何防止偽造交易記錄
(本文在觀看李永樂老師視頻講解基礎上整理)
防止偽造記錄是比特幣的一個重要特點,電子簽名技術就是防偽的關鍵。
當一個比特幣用戶注冊的時候會產生一個隨機數,隨之會產生一個私鑰,緊接著生成公鑰和地址。
接下來以「A轉給B十個比特幣」作為案例,看一下比特幣的交易是如何防偽的。
Step1:A編寫交易記錄並對信息加密
Step2:A將「交易信息、公鑰、地址」進行全網廣播
Step3:全網對A廣播出來的信息進行驗證
驗證的過程就是全網對廣播出來的交易信息進行哈希運算,並得出一個摘要。然後用廣播出來的公鑰和密碼進行解密,也得出一個摘要。
對這兩個摘要進行對比,如果相同,信息為真,如果不同,信息為假。
以上就是比特幣對信息驗證的過程。
結語
1、 比特幣防偽採取了電子簽名技術;
2、 私鑰加密,公鑰解密;
3、 對廣播出來的信息,全網會進行信息驗證,驗證通過代表信息真實,否則信息偽造。
參考文獻
[1]微博 @李永樂老師
Ⅲ 對方說打款了!給我一個比特幣交易id,在那裡查詢是真是假
你說的比特幣交易ID應該是比特幣錢包地址。如果比特幣錢包地址是錯誤的,你是無法把比特幣發送出去的,會提示你錯去。還有就是比特幣的交易會在全網進行廣播,比特幣交易的記錄任何人都可以查詢,是無法修改的。
比特幣地址就像一個物理地址或者電子郵件地址。這是別人付給你比特幣時你唯一需要提供的信息。然而一個重要的區別是,每個地址應該只用於單筆交易。
塊鏈是一個按時間順序排列的比特幣交易公共記錄。塊鏈由所有比特幣用戶共享。它被用來驗證比特幣交易的永久性並防止雙重消費。
Ⅳ 求助如何用js或者jqurey實現判斷比特幣地址是否合法,有效
位數什麼的,都可以用長度直接判斷,關鍵字可以用正則來對比。比特幣校驗應該是有公式的,你找到公式,把字元串放進去運算一下,看看是否符合規則即可
Ⅳ 怎樣辨別比特幣的真偽
參與投資比特幣的是不是都有過這樣的疑問:「花好幾萬塊去買一個摸不著的一串數字」?「如果是法幣我們可以拿驗鈔機看看,這個可這么看啊」?……這個問題我也是剛系統學習了一下,分成以下三步:
1: 交易渠道 :現在我們買比特幣的基本上是兩個通道:一個是場外交易、一個是交易所。場外交易是要有第三方擔保,對方收到款後,都會釋放到你提供的一個地址上,這個地址可以是交易所地址,可以是錢包地址。交易所交易是在交易所內幣幣交易比特幣,你掛買賣單,很快就成交了,速度非常快;其實交易所在這里也只是起到了一個記賬的作用,可以簡單的理解為在你的賬本上增加了一筆,另外一方減少了一筆,所以說交易過程是非常快的,這個過程區塊鏈上沒有任何交易記錄的,只是交易所從中記賬而已,可以用證券交易所類比。所以說第一先找一個靠譜的交易所或者場外交易渠道是非常重要的!
2.提取交易所的比特幣或者場外交易的時候直接讓對方轉到跡肢雀錢包的地址 ;為飢高什麼要轉到錢包才能確認那?比特幣中有一個非常重要的數據結構utxo(utxo結構就是將貨幣從誕生到花費的所有記錄都連接起來),也就是平時說的可以追溯;也正是utxo結構保證了比特幣不可以偽造的問題。
當你從交易所提取到錢包的時候,交易所就要將交易所的一個地址上的貨幣轉到錢包地址上,這一個姿早過程在區塊鏈上就有了記錄,也就是礦工確認了的記錄。
3.通過區塊鏈瀏覽器查詢關鍵信息,推薦blockchain.info
看看我記錄,我在10.9日把交易所的比特幣轉到錢包,當時的地址是:。通過blockchain.info查詢,結果如下:
上面記錄有非常詳細的時間記錄我在交易所轉入到錢包,又有詳細的時間記錄從錢包轉到交易所;轉賬金額和手續費記錄;確認次數等,這就是一個完整的utxo的記錄。如果你有興趣你可以順著地址查詢到好多內容哦。
通過這幾步就能很快能確認你手中的比特幣是不是真的啦!
Ⅵ 【2019-07-12】比特幣的錢包地址驗證
第一步,隨機選取一個32位元組的數,大小介於1~0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之間,作為私鑰
第二步,使用橢圓曲線加密演算法(ECDSA-SECP256k1)計算私鑰所對應的非壓縮公鑰(共65位元組,1位元組0x04,32位元組為x坐標,32位元組為y坐標)。
第三步,計算公鑰的SHA-256哈希值
第四步,計算上一步哈希值的RIPEMD-160哈希值
第五步,在上一步結果之間加入地址版本號(如比特幣主網版本號"0x00")
00
第六步,計算上一步結果的SHA-256哈希值
第七步,再次計算上一步結果的SHA-256哈希值
第八步,取上一步結果的前4個位元組(8位十六進制數)D61967F6,把這4個位元組加在第五步結果的後面,作為校驗(這就是比特幣地址的16進制形態)
00D61967F6
第九步,用base58表示法變換一下地址(這就是最常見的比特幣地址形態)
如果給你個地址你只要:
base58->二進制-> 這時是第8步,
如果我們把後面4個位元組拿掉,
就是第5步的結果,你只要重復以上步驟到第8步
取前4個和地址後4位比較就可以得到答案了
Ⅶ 比特幣中怎麼證明是自己挖礦成功,而不是其他人呢
我們知道了信息計算Hash打包的過程:交易記錄、時間、賬本序號、上一個Hash值。也知道所有的計算和存貯是需要消耗計算機資源。在中本聰的設計里,完成記賬可以獲得系統給與比特幣獎勵,這個過程也就是比特幣發行過程,因此把記賬成為挖礦。
記賬工作
因為記賬是有獎勵,每次記賬都可以為自己增加一定個數的比特幣,因此大家爭相記賬,當然能也就引發了問題:出現記賬不一致的是後,系統引入工作量證明來解決這個問題,規則如下:
1.在一段時間內,只有一個人能記賬成功。
2.通過解決密碼學難題競爭獲得唯一記賬權
3.其他節點復制記賬結果
不過在進行工作量證明之前,記賬節點會做進行如下准備工作:
1.收集廣播中還沒有被記錄賬本的原始交易信息
2.檢查每個交易信息中付款地址有沒有足夠的余額
3.驗證交易是否有正確的簽名
4.把驗證通過的交易信息進行打包記錄
5.添加一個獎勵交易:給自己的地址增加12.5比特幣
如果爭奪記賬權成功的話,就可以得到12.5比特幣的獎勵。
工作量證明
每次記賬的時候會把上一個塊的Hash值和當前的賬頁信息一起作為原始信息進行Hash。為了確保10分鍾前後只有一個人可以記賬,就只有提高記賬的難度,用Hash的結果必須以若干個0開頭。為了滿足條件,進行Hash是引入一個隨機數變數。
用偽代碼表示一下:
1.Hash(上一個Hash值,交易記錄集) = 456635BCD
2.Hash(上一個Hash值,交易記錄集,隨機數) = 0000aFD635BCD
改變Hash的原始信息的一部分,Hash值也會不斷變化,因此在運行Hash的時候,不斷改變隨機數的值,總可以找到一個隨機數使得Hash的結果以若干個0開頭,率先找到隨機數的節點從此獲得記賬的唯一記賬權。
驗證
在節點成功找到Hash值之後,會馬上對全網進行廣播打包區塊,網路的節點收到廣播後會對其進行驗證。如果驗證通過,表明已經有節點成功解密,就不會在競爭當前區塊,而是選擇接受區塊,記錄到自己的賬本中,進行下一輪競爭猜謎。網路中只有最快解密的區塊才會添加到賬本中,其他的節點進行復制,確保整個賬本的唯一性。
如果節點有作弊行為,會導致網路的節點驗證不通過,直接放棄其打包的區塊,也無法記錄到總賬本中,那麼作弊節點的消耗成本就白費了。因此礦工自覺的遵守比特幣系統的共識協議,也確保整個系統的安全。
這個問題就好像你去工地搬磚,搬完一天磚,包工頭問你你怎麼證明自己一天在工地搬磚呢?
Ⅷ 如何辨別真假虛擬數字貨幣
根據真正的虛擬數字貨幣要素判斷其真假。
1、真正的虛擬數字貨幣限量不增發。
2、真正的虛擬數字貨幣必須在國際交易平台交易,可變現。
3、真正的虛擬數字貨幣有開源代碼!有自己獨立的錢包!每一個幣都有自己的代碼,有自己的價值。
4、真正的虛擬數字貨幣可以通過礦機挖礦!有自己特定演算法。
5、真正的虛擬數字貨幣是可以和比特幣、美元兌換的。
6、真正的虛擬數字貨幣是可以相互兌現的。