概述
​以比特币为代表的民主货币,其技术突破在于首创了非中心存储和交易模式。
在币支票出现之前,要想使用虚拟币,就必须要通过“钱包”。
“钱包”的麻烦在于要么下载、安装(本地钱包);要么注册、登陆(服务器钱包)。使用虚拟币必须要面对上述二选一的麻烦。
所谓“钱包”,其实是一种基于区块链的虚拟币账户生成、查询和付款工具。
币支票是另一种基于区块链的虚拟币账户生成、查询和付款工具,其相对于钱包的优势在于完全不需要下载安装注册登陆,只需记录币支票ID(和密码,如有)即可。而同时,币支票具备和在线钱包(例如QT钱包)完全相同的安全级别(离线生成私钥及离线签名,具有更高的安全级别)。
当钱包门槛被解除后,任何从未接触过虚拟币的人,通过任何通讯或记录方式(甚至包括笔纸!),都可以收发虚拟币,这给虚拟币的应用和推广带来了更大的便利性和可能性。
 
币支票ID
币支票的支票ID实为币种代码结合编码后的账户私钥(不加密或者密码加密的)。
具体编码方式为:
未加密的:标准WIF格式私钥。
加密的:首先对私钥进行base58编码,然后利用用户提供的密码,采用AES(CBC(iso10126),10次迭代)加密,最后进行base64编码。
未加密的币支票ID,长度为56个字节,前3字节为币种编码,第4字节是“-”,后面52个字节是WIF格式的私钥,例如:
DOG-KwrfeN5tPRJTUzMiCKB3Qkmw8ARfG6NJtC8cnyxQCz9Jw936meAf
加密的币支票,长度为92字节,前3字节为币种编码,第4字节是“-”,后面88个字节是加密后私钥,例如:
DLC-XEUWzFmiQ6mozAxGyMyQN9RTEgEH3GsGfkp+KUSqIz3BUmJVUwS0VB24gCCmQVHp3SG8/fnrNTFfPUB6+hB7Hw==
 
运作流程:
充值:
通过区块链上发送交易,将虚拟币发送到币支票私钥对应的地址。
币支票的金额,实际上是区块链上该私钥对应地址收到的币的总额。
存储:
币支票中存储的虚拟币,都是保存在区块链上的,而不是保存在币支票网站上的。
查询:
在币支票网站上,输入币支票ID,即可查询到该支票的余额。已签收的支票余额为0.
发送:
建立一个交易,输入是币支票地址中的所有收入,输出是新的币支票的对应地址或者收款钱包的地址。
使用币支票ID中的私钥进行签名。
向虚拟币P2P网络该交易,该交易会被记录在区块链上。
将新的币支票的ID(不加密的或者密码加密的)发送给接收人。
签收:
类似发送的流程,区别是接收人是本人。
 
安全:
签收
币支票与钱包相比,流程上有一个环节明显不同:签收。
由于发送方知道币支票的ID(即便经过加密,发送方依然知道币支票的ID和密码),因而发送方随时可以提走里面的币。
所以,接收方需要进行一个签收动作,即将收到的币支票的虚拟币发送到一个自己新生成的币支票中,此时这个新的币支票只有接收方自己知道ID和密码,而发送方无从知道,因而接收方完全接手了控制权。
加密
未加密的币支票,任何人拿到了币支票ID,都可以取走里面的虚拟币。这相当于没有加密的钱包,安全系数很低。
加密后的币支票,只有使用密码才可以解密出私钥再进行签名,所以只有持有密码的人才拥有支配权。因而其安全级别和加密的钱包是完全相同的。
误操作
由于发送方拥有币支票的ID和密码,所以即便不小心发生了误操作(接收方信息错误、发送金额过大或者重复发送)发送方也可以自行提回。相比使用钱包时一旦发生误操作只能期盼接收方返还,币支票无疑具备更高的安全性。
币支票网站与服务器
所有币支票中存储的虚拟币,都是直接存储在区块链上,而不是存储在币支票网站上的。所以虚拟币安全完全不依赖币支票网站。
币支票私钥的加密和解密过程完全在浏览器上通过javascript实现(js是比开源还开源的,任何用户都可以随时阅读JS代码),币支票网站完全不经手密码,因而也就完全无法知道密码。
由于币支票ID的格式是完全公开的,所以在任何支持这些格式的程序或网站(例如QT钱包、blockchain.info钱包)上都可以使用币支票里面的虚拟币,因而币支票对币支票网站没有依赖性。
最佳安全策略
收到币支票后,进行加密签收,充分备份签收后币支票的ID,牢记密码,就可以保证这笔虚拟币不会丢失。