密码学里的比特币

2023-09-10 12:03:5209:52 5816
声音简介

你好,我是高朋,今天桌克密码学课更新到了,比特币跟区块链的课程了,我们一起了解下,比特币的那些环节用到了加密法。


中本聪设计比特币的初衷是 ,做一个点对点的电子现金支付系统,摆脱中央银行的管制。

比如说收款和支付都是匿名,交易不能更改、不能伪造,币的数量有限,不能出现通货膨胀等,所有这些功能都由程序自动保障。

既然没有某个机构维护,币又不能伪造,加密技术就一定会用到了。

比特币中的密码学并不复杂,只有2种:一个是SHA256加密法,另一个是非对称钥匙系统。

我们先说SHA256,它的全称是“安全哈希算法”,可不是嘻哈算法。“哈希”是Hash的音译,Hash就是进行Hash函数运算的意思。

Hash函数是这样,不论原始数据有多长、有多少位,经过Hash运算后,输出的值的长度都是固定的。

这有点像图书馆里给图书编号,不论是一本20页的足球规则手册,还是1700多页的《资本论》,它们的图书编号都是一个几厘米长的条形码。

但这个条形码要派上用场,需要几个先决条件:

1. 任何书不论篇幅长短,都能通过Hash函数计算出唯一一个条形码;

2. 条形码的长度是固定的;

3. 不可能通过条形码,反推出原书的内容。

Hash函数类型很多,比如说比特币中用到了SHA256,256就代表经过函数运算后的结果,是一个256位的2进制数字。你可以把它理解为条形码的长度。

2

为什么我们要把一个东西转换为一个256位的数字呢?其实最早是为了验证两个文件是否相等而想出的办法。 桌克,估计跟我一样也是个金庸迷,他用了金庸武侠小说的人文来举例子了。

比如:

少林方丈玄慈大师把武功秘籍《易筋经》写成一个程序放在网上,供爱好者下载修炼。但玄慈担心有些心术不正的人,把这份文件的内容偷偷改几个字,故意让练功的人走火入魔。为了防范这个,他可以怎么做呢?他就可以把原版《易筋经》通过SHA256运算一下,生成一个值,我们称之为S1。

玄慈上传这份文档后,也把S1等于多少写上,并且注明“可能有坏人偷偷更改经文,为了避免爱好者走火入魔,请你们下载后先做一次SHA256运算,看看运算结果和我给的S1是不是一样,如果完全一致,你们下载的《易筋经》就是正版,就可以练了”。

SHA256在验证改动与否这方面,真的挺强。比如下面这3行文字只是标点上有些微小变化,内容是不变的,但它们对应的SH256值却差异非常大,一望便知这几条文字肯定是不一样的。

原文里微小的不同,就会造成SHA256值巨大的差异,而且这种差异是毫无规律可循的。

原文1:动静不失,人所易明。 S1: 284c4ddd2e5ef97924cc70e90cd02fd792e3fd62 原文3:动静不失,人所易明 S2:991780940ced6e6f910013f2ba2ac732e23601ef 原文3:动静不失人所易明 S2:62e07ce4d7d529a6268841d521bf882d3b385199

3

那你要问了:这种函数用在比特币的哪一种功能上了呢?答案是好几处都用到了。

第一处就是支付信息的部分。

什么是支付信息?比如段誉找薛神医治病后需要付钱,段誉就写了一张付款的纸条,上面写“段誉需要支付100元给薛神医”,这就是支付信息。

但这条信息是有风险的,万一有人篡改了内容怎么办?在100元后面加一个“万”字,那段誉就亏死了;或者把薛神医改成薛老师,那薛神医就哭了。

而刚刚的SHA256算法,就避免了信息被篡改的问题。“段誉需要支付100元给薛神医”这条信息的SHA256值是确定的,在发出这条信息的同时给出SHA256值,之后任何的改动都会被发现。

但只保证了支付信息没有被改动过,这是不够的。因为如果有心怀不轨的坏人,写出很多条“段誉需要支付1亿元给薛神医”,然后录入支付系统,那段誉可就要哭死了。

所以,还需要加上数字签名。数字签名你可以理解成私钥。

它们共同保证了支付信息的内容,不但没被篡改过,而且还是发信人认可的。

4

如果江湖上每个人付钱的人和收款的人都用这种方式记账,把信息都记录在同一个账本上,而且这个账本还是可靠的话,欠债还钱的事儿就都说得清了,江湖恩怨也自然少了很多。


