系统难点
1.多数数字货币需要为每个用户单独分配地址,如此多的地址如何方便备份?
多数货币支持BIP44标准,通过BIP32创建助记词BIP44管理密钥能做到备份一个助记词备份所有密钥。
2.怎样安全的管理密钥?
密钥从各种区块钱包系统中分离出来,由一个系统统一管理密钥,需要转账时调用密钥系统生成转账签名数据。
密钥系统单独部署和所有业务系统隔离,甚至可以购买不同厂商的云服务器进行隔离。
单独的密钥系统也减少了对区块钱包的依赖,区块钱包只提供区块数据同步不管理密钥,如果区块钱包出现故障可以切换到另外一个区块钱包而不用转移钱包中的密钥。
3.如何确保充值、提现一定是成功的?
建立内部账户系统,账户有金额变动时先进行记录,经过一定区块确认后对比内部账户与区块账户金额是否一致,如果一致说明充值、提现成功。
内部账户增加了系统的复杂性,需要对每一笔出入账进行记录,但是能够很好的保证资金安全。
系统结构
系统主要由blockchain-server、crypto-server、xxx-observe三部分构成blockchain-server对外提供区块服务,所有业务系统与区块系统交易由blockchain-server完成。crypto-server管理密钥,生成签名数据。xxx-observe为区块监听系统