智能科技比特币前传

图片发自简书App

有一个叫Goofy的人。我学习的这本《区块链:技术推动金融》(中信出版社)上翻译成“高飞”,我百度了一下,中文网站上竟然没有他的传说,英文网站我又上不了,所以他的来历我讲不了,其实我觉得翻译成“戈菲”要好一点。

这位老兄创造了一种“加密货币”,即比特币出现前的一种网上虚拟货币,业内称为“高飞币”。它应该是我们能想到的最简单的加密货币,因为Goofy先生只为它设定了两个规则。

第一个规则:指定Goofy先生可以随时创建新币,且这些新创建的币都归他自己所有。类似于我们村的王铁匠,捣鼓了一堆小铁饼,宣布这是一种可以买东西的钱。而且只有他才能做这个铁饼,这些钱(铁饼)都是他家的。唉,这想法,我也有过!

村民们围观这个疯子,村民杨二问他,隔壁的张铁匠也会做铁饼,我怎么知道这个钱是不是你做的啊。这就是“高飞币”遇到的一个问题,叫“可验证的有效性”。就象一张“百元钞票”,我们对着光一照,哦,有水印,有金属条,是央行发行的真币,可以收。虚拟货币也必须能够验证是真币,不能伪造,才能有信用。

Goofy先生想到的办法是“数字签名”,类似王铁匠在他的铁饼上整一个独特的记号。等等,数字签名是什么东东?这是一个计算机技术问题,愁死我这个“文科男”了,本来,我以为学习比特币,对技术只要大概了解就行,谁知道就是一些浅显的技术,对我来说也是一个大难题。但又必须了解,因为比特币仅仅是基于这些技术、思想众多应用中最著名的一种,还有其他如以太币之类的应用,只有了解了这些运行机制,才能准确判断,层出不穷的新应用是否靠谱。好吧,我试着看能讲清楚不,欢迎技术高手批评指正。

什么是数字签名

Digital signatures,本书中翻译为“数字签名”。其实就是数字模拟我们平常工作中在纸上的手写签名。你看,Goofy先生的想法还是来源于现实嘛。我们知道,之所以我们手写签名,要达到两个目的:

第一,只有我可以签我自己的名字,而且任何看到这个签名的人,都可以验证其有效性。熟悉我的人一看,哦,这是XXX的签字,不熟悉的人也可以通过一些技术手段鉴定;

第二,我还希望签名只与某一特定文件发生关联。也就是说,如果有人拿到一份我签署的文件,把我的名字剪下来,贴到一份我从未见过的文件下方,声称是我签署的。这是绝对不行的。模仿我的笔迹也不行,可以申请签名鉴定。

图片发自简书App

在网络上怎么实现这两个目的呢?

有一个网络佚名人士,我们就叫他“马克”吧,想到了采取用户名与密码的方法。

这种方法最流行的应用你肯定体验过,当你想上“X宝”剁手的时候,假设你是第一次,你需要做的是:想一个比较酷的“用户名”,在系统里注册成功;系统还会要求你想一段“密码”,密码的长度有要求,有些还会请你在密码中同时有数字和字母(这是一个随机性来源是否良好的问题,呆会也会说说为什么)。“用户名”就是你在X宝上的身份证,所有的人都可以看到,就在网页右上方你的头像旁,显示着“欢迎你,一只会飞的猪”之类的;“密码”就只有你知道,连X宝后台人员都不会知道(这又涉及到Hash函数,稍后讲)。其实密码就相当于你的特殊记号或“电子签名”。闲话少说,我们继续看看“数字签名”。

“马克”设计了一种“数字签名方案”,大概是这样:

计算机有一种算法(Algorithm),叫 generateKeys,字面意思大概是“生成钥匙”,输入一个keysize,就会产生一对“公钥”(pk,public key)和“私钥”(sk,secret key,好象也有叫private key,这样两个都是pk,不好区分,其实字面上看前者应该叫“密钥”,后者才是“私钥”)。公钥pk是人人都可以看到的,拿到它,主要是可以用来验证签名。注意,这是一种计算机的算法,后台处理的,我们看不到。

还有一种算法,叫 sign,字面意义就是签名(动词)。把一段消息(相当于你要签署的文件)和私钥sk,作为输入值,算法sign就会算出一个结果,这个结果计算机专业人员叫“输出”,也叫“签名消息”。这就是签名的过程。此刻,成都,窗外电闪雷鸣,狂风大作,天昏地暗,大雨倾盆,不会是因为我一个文科生泄漏了计算机界的秘密吧……

