官术网_书友最值得收藏!

025.
比特幣的交易原理是什么?

比特幣主要使用橢圓曲線數位簽章演算法(ECDSA),這個算法有兩個至關重要的特性:第一,只要知道私鑰,就可以算出相應的公鑰;第二,你用私鑰簽過名的東西,可以用公鑰算一下是不是你簽的。

其實,比特幣在交易過程中沒有錢包,只有交易賬單,整個比特幣交易就是一大堆交易賬單。比如,賬單1,從A轉到B,轉了X比特幣;賬單2,從B轉到C和D,轉了X比特幣;賬單3,從C轉到E,轉了X比特幣……只要下載客戶端,就能接收到從比特幣成立那天開始的所有賬單。因此,只要把所有賬單都下載,自然就能知道各賬戶上應該剩多少錢。

每張比特幣交易賬單都是一段數據,簽完名后會發送到全網。下面把數據結構逆向成易懂的中文解釋,具體如下:

1. FROM(誰發送的)

它包括兩部分:一是Previous Tx,也就是說,花的任何一筆錢都應有人轉給你,需要出示賬單的ID;二是Script Si,就是把單子用你的私鑰做Hash(哈希算法),只有你能做這個Hash。

2.TO(誰接受的)

這包括兩部分:一是Value,即要發多少;二是Script Pub Key,即對方的公鑰,比特幣賬戶就是一段公鑰。

簽完單子后,開始往全網發送。怎么發呢?比特幣通信很簡單,可以類比成IRC頻道。跟普通的IRC不同的是,其客戶端是一臺IRC服務器,啟動客戶端的時候,會接收到周圍的有公網IP的客戶端地址,也就是“服務器”列表。此列表會不斷地刷新,都是其他比特幣用戶,你在這個IRC“喊”一句話,周圍的人都會聽到,進而擴散到全世界。

把簽單發送到全世界后,收到單子的客戶端就會校驗這個單子是否正確。比如,校驗你的簽名,是不是你發的;校驗你是否有那么多錢。計算后如果發現這筆交易沒問題,基本上就算轉賬成功。

現在,即使對方接受了比特幣,但要想花,也得有那個地址(公鑰)對應的私鑰。

如此往復。這就是比特幣的交易原理。

主站蜘蛛池模板: 三亚市| 宾阳县| 迁西县| 霍州市| 无锡市| 临安市| 精河县| 福贡县| 孝昌县| 台山市| 乌拉特后旗| 吕梁市| 晋宁县| 忻州市| 东方市| 嵩明县| 康平县| 砚山县| 峨眉山市| 铜梁县| 盐城市| 高雄市| 佛冈县| 吉安县| 若尔盖县| 特克斯县| 老河口市| 临漳县| 永和县| 灵寿县| 阿克陶县| 长兴县| 丹江口市| 宝应县| 太湖县| 石首市| 易门县| 内江市| 弥渡县| 永靖县| 清水河县|