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

027.
比特幣地址、公鑰、私鑰都是什么?

從2009年至今,全球所有的比特幣交易記錄對所有人都是可見的。交易記錄中包括交易流水單號、發幣人的發幣地址、收幣人地址、發幣人的找零地址。也就是說,全球所有用戶的地址都可以被任何人知道。由此可知,如果中本聰在設立比特幣機制時,僅使用“告訴錢包地址是多少”的方式就能完成交易,那么整個交易機制就是危險的,任何人都可以隨便將別人的地址假裝成自己的地址,跟別人進行交易。于是在整個機制中,也就有了私鑰和公鑰的概念。

私鑰主要用來證明這筆交易的發起人確實是比特幣的所有者,它是一串很長的隨機數,比如,4KeZdDEu11z3gPrtuX3phjwGnNP4RFd7yyrCVC1j2W LBB9ZXMCJ,就是由錢包替用戶隨機生成的。一定不能將私鑰隨意泄露給別人,否則別人就可以輕松地將你的比特幣轉走,再也拿不回來。所以,使用錢包交易的前提是相信錢包不會盜取你的私鑰。

公鑰是由私鑰通過算法生成的,通過私鑰可以計算出唯一一個公鑰,但公鑰并不能逆向推導出私鑰;地址是由公鑰通過算法生成,通過公鑰可以計算出唯一一個地址,但地址并不能逆向推導出公鑰。中本聰設計了如下機制:錢包先將私鑰通過加密算法A加密,再將加密后的字符串(也叫作簽名)、公鑰一起發送給礦工;礦工收到信息后,將簽名、公鑰帶入一個驗證函數F中,如果得出的結果為“true”,礦工就會認為這個交易發起人確實是持幣者發起的。

比特幣地址、公鑰、私鑰有什么用呢?

在交易流程中,錢包會用張三的私鑰通過加密算法生成一段加密過的私鑰,然后與公鑰一起寫到交易信息里,再發給全球礦工。此時,礦工收到了這筆交易信息,信息里包括:交易流水單號、發幣人地址、收幣人地址、發幣人提供的加密過的私鑰、發幣人的公鑰。礦工將加密過的私鑰、公鑰帶入上面提到的公式中,等待程序驗證。如果程序反饋給礦工“true”,即可表明這筆交易確實是持幣者發起的;如果程序反饋給礦工“false”,說明這筆交易存在問題,不能被驗證通過。如此,張三就不用將自己的私鑰發給礦工了,這樣既能讓礦工簡單地驗證這筆交易是否由持幣者發起,又能保證自己的私鑰不外泄。

主站蜘蛛池模板: 日土县| 富源县| 桂平市| 宝清县| 宽城| 蒙自县| 福泉市| 滁州市| 大荔县| 玉环县| 江陵县| 临洮县| 长宁县| 信丰县| 德钦县| 井陉县| 南漳县| 西丰县| 新安县| 新化县| 岳阳县| 喜德县| 淮南市| 陵水| 定西市| 榆林市| 崇阳县| 沙河市| 凤山市| 伊宁县| 蕲春县| 惠水县| 阿鲁科尔沁旗| 阳城县| 安仁县| 黔东| 舒城县| 师宗县| 囊谦县| 友谊县| 田东县|