区块链技术之私钥、地址

in #cn7 years ago

之前,我给大家推荐了钱包、交易网站,大部分人基本上可以按照指引买到人生的第一笔区块链资产。其中最简单的方式就是下载一个钱包,通过支付宝、微信的方式转账,按照当时的汇率我给你钱包地址转一笔对应的区块链资产。

需要说明的是不同区块链资产对应的钱包是不一样的。之前介绍的Bither是比特币钱包,而以太坊采用的是Imtoken这样的钱包,Blockchain钱包同时支持比特币和以太坊。请大家在使用钱包的时候一定要擦亮眼睛,避免造成无谓的损失。

01 密码学初识

在使用钱包的过程中会接触到两个重要的概念私钥和地址。很多人第一次接触区块链资产的时候由于没有密码学知识,很容易被以上概念搞糊涂。下面我针对私钥和地址给大家做详细的讲解。

在区块链世界里私钥是唯一能够证明你对一笔区块链资产的持有,如果不慎将私钥搞丢了,在这个世界没有人能够帮你找回。钱包地址是你收钱的唯一标识,类似于中心化世界里的银行卡号、支付宝账号,你可以通过钱包地址进行收款、付款的操作。

区块链是一门集合分布式、博弈论、密码学、网络协议等技术的综合学科,每一项技术都是一个非常庞杂的学科。其中私钥、地址就来源于密码学。

在密码学中,常用的密码算法有对称加密、非对称加密、哈希。对称加密指的是加密和解密钥使用相同的密钥。非对称加密指的是加密和解密使用不同的密钥。哈希是一种散列算法。

现实世界中,我们经常会用到对称加密进行信息加密,对称加密要求参与方都要有相同的密钥,一旦有人泄露,整个安全机制就遭到破坏。常用的算法有DES、3DES、ADES等。

举个例子,在日常工作中,我们经常会使用对称加密算法对文件加密再传输给对方,然后通过电话的方式将密码告诉对方,对方使用密码就可以打开加密文件。整个过程中发送方和接收方使用的是同一个加密密钥,一旦密钥被泄露,整个加密也会变得毫无意义。

由于对称密加密自身的缺陷,密码学家发明了非对称加密算法,加密和解密采用不同的密钥。常用的算法有RSA、SM2等。

非对称加密采用公钥、私钥两个不同的加密密钥进行信息加密,私钥只有持有者可以拥有,公钥可以对外公开。当用户需要将一段信息加密传输给对方时,使用对方的公钥对数据进行加密,这时只有持有私钥的人才可以解密数据,确保的数据的安全性。反过来,用私钥对一段数据加密,其实就模仿的现实世界里的签名、签章,可以确保数据的完整性,整个过程是使用私钥进行签名,采用公钥进行验证。

哈希(Hash)是将任意长度的二进制值(明文)映射为较短的固定长度的二进制值(Hash 值),并且不同的明文很难映射为相同的 Hash 值。在日常生活中,我们通常也将哈希称为数字指纹。常用的算法有MD5、SHA-1 、SHA-2等。下面是采用了MD5算法的哈希值。

02 私钥、地址

有了基本的密码学基础之后,我们以比特币为例学习一下私钥和地址。在比特币系统中,采用的是非对称密钥,密钥是成对出现的,一个私钥对应一个公钥,可以通过私钥推导出公钥,但无法通过公钥推导出私钥。

比特币的所有权是通过私钥来控制的,私钥是存储在比特币钱包里,每一笔有效的交易都是通过私钥签名来确认的,因此拥有比特币的私钥就用了比特币的控制权。

在比特币系统中创建一个密钥对,私钥用于控制比特币的获取,由其衍生出的公钥用于接收比特币。在支付比特币时,当前所有着在交易过程中需要提供公钥和签名,网络中所有人都可以通过公钥验证该签名是否有效,以确认该支付者对所有的比特币拥有所有权。

在钱包里,私钥通常使用一种比特币通用协议对其进行加密,以确保私钥可以在钱包之间安全传输和存储。另外一种常用的方式就是助记词,一方面方便用户记忆,另一方面可以通过相应的算法重新构造钱包的私钥。

钱包地址是一个由数字和字母组成的字符串,可以与任何想给你比特币的人分享。在交易中,比特币地址通常以收款方出现。如果把比特币交易比作一张支票,比特币地址就是收款人,也就是我们要写入收款人一栏的内容。

比特币地址可由公钥经过单向的加密哈希算法得到。以下是具体流程,钱包地址是将公钥通过两次哈希算法后重新进行编码后得到了一个由数字和字母组成的字符串,生成的比特币地址通常以数字“1”开头。

至此,我们已经完整的学习了钱包私钥、地址相关概念,赶紧行动起来,使用之前下载的钱包进行比特币交易。

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 62832.46
ETH 3374.71
USDT 1.00
SBD 2.48