Tokenika让EOS冷钱包实现离线投票

有大量的EOS被存放在“冷钱包”,那么这些不联网的EOS可以给节点投票吗?

安全和投票 = 鱼和熊掌 ?

对于加密货币来说,私钥被盗是最重大的风险,所以大家往往把常用的少量的代币放在联网的“热钱包”,剩下的大部分存在不联网的“冷钱包”。但EOS跟比特币、以太坊最大的区别之一,就是采用了DPoS共识机制,需要投票产生超级节点。这个投票过程需要在网上进行,如果私钥在期间受到网络钓鱼和恶意软件等方式攻击,是存在一定的泄漏被盗的风险。

此外,EOS选票有个一年的半衰期,权重会随着时间的推移而衰减,因此每隔几个月需要重复一次投票行为,那么也意味着会相应地增加风险。

综上所述,肯定会有一些用户,特别是使用“冷钱包”的大户,因为出于对安全问题的担忧,而放弃了自己的投票权,进而间接影响了EOS的完整性。

Tokenika是来自波兰的候选节点,技术实力还是比较强的,已经推出了EOS factory、TEOS等多个基于EOS的工具。其中EOS factory是一个基于Python的EOS智能合约开发平台,因为Python比官方原生支持的C++简单好学多了,非常适合初级开发者。 现在,他们也看到了让EOS冷钱包离线投票的刚需,于是又推出一个令人惊叹的好工具“Secure EOS Block Producer Voting”,真是“神操作”。

离线投票是如何实现的?

Tokenika开发的这个投票工具,原理就是在完全离线的情况下生成投票交易,并确保私钥仅用于签署交易,并且之后不会公开。具体地说,就是把投票过程分解,将必须联网的操作在联网的电脑上进行,然后将可以离线的操作,也是最重要的签名和密钥处理过程放在完全不联网的电脑上进行。

当然,在签名和密钥处理过程,为了安全起见,也只使用官方的EOSIO未修改的代码库(eosjs)。eosjs是浏览器等前端与EOS区块链通信的桥梁,所以是必须导入的,这也是“Secure EOS Block Producer Voting”唯一依赖的外部库。

“Secure EOS Block Producer Voting”的源码被放在了GitHub

离线投票的过程分为三个简单的步骤,接下来,跟天晓一起体验一下这个工具。

1、联网:获取有关的网络信息

这三个简单的步骤,其实也就对应了三个HTML文件。那么我们打开第一个HTML文件:1_get_blockchain_data.html。

image

这个第一步需要联网进行的,在“API Endpoint”输入框输入EOS链的链接,然后点击“load”按钮。

通过浏览器的开发工具,可以看到,这个网页先后发送了两个请求get_info、get_block。

image

先通过get_info提取EOS区块链的当前的区块信息block_num,然后根据这个block_num参数发送get_block请求。然后可以得到ref_block_prefix,也就是最近的一个区块的hash值的一部分。这两个参数对于后面离线生成投票交易至关重要。

2、离线:使用私钥生成并签署交易

如标题所示,这一步骤应该在完全不联网的电脑上执行,也就是打开第二个HTML文件:2_generate_transaction - eosjs.html。

当然,打开这个HTML文件的源码可以看到,直接链到官方的代码库导入eosjs。实际操作中,你得把eosjs下载下来,跟2_generate_transaction - eosjs.html一起放到离线的电脑。

image

在这个步骤,除了需要输入之前拿到的block_num、ref_block_prefix,还需要输入账号名、私钥、想要投票的超级节点候选者名单、交易有效时间(默认10分钟)。

这里输入私钥是为了签署交易,然后生成raw transaction。

​这个raw transaction文件不会包含私钥,你可以放心地保存起来,通过U盘复制出去。

3、联网:将交易推送到网络

第三步很简单,在联网的电脑上打开3_push_transaction.html,填写第一步的“API Endpoint”和第二步的Raw transaction,然后提交就将这个投票行为作为一笔交易发送到EOS链上。

image

通过这三个步骤,将投票行为分解开来,从而实现离线投票,而无需在联网的电脑上暴露私钥,这是非常棒的。特别是对于那些持有较多EOS的、使用冷钱包的用户,不用担心被网络钓鱼和其他攻击而遭受损失。

当然,使用前一定要认准Tokenika的GitHub地址再下载这个工具,另外如果有JS的知识,可以对代码进行审查。天晓看了一下,源码非常简洁易懂。

目前,可以随机生成密钥对进行测试。但真正的操作要等多个可信节点宣布之后,才可以连接可信的EOS主链进行投票。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容