区块广播:

国内智能坊团队率先实现pos冷挖矿

ranger.shi船员发布在 智能坊/Smartcoin
 8262  25



冷挖矿——让人放心的POS币挖矿技术


背景介绍:

大家知道,目前的POS算法加密货币在挖矿时都需要事先解锁钱包并且联网才可以挖矿,这样就无异于将您的私钥暴露在光天化日之下,无形中就给了黑客可乘之机。据说,当年在比特儿下手的NXT江洋大盗就是钻了这么一个空子。
不过,POS币的爱好者们现在总算可以放心了,智能币(SMC)/DACRS 系统已经解决了这一币圈难题。

实现方法:钱包里的每个ID可以拥有两组公私钥,一组专门用作挖矿,而另一组则既可以挖矿也可以转账。挖矿时只把挖矿私钥联网,就算黑客偷走钱包文件,他也无法转账。
另外,为了减轻系统负担,默认情况下,钱包只有一个账户时,只有一组秘钥,它既可以挖矿也可以转账。

如何注册可以冷挖矿账号:

简单地说:
或者说最直接的好处是:即使智能坊钱包加密了,还可以挖矿,而其他的pos山寨币一般都必须解锁钱包才可以挖矿。



代码实现:
挖矿签名:
位于miner.cpp 文件中 函数 CreatePosTx
[code]if (pwalletMain->Sign(item.keyID, pBlock->SignatureHash(), pBlock->vSignature,
item.MinerPKey.IsValid())) {
LogPrint("INFO", "Create new block,hash:%s\n", pBlock->GetHash().GetHex());
return true;
} else {
LogPrint("ERROR", "sign fail\r\n");
}
[/code]校验block位于
位于miner.cpp 文件中 函数 VerifyPosTx
[code]if (view.GetAccount(prtx->account, account)) {
if(!CheckSignScript(pBlock->SignatureHash(), pBlock->vSignature, account.PublicKey)) {
if (!CheckSignScript(pBlock->SignatureHash(), pBlock->vSignature, account.MinerPKey)) {
return ERRORMSG("Verify miner publickey signature error");
}
}
}
[/code]具体可以查看源代码。
https://github.com/SoyPay/dacrs











  • 正序
  • 最新
只看帖主楼层直达
  • 1
  • 2
登录 账号发表你的看法,还没有账号?立即免费 注册