数字货币钱包和数字现金密不可分。而比特币的创新设计就是以此切入点。接下来,我从数字现金原理说起。
本回答主要剖析了数字现金设计的基本原理和创新思路,探讨了加密货币技术的优点、缺点及重点研究方向。一直以来,密码学家有个想法,既然邮件能够加密、签名发送出去,那么手里的现金能不能像邮件一样,加个数字信封,进行加密和签名后,从一端发送到另外一端。这就是最早的数字现金思想的由来。随着现代密码学的发展,数字现金的技术实现逐渐成为可能,引起许多密码学家的广泛兴趣。
数字钱包与自主开户
理论上,数字现金的设计可以参照传统的两种支付方式:一种是纸质现金模式,将现金直接递给对方;另一种是银行存款支付或第三方支付模式的中介模式,比如支付宝支付,我们先把支付指令发出去,支付宝的后台接收到指令后,在支付宝的后台服务器上对我们账户上的资金余额计增计减,例如我发给张三,它就会计减我的账户多少钱,计增张三的账户多少钱,这样我的钱就到他那儿去了。
对于第二种支付方式,数字现金的研究者们认为,既然数字现金是现金,那么就不应再找一个中介来完成现金的支付,而是应该延续纸质现金的支付特点,直接把数字现金转给对方,也就是点对点支付。
为此,研究者们首先利用数字钱包来解决开户问题。有人说比特币门槛很高,但实质未必。若我们要使用支付宝,存在几个先决条件:首先得开个支付宝账户,还得去商业银行开个账户,把钱存进去,然后把钱从商业银行账户转到支付宝账户,才能使用支付宝。而比特币不需要这样找其他人开户,首先下载一个比特币钱包软件,在本地安装完毕,开户也就完成了,不需要跑任何第三方请他们帮忙开户,自己给自己开。在本地安装的时候,本地首先会根据电脑特有的参数信息随机生成私钥,私钥很重要,甚至得拿笔记下来。许多人电脑格式化了以后,比特币就没了。再重新产生的时候,电脑产生的私钥不同,将影响运算结果。得到私钥后,本地通过椭圆曲线密码算法导出公钥,公钥生成以后,再做两次哈希运算,然后做一个数据的编码整合,产生一个长位的数,这个数就是钱包地址,相当于商业银行账号。
这在金融史上是一个非常重大的变化,我们所有的传统金融业务都是围绕着商业银行的账户开展的,而现在,私钥本地生成,非常隐秘,从中导出公钥,再变换出钱包地址,自己给自己开账户,不需要中介,这是数字货币体系和商业银行账户体系的根本不同。我们在大力发展普惠金融的背景下,需要思考究竟什么叫普惠金融?如果一定意义上普惠代表着提升金融的覆盖面、可得性和易得性,那么自己给自己开户算不算真正意义上的普惠金融?这是不是革命性的创新?这个差异非常重要,账户的内涵和外延因此而扩展。我文章《数字货币与银行账户》就探讨了新型数字货币(新的账户体系?)和传统银行账户体系如何融合的问题。
那么,在没有中介的情况下,钱包和钱包之间怎么开展交易?首先转账方需要知道对方的钱包地址和公钥,用自己的私钥对转账报文进行签名并全网广播。全网收到转账信息后,验证这一转账报文是由哪个人发出,想传到哪个钱包地址,最终持有钱包地址私钥的人才能使用这笔资金,这就是比特币钱包和钱包运转的大概过程。
但挑战在于,怎么防止多重支付,即双花问题。在存在权威的中间人的情况下,双花问题很容易解决,因为有中间人的介入,一般不会发生多重支付。而当没有中间人,自己开账户,两两交易的时候,没有人判断是否发生双重支付。此时怎么办?比特币的创新设计就由此切入。
比特币的创新设计:分布式共享账本与工作量证明机制