现在这个大家都能听懂的普通话书面语说法是: 区块链投票技术这件事, 近两年来的关注度一直不低。像是选举、社区议事还有企业表决这类事情, 都在逐渐往链上去转移。只不过真正着手去落地实施的人还是太少了。所以我拿自己手头参与的几个项目的经验情况, 把实际操作过程中碰到的这些坑, 直接摊开来和大家说清楚。
区块链投票程序靠谱吗
链上投票这件事, 最大的好处其实是不可以随便被改掉的, 不可篡改这个特性很关键, 选票一旦上了链条, 谁也没办法再改动它了, 这比起传统的那些数据库来说, 优势是非常明显并且非常大的, 但是我们千万不要只是盯着安全这一点去看问题, Gas费到底要花多少、节点运维需要投入多少精力、合约审计的成本有多高, 这些看起来不太显眼的隐性成本, 也必须实实在在地算到预算里去考虑。
之前给一个行业协会做季度投票, Solidity合约跑在侧链上, 单票成本压到几分钱。结果卡脖子的不是技术, 是用户习惯——投票人得先装钱包、导私钥、确认Gas, 转化率直接掉了一半。
区块链投票程序怎么部署
这次部署其实并没有那么复杂, 简单来说就是按照编译合约、上传到测试网络、再上传到主网的顺序来走, 整个流程在两三天内就能跑完。

真正需要花费大量时间投入的是前端的交互层部分, 因为参与投票的普通用户并不是程序员群体, 所以操作界面必须做得足够简单易懂, 最好能做到让用户直接在浏览器里打开页面就可以进行投票操作。
还有一个很容易被大家忽略的方面, 就是计票逻辑这个事, 它到底是要放到链上去, 还是说放在链下去弄。
要是把所有东西都全部放到链上去的话, 虽然透明性是没得说的, 但是Gas费太贵了, 让人受不了;要是选择在链下进行处理的话, 处理速度是非常快的, 但是必须在旁边额外加一层信任锚点才行, 以此来保证事情的真实可靠。
我们在实际操作的时候采取了一种折中的办法,简单来说, 就是把所有的投票记录全都放到链上去存好, 然后把统计算出来的结果放在链下, 算完以后呢, 再做一个哈希值, 把这个哈希值存储起来, 这样兼顾了速度和可审计性。
技术层面能把流程打通, 那仅仅是一个必须达成的最低要求, 真正能够决定一个基于区块链的投票应用是否有机会在实际生活中被部署并且成功运行的关键因素, 在于参与投票的那部分人群会不会愿意去点开并访问对应的那个程序界面。
对于用户体验这个环节要形成清晰且深刻的认知, 这种行为的必要性和重要性程度, 远远超过大家在思考应该选择哪一个具体的底层区块链技术时的纠结和思考强度。
