数字货币钱包和硬分叉之间有着怎样的关联
扫描二维码
随时随地手机看文章
数字货币钱包和硬分叉都是区块链行业的热门问题,也是大家密切关注的话题。
数字货币钱包按秘钥由来可以分为两类。第一类是非确定钱包,以比特币钱包为例,每个秘钥都是根据不同的随机数独立生成的,秘钥彼此之间没有任何关系。
我们知道,钱包是私钥的容器,有了私钥,我们就可以使用椭圆曲线乘法生成公钥,进而通过公钥,使用一个单向加密哈希函数生成比特币地址。需要注意的是,这个过程是不可逆的。其关系如图所示。
在比特币网络中,公钥用于接收比特币,而私钥用于支付时的交易签名。只要掌握了私钥,就可以控制账户内的数字货币,对其进行交易或转账。
但是这种方式有两个问题,一个是用户备份比较困难,另一个是不能既安全又方便的生成大量的地址。而另一类钱包,称之为确定性钱包,其所有秘钥都通过一个主秘钥生成,所有秘钥之间都是相互关联的,通过主秘钥可以生成全部其他秘钥,其推导方法是树状结构,这种方法则有利于解决上述问题。
主讲人刘斌是区块链领域的资深开发,他对确定性钱包创建的总体流程做出了简要梳理,其步骤大致分为:
1 生成助记词
2 从助记词生成种子
3 从种子生成 HD 钱包 主扩展私钥
4 按树状结构推导出所需的子私钥和地址
北京大学的沈晴霓教授对此这类钱包的具体实现方法很感兴趣,向刘斌仔细询问了功能实现的具体技术和代码情况,刘斌对此一一做出了回答。
在介绍完钱包功能后,北京大学的博士生辛武对区块链分叉的重点进行了分析。区块链分叉指的是区块链发生了意见分歧,从而导致终端版本不一致。
我们知道,在中心化机构中,服务器可以由有相关权限的后台一键升级,实现比较简单。而去中心化系统中,如果社区无法达成一致,由于终端版本不一致,就会造成形成分叉。
分歧的种类很多,包括共识算法(NBFT/CFT:Paxos、Raft;BFT:PBFT、 POW、POX),区块大小(1MB、2MB、8MB、32MB、64MB),账户模型,货币总量等,都可能导致分叉。
辛武对知名度最高的比特币分叉和以太坊“the DAO”时间进行了具体的分析,并将分叉细分为四种情况,分别是区块链内部机制,终端版本升级(软分叉),终端版本升级(硬分叉),社区、链、币的分裂,并指出,永久分叉,并非技术问题,而是一个涉及人性和利益的问题。