其中最重要的一条就是:段誉支付薛神医100元钱,可是段誉钱包里真的还有这么多钱吗?

这个疑问在传统银行系统里不是问题,因为央行可以查看任何人的账户余额。但是设计一个没有中央集权的交易系统,也就是大家聊起比特币最常说的“去中心化”的交易系统。

在比特币系统中,任何一个参与者和其他参与者有同样高的权限,不存在谁管理谁,谁限制谁。所以余额够不够这一步,只能通过单独的设计。

余额有多少,不能自己说了算,自己说自己还剩多少钱没人信。这一步的解决方法是——每笔交易都必须把以前的交易作为基础。

比如“段誉支付100元给薛神医”,这笔交易可以进行的前提是,之前有人付给段誉过钱,而且那笔钱不但超过100块,还没使用过。这样段誉支付100块给薛神医,这笔交易才能达成。

咱们假如之前曼陀山庄的王夫人,已经给过段誉100块钱了。那么段誉给薛神医付钱时,就会发送标准信息:

王夫人支付100元给段誉,段誉支付100元给薛神医。

然后,外加段誉的数字签名和段誉的公钥。

薛神医收到标准信息后,该用SHA256确认的确认,该用私钥解锁的解锁,通过一番运算,就可以确认这笔交易。

5

听到这里,你可能觉得很麻烦,跟我们的银行卡的转账比起来,费劲多了,效率低多了,

之所以这么别扭、这么麻烦,是因为比特币规定了,写入账本的信息必须以之前的交易为基础。之所以要以之前的交易为基础,是因为这套交易系统里没有中央银行。之所以一定要去除中央银行,那就不是技术原因了,而是价值观的问题。

那个价值观,就是去中心化。

不只是中本聪一个人,相当多密码学界的人都是这样的,他们可能平时上班是网络安全专家,下班就是黑客。他们凭借缜密的思维构建了开放的互联网世界,于是就不希望这个世界里有监控,有审查,有墙。

互联网在他们脑中,应该和他们的思想一样,是自由开放的。

由这套理想主义价值观创造的社区,就是开源社区;由这套价值观设计的货币,就是比特币。


用户评论

表情0/300

JennyBlock

用图书馆的例子比喻哈希函数,很直观,通俗易懂!

JennyBlock

慢慢理解区块链的底层原理。

木木林鸟

有人想玩mgk项目不,我这边有分享的平台耶

8分钟区块链 回复 @木木林鸟

下载mytoken一查便知

A穿高跟鞋de猫 回复 @木木林鸟

高鹏老师,没有找到mytoken呀?可以提供链接吗?感谢您🙏

云游侠_9v

高老师 微信号

俞凌雄助理

哪个左老板,哪里有他的节目?请有知道的朋友告诉我一下

猜你喜欢
比特币行情

比特币现货ETF、以太坊升级后续行情分析交流

by:社区老韭菜

话说比特币

比特大陆联合创始人毕业于北京大学,获经济学和心理学双学位。创业前,曾从事私募股权母基金投资分析师和投资经理的工作。2011年,参与比特币社区,是中国比特币社区重...

by:努力拼搏999

九神|囤比特币

九神已于2020年远离我们,但他的作品放到今日看,依然并不过时。因为他的底层逻辑没有变化,比特币最大的属性就是价值存储,总数有限,安全,可分割。这些属性不变,它...

by:PineH

比特币每日分析

这是记录自己比特币和区块链分析的的节目~大家好,我是风清扬,是一名金融市场交易员,在B圈也摸爬滚打了8年,也略有收获。因此身边朋友喜欢这块与我交流,我也喜欢帮人...

by:B圈风清扬

比特币挖矿入门

面向新用户开设专业的比特币挖矿、以太坊挖矿全教程,小白也能来挖矿。2017年入行,历经94、312等著名币圈历史时刻。2019年开始布局矿业,拥有国内专业的比...

by:3分钟读懂区块链

囤比特币|九神语录

ahr999指数作者,九神语录。做标准囤币党,HODL

by:黄帝内经威

囤比特币-ahr999九神

ahr永不过时的经典之作,每日币读8习墨推荐,coinstart创始人Web3.0持续创业者,经历过2个周期的老韭菜,关注我:用我的经验为你在币圈导航

by:8分钟每日币听