不管了,数字签名用到的最后一个算法,叫 verify,字面上是“核实、验证“之类的意思。验证过程是这样的,把公钥pk、你得到的消息段以及“签名消息”三者作为“输入”,如结果为真,就说明你得到的这段消息是真的;反之,则证明消息是假的。

你看,这个方案是这样的,先用 generate-Keys 生成 pk 和 sk,再把 sk 与一段你要签名的消息(message)输入 sign ,计算出“ sig(签名消息)”。这时候,其他人的已知条件是,你的pk ,你的“签名消息”,以及一段需要验证的消息三个条件。他把这三个条件输入 verify,就可以验证这段消息是真是假了。打个比方吧:

有一个人,他拿到一份号称你签名的文件,但不知道真假。然后他查到了你的“姓名(pk)”,还找到了一个你之前签名的字迹(签名消息,sig),因为这个是公开的,可查的。他就把两份文件放在一起比对(verify),一致的话,这文件就是真的,不一致的话,这文件就是假的。擦把汗先,好难说清楚啊。

好,数字签名说到这,回过头来,继续说我们的Goofy先生的造币梦想。Goofy 先用计算机生成一个唯一的,以前从未有过的货币编号(uniqueCoinID, unique是“唯一”的意思,coin, “硬币”,ID, “身份、身份证、识别”之类的意思),并建立一段字符“Create-Coin[uniqueCoinID]。 然后用我们上面讲到的“数字签名方案”计算这个字符串的“数字签名”,该字符串与“数字签名”就构成了一个单位的货币。这就是Goofy先生的造币过程。任何人都可以验证新币包含了Goofy有效签名,符合“可验证的有效性”,为有效货币。

图片发自简书App

以上说到的是“GoofyCoin”的第一个规则,没问题,Goofy先生造出来的币,符合货币特性。

Goofy先生设置的第二个规则是,拥有此币的人可以将其转给其他人。其实就是流通规则,这是当然,要不Goofy先生把币用出去,其他人又不能用,谁会收啊。但是,请别忘记,这是网络虚拟货币呢,要做到这一点,也不简单。我们来看看Goofy先生怎么解决的:

我们知道,Goofy先生已经至少有一个币了,假如他要把这个币支付给马克。在网络上,他需要创建一个声明:“将此币支付给马克”。这个声明,在网络中以“字符串”的形式存在,字符串含有“将此币支付给马克”这些信息。其中“此币”信息,是一个“Hash poin-ter(哈希指针)”;“马克”是马克先生的一个公钥,即马克的网络身份证。然后Goofy先生签署该字符串。现在,这个由Goofy签署的代表他的交易的“数据结构”就存在于网络中,马克就拥有了这个币(GoofyCoin高飞币)。

图片发自简书App

当马克在村里的酒吧里吹嘘,他有一个高飞币的时候,他要展示一下上面讲的那个有G-oofy先生有效签名的“数据结构”,这个“数据结构”里的那个“Hash pointer(哈希指针)”,也会指向Goofy先生造币的那个数据记录,说明这个币确实是Goofy先生造出来的。因此,在系统里,这个币的有效性和所有权都很明确了。

这里有一个新概念出现了,“Hash pointer(哈希指针)”,我们下一期再说。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容

  • 所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊。在法定货币方面,像中央银行这样的组织控制货币供...
    Nutbox_Lab阅读 3,053评论 1 3
  • 简评:敲黑板!考试要考的比特币知识点,都是送分题。 本文是比特币官方 FAQ,仅做科普。 目录概览 什么是比特币?...
    极小光阅读 5,936评论 5 89
  • 某个小区单身公寓的卧室里,一个单身宅男睡着了 屋子里却响起了说话声: “哎呀,累死我了,这家伙,晚上那么...
    燚月仁心阅读 102评论 0 0
  • ofo产品体验报告 一、体验环境 体验机型:小米5 系统版本:Android 7.0 APP版本:2.0.3 体验...
    产品经理成长记阅读 2,083评论 1 14
  • 天地似大窑,阳碳如火烧。 万物若陶在,百炼不成钢。 焚陶出珍宝,焚物汗涛涛。 人何怨言热,暑过秋自来。
    书生逍遥红尘阅读 351评论 0 1