uload笔记——防范矿机,人人有责
一、uload靠什么防止ASIC矿机
1、什么是ASIC矿机
中本聪打造比特币的时候,设计的是使用电脑(包括家用电脑)来挖矿,主要依靠CPU去计算。但是随着比特币等数字货币的价值越来越高,挖矿成为了一个产业,竞争越来越激烈,挖矿难度也不断提升,于是就开始比拼硬件。
后来矿工发现,Intel、AMD的CPU虽然越来越强大,但是电脑CPU是通用处理器,综合能力强但单项计算能力并不如专用计算芯片,最简单的例子就是图形计算,在图形与3D计算方面CPU远不如GPU芯片。
比特币挖矿只是进行SHA256哈希值计算,功能单一,CPU虽然能计算,但是从成本、效率上考虑并不划算。所以矿机企业专门设计了用于SHA256(或其他算法)计算的ASIC芯片。
ASIC是Application Specific Integrated Circuit的缩写,是一种专门为某种特定用途设计的电子电路(芯片)。用于挖矿的芯片,就是矿机ASIC芯片了。因为被设计为只进行某一挖矿需要的特定算法,所以ASIC芯片的设计可以简单的多,成本也低的多。不过最重要的是,就挖矿算力来说,ASIC可以比同时代的CPU、GPU高出几万倍甚至更多。
比如当前主流的蚂蚁矿机S9,就是ASIC矿机,使用了189片ASIC芯片,算力达到了13.5TH/s,而整机的价格只有1万元人民币,功耗仅为1350W。作为对比,当前电脑显卡旗舰GTX1080Ti挖矿的算力基本不会超过60MH/s,60M与13.5T相差了好几十万倍,并且一块GTX1080Ti的价格就是7000元,单卡功耗在300W以上。
所以,纵观现在的比特币矿工已经步入专业化集团军模式,普通人再难涉入其中,如果uload出块也可以依靠ASIC矿机的话,相信也会步入比特币的后尘,逐渐成为算力寡头们的游戏。为社群建设增加难度
2、uload如何拒绝ASIC矿机
uload是通过POW和POS结合来维护整个区块链网络的。POW是为了给区块链生态提供算力来进行工作量证明进行出块,那么如何保证算力池不被大型ASIC矿机霸占,使得更多用户参与社区建设呢?
答案是,Uload的算法设计天然抗ASIC。使用16种散列函数,这将增加ASIC 实现的芯片面积,而且会导致GPU的多线程执行不同的路径,降低其并行化效率。并且,使用严格串行的执行序列,控制GPU和asic的并行度。
但是uload的做法是否有效,其实令人生疑的。魔高一尺道高一丈,有时并不是无法做到,而是没有现实的利益。何况,upload又是如何防止大规模肉鸡的攻击呢?