一、非对称加密,是区块链(比特币)去中心化的技术来源
我们都知道中心化,比如记录存储、检验和确认过程需要第三方机构参与,类似银行的中心机构来验证交易的。去中心化,它依靠什么来验证呢,中本聪在白皮书写到:如果不想让第三方机构参与,只需帐务公开,任何人只要一查就能杜绝双重支付。
1.“加密”是数学概念,常规的是对称加密,加解密互为可逆操作。比如考试,你要给朋友传答案,事先约定ABCD,用1234来表示。那么他就可以通过1234反推出ABCD。
2.在区块链的世界里用的是非对称加密,且加解密是不可逆推的。有公钥和私钥两个钥匙,用公钥加密,用私钥解密。这就好比用一把钥匙锁住的门,只能用另一把钥匙开。这的确很反常识,但却是非对称加密技术的核心。还有一点通过私钥可以计算出公钥,但通过公钥无法推导出私钥。私钥是爸爸,公钥是儿子,爸爸可以生出很多儿子,但再多的儿子都生不出一个爸爸。
3.加密的过程
我们用F表示加密算法,它就是一个黑箱,你不用管中间的计算步骤,只要知道是一群数学天才搞出来的,能为你提供足够的安全。黑箱就是函数F(X)=Y一样,把X塞进去,Y就会被算出来。
比如,你把原文(GOOD)送进加密函数F里,用公钥(publickey)加密后就能得到密文(ciphertext),密文就从黑箱出来了。即F(GOOD,Publickey)=Ciphertext
即使密文被截获,大家知道你的公钥,也无法逆推出你的原文。只有拥有私钥的人,才能解开密文。
即F(Ciphertext,Privatekey)=Good
也就是说除非你的私钥被知道了,不然其它人是不可能知道你的密文的。非对称加密,让这个世界突然变成一个在技术映衬下可以尽情说悄悄话的时代。即使有人偷听,我们也可以放心交谈,别人不懂,只有你懂。
4. 简单的说就是,公钥和私钥在非对称加密机制里是成对存在的,公钥和私钥可以去相互验证对方,那么在比特币的世界里,公钥相当于是银行帐号,私钥和数字签名相当于是输入密码和签名。每个矿工在拿到一笔转账交易的时候都可以验证公钥和私钥是否匹配,如果匹配,这笔交易就是合法的。每个人只要保管好自己的私钥,知道自己的比特币地址和对方的比特币地址就能够安全的将比特币转帐,不需要一个中心化机构来验证对方发的比特币是不是真的。
二、数字签名
用非对称加密:你用A的公钥加密短信:今晚十点汉庭见。让它变成别人不认识的密文,你很放心,因为只有A的私钥才能解密。但问题来了,A凭什么相信这是你发的?毕竟她的公钥是公开,任何人都可以拿来加密。这时候就需要数字签名。
1.数字签名是指只有信息发送者才能产生的字符串,如D5S6CH5NPZ4L29YA8VX。千万别误会以为数字签名是把你的亲笔签名拍成数码照片,那是电子签名。
2.数字签名流程
(1)哈希密文,得到哈希值,如:14D403E5
(2)用你的私钥加密哈希值,得到数字签名。
(3)接收方用你的公钥哈希数字签名,如果得到的值等于哈希值,那么证明是你发的。
数字签名保证信息是发送者发人发的,其它人无法伪造,同时发送者无法抵赖。因为发送者私钥只有发送者本人知道,除非泄露。
无法抵赖、不可伪造和轻松识别三大特性,使得数字签名成为理想的认证工具:商业机密、网上银行和加密货币等都离不开数字签名。
三、哈希算法--是不可篡改的技术来源
任何计算机文件都由电子讯号组成,简单的说:0和1组成了全部的信息世界,即比特世界。一张简单的图片,都是由上万位的01组成,01010111011111… 这才是图片在比特世界的本来面目,我们把这串长龙称为二进制文件。我们再把这长条切碎,搅拌之后就得到哈希值:4F7F56ECC0B7258。。。哈希值--文件在互联网里的编号,给你的文件独一无二的编号。如果这张图片是一个人,那哈希值就是TA的指纹、TA的身份证编码。
你完全不用理解哈希算法如何把二进制变成哈希值,这是数学家的事,你只把哈希函数看作是一台屠宰机器,任何猪都能剁成等长的香肠,且具有唯一性。相同文件的哈希值相同,复制后的文件与原文件哈希值相同。但源文件稍有改动,哈希值面目全非。这一特性使得用哈希值标注的文件无法被篡改,即使改动图片一个象素,哈希值就完全不同。通过哈希算法,将每个区块的交易记录和打包时间哈希入下一个区块中,从而环环相扣,所有区块连成串,就是区块链。如果恶意篡改,需要从这个区块开始把之后所有的区块都重新计算一遍,把账本再同步给其他人。而在他进行计算的同时,其它矿工们已在原来链上继续往前记帐了。因为在比特币的网络里,大家认为最长的链才是正确的链。这个恶意篡改的人,需要在很短的时间内赶上现有区块的高度,这基本上是不可能的事。
能用极快的速度给你的文件编出不重复的号码,而且任何人都无法通过这个号码推算出文件原来的样子。互联网级别的大规模搜索就得靠哈希算法生产索引标签。比如GOOGLE等搜索引擎、迅雷等下载软件、比特币等加密货币。。。都能通过哈希值准确定位目标。
四、UTXO--不可伪造的技术来源
我发给你0.1个比特币,为什么你相信这枚比特币不是我自己伪造出来的,或是我没有把这0.1个币同时转给好多人呢?
UTXO,英文全称 Unspent Transaction Outputs,未花费的交易输出。它是比特币交易生成及验证的一个核心概念。比如我要给你20元钱,2张10元纸币,其中一张来自水果老板的找零,另一张来自加油站的找零。拿到这两张我没花出去,才能给你,这就叫未花费的交易输出。这此钞票可以顺藤摸瓜一直追溯到发行的那一刻,由印钞公司根据央行批准发行出来,并首先发给哪家银行,最后流通到市场上的。由此验证这两张钞票是真的。
比特币UTXO也是这样的结构。在比特币的世界里每一笔转账,都能追溯到上一笔交易。每一笔付款都能追溯到上一笔收款。我给你的0.1比特币,必须是别人给我的,我还没花费的。然后可以一直往上追溯到它诞生时矿工挖出来的那个区块。这个机制,保证了比特币不可被伪造,不可以被重复支付。在比特币之前,一直没有数字资产能够解决重复支付的问题,而中本聪用这个机制,解决了信任问题,使得比特币能够被广泛应用。
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论