区块链重要基础知识5——加密货币的特性以及两种方案设计
1.公钥即身份
从数字签名这一种模式里面,我们将其私钥取出作为节点的身份,意思就是讲秘钥与身份之间做一个对等。
由于实际过程中公钥是大数,过大的话就会出现存储以及响应问题。所以有时候并不直接那公钥做身份信息,而是将其进行hash之后的值作为身份信息,那么我们在检测的时候就需要做以下几个点:
- 身份确实是pk的哈希;
- 信息能够经过秘钥的验证;
这就是去中心化的思路,你不必再像以前那样需要通过中心机构去注册一个身份,并且自己本身还可以随时去生成一个身份,由于是不固定这里也就完成了身份的匿名化。
2. 随机性与安全性
虽然秘钥有256位,这样就能产生无数种可能性,所以即使在生日悖论的情况下依旧能够保证大部分情况不生成一样的秘钥,但是我们需要保证一个基础前提就是——秘钥的随机性,只有随机性是真的才能够保证做到系统的安全性和理论的存在性。
潜在的安全性:
- 身份虽然做到了匿名,但是随着你的行为越来越多,从统计学的角度你的行为就相当于与你的身份进行了绑定,间接地实名化,这样也就使得别人能够知道你是谁了——总结就是通过行为锁定你的人
3. 两种简单的加密货币
3.1 高飞币
3.1.1 规则
身份其实就是公钥,因此“爱丽丝”指的就是爱丽丝的公钥;
-
可以随时创建高飞币,并且创建的是属于他的;
-
可以转移货币,转移货币的时候是通过加密程序;
-
两个过程:1、造币;2、转移;
-
造币:如上图,用秘钥进行签名;
-
转移:高飞用私钥给他进行签名,同时有一个hash指针指向高飞最初造币的地方;
-
-
致命的问题:第一个转移给第二个,第二个转移给第三个,一直转移下去,每个人都是这笔货币的持有者,每个人都可以进行交易,那么这样的交易将会进行无线循环下去——这就是所谓的“双重支付问题“。
-
3.2 财奴币
-
主要是为了解决双重支付的问题而诞生的;
-
如何解决?
-
利用仅增账目去解决,也就是在账目中只能增加记录,那么当前节点就能看到之前节点是不是交易过了,这样就不用担心双重支付的问题了;
-
为了完成这一功能,于是组成了如下的区块链:
-
-
两种交易形式:
-
造币:
-
与高飞币种类似,需要有序号ID、数量记录以及对其签名;
-
图示如下:
-
-
付币:
-
交易必须由每一个支付该币的人来进行签署;
-
这里涉及一个规则,也就是判断一个货币是否有效才能操作,那么判断货币有效的步骤如下:
-
被消耗的币为有效货币,即它们是在之前的交易中创建的。
-
被消耗的币没有在之前的某交易中被消耗掉。就是说,本次交易不是双重支出。
-
本次交易产生的币值量等于消耗的币值量,也就是说,只有财奴才可以创建新币。
-
本次交易被消耗的所有币均有其所有者的有效签署。
-
-
这个系统唯一的缺陷也是很大的缺陷就是:财奴(创造货币的人)虽然不能够伪造签名,但是他可以不对下一个进行交易,这里的权利过于强大只要他拥有权利的话。
-
所以这里的问题就是“去财奴化”
-
结论:
- 我们需要解决所有用户如何在交易历史记录发生后,一致同意采用一个公开区块链,他们必须一致同意哪些交易有效、哪些交易是实际发生了。他们还需要能够用一种去中心化的方式分配ID。最后,新币的铸造也需要通过去中心化的方式进行掌控。
- 如果我们可以解决所有这些问题,那么我们可以创建一个如同财奴币那样的货币,但确实没有中心化的机构。
-
-
参考文章
- 解读区块链全套六册.第一章