以太坊mist同步问题
“一币一别墅”的财富神话依然在币圈里广为流传,不断有新的投资者跃跃欲试。但其实,从矿机厂商到大矿场主,再到矿池,这个小圈子已经形成了一个稳定的权力结构。
制售矿机、挖矿、建矿场、搭矿池,“矿圈”成为区块链世界里另外一条发财之路,矿机也成为一门鲜为人知的“大生意”。
按照比特币发明者中本聪的设想,理想的状态应该是“去中心化”的,算力分散在全球各地。但是,与去中心化背道而驰,矿池是绝对的中心化,越来越多的矿机接入到矿池里。
本文首发于南方周末
“如果说炒币是一条不归路,那么投资矿机就是一笔稳赚不赔的生意,回收成本只是时间问题。”深圳爱播时代科技有限公司总经理钟熙算了一笔账,一台矿机每天200元收益,120天可以回本,之后就是利润了。
2017年10月,钟熙在主业之余,加入了挖矿大军,并迅速成为矿圈大佬,他在江西、四川、贵州等地运营着多个大矿场。
其实这个“稳赚不赔”的生意仍然依赖于币价的持续高涨。过去两个月时间,比特币币价从15000美元跌到了10000美元左右,甚至一度跌破6000美元,使得矿机回本周期延长,如果一直跌下去,盈利也就遥遥无期了。
在比特币问世4年之后,也就是2012年,可以量产的矿机才出现。在此之前,挖矿主要是私人行为,家用电脑就可完成。“那时,家用电脑就是印钞机,每天都能挖出不少比特币。”资深数字货币玩家、早年卖过矿机的黄世亮向南方周末记者回忆。
矿机出现后,挖矿开始“社会化”,出现了矿场和矿池,挖矿成为一件集体工作。单独的矿机被矿场托管,就像生产线上的工人,只要摆在那里,就可以每天领薪水。
制售矿机、挖矿、建矿场、搭矿池,“矿圈”成为区块链世界里另外一条发财之路,矿机也成为一门鲜为人知的“大生意”。
中国则成为全球最大的矿机生产地。从2012年开始,在中国诞生了一批矿机生产商,如生产烤猫矿机的深圳比特泉有限公司,还有现在赫赫有名的比特大陆、嘉楠耘智和亿邦通信。在深圳华强北,到处也都可以看到外国人带着翻译询问矿机价格。
近期,比特大陆CEO詹克团在接受媒体采访时称,这个成立仅4年的创业公司,2017年的营收规模约25亿美元。比特大陆号称全球最大的矿机生产商,他们的蚂蚁矿机一直都是币圈和矿工世界的硬通货。
与币圈一样,矿圈也需要信仰——要坚信矿机每天机械地数学运算能够创造巨大财富。
不过,与比特币所宣扬的“去中心化”背道而驰,矿工的世界正在走向“中心化”。矿机销售商自己建矿场,投资者买完矿机之后,又被销售商托管;而生产商则自己建矿池,又将矿场给管起来。
这种“中心化”的过程,使得矿圈的财富被少数人攫取,钟熙要想进入到核心圈子,也并不容易。
算力“中心化”
矿场的主要作用,是给分散的矿机提供一个运转的地方。但真正起到整合作用的则是“矿池”。
所谓“矿池”,可以简单理解为“合作挖矿”。矿工和矿场们,把算力交给矿池,由矿池作为唯一的地址,来接入数字货币网络进行挖矿,再按照矿机的算力,给矿工分发红利。
矿池的历史要比矿机更悠久。2010年11月,名为Slush的矿池出现,它的官网在今天还写着是“世界上首个矿池“,这个称号也被币圈所公认。与矿场相比,矿池的搭建需要一定的技术,门槛相对更高。
国内一家知名矿池的负责人向南方周末记者解释矿池的原理。他把挖矿比作买彩票,一个人挖,中奖的概率很不稳定,可能今天中了10万,以后半年都不中。
“把买彩票的人聚到一起,统一买,无论谁中,根据出钱比例来分成。在币圈,矿池就发挥这个作用。”该负责人说。
矿机连接矿池并不复杂,根据各大矿池的操作指南,一般只要几步就可完成,然后就根据自己提供的算力,从矿池获得收益。矿机就像一个站在生产线上的工人,每天领取固定的薪水。
掌握巨大算力和众多矿机的矿池,在币圈和矿圈都有着绝对的发言权。比如,如果要发行新的数字货币,或者要主导比特币分叉,一般要获得矿池的支持,没有矿池的支持,新币种没人挖,也就没有了意义。
此外,当一个抢手的新币面世时,矿池也可以利用自己所掌握的矿工,快速打包,在这些新币的抢购中占得先机。
2017年6月份,SNT和EOS两大代币发行时,南方周末记者就见证了矿池抢购代币的场景。由于投资者太多,很多个人投资者无法将资金打入到指定位置,但一家矿池的负责人,就可以轻而易举地完成这一操作。
按照比特币发明者中本聪的设想,理想的状态应该是“去中心化”的,算力分散在全球各地。但是,与去中心化背道而驰,矿池是绝对的中心化,越来越多的矿机接入到矿池里。
2018年1月18日,康奈尔大学计算机教授埃敏·允·西拉什等5人合著一篇论文,直指两大数字货币比特币和以太坊背后存在隐性的权力结构,挖矿过于集中,其中比特币50%的算力被四大矿池所控制。
其实,这个问题一直存在。4年前,以太坊创始人Vtalik在写以太坊白皮书时就注意到了这个问题,他写道:“这个问题可以说很严重,在本文写作时,最大的两个矿池,间接地控制了大约全网50%的算力。”
直到今天,这个问题也没能解决。一位以太坊白皮书的早期翻译者向南方周末记者无奈地表示:“这不是技术问题,而是人的问题。”
5
隐性的权力结构
在矿圈,食物链顶层就是矿机生产商。目前,公认的三大矿机生产商均位于中国。他们通过生产销售矿机,获得大量的利润,同时也涉足矿场和矿池的建设,布局在整个币圈的话语权。
蚂蚁矿池是全球排名前二的大矿池,它的算力占据全网算力的17%,但根据工商资料,该矿池是由比特大陆一手创办;嘉楠耘智的几位投资人,同时也是杭州矿池科技有限公司的投资人,后者有自己的矿池Hash和挖矿平台,不过矿池已于2017年底停止运营。
亿邦通信则在内蒙古呼和浩特市、乌海市,新疆准东经济开发区成立了三家区块链公司。亿邦通信的一位销售人员向南方周末记者介绍,他们在这三地都有矿场和挖矿业务,但这些矿场也已全负荷运转,没有机位可以托管新的矿机了。
“我们正在俄罗斯的伊尔库茨克搭建新矿场,那里电费低很多,新矿机可以在那里托管。”该人士说。
在矿机厂商之上,则是芯片巨头的收割。“矿机的核心技术在芯片上,谁有矿机芯片,谁就可以生产更多矿机。”丁杨对南方周末记者说,芯片主要掌握在几家巨头厂商手中,如台积电、英伟达、AMD等。
从2015年开始,台积电一直都是嘉楠耘智的最大芯片供应商。2015年,嘉楠耘智从台积电采购的芯片,占据嘉楠耘智所有采购量的69.62%,此后这个数据一直维持在60%左右。嘉楠耘智的大部分利润,均被台积电赚走。
2018年1月18日,在台积电第四季度财报的说明会上,董事长张忠谋就称,虽然今年的移动业务前景较弱,但公司的营收依然会增长10%—15%,关键因素之一就是持续稳健的加密货币开采对芯片的需求。
在矿机厂商之下,则隐藏着另外一种权力结构。嘉楠耘智2017年的招股书上,透露了这个秘密。2017年前4个月,嘉楠耘智的前五大客户中,有四大客户属于“个人”。而根据公开资料,其中有三人均是币圈鼎鼎大名的“腕儿”。
第一大客户吴钢是最早的一批矿工,后来创办了Haobtc,该公司拥有一个全球前十的矿池;第二大客户林志鹏是小强矿机的创始人,很早便从事矿机的生产销售,其与第六大客户谢维钦,一直是合作关系;第三大客户王晋创办了币圈资讯网站比特帮。
这些大客户均不是单纯的矿工,他们都在币圈拥有着自己的影响力。机械运转的矿机给他们带来收益的同时,也带来了话语权。
据比特大陆一位内部人士介绍,比特大陆的大客户中,也多为币圈的大佬。不过,比特大陆官方婉拒了南方周末记者的采访,该公司公关部回应称,由于与客户签署了保密协议,该方面内容不方便透露。
“一币一别墅”的财富神话依然在币圈里广为流传,不断有新的投资者跃跃欲试。但其实,从矿机厂商到大矿场主,再到矿池,这个小圈子已经形成了一个稳定的权力结构。
新入局者,大多只能做被收割的“韭菜”
2. 为什么说虚拟币是区块链存在的唯一意义
为什么说虚拟币是区块链存在的唯一意义
区块链已经是一个世人皆知的名词了,有人甚至断言,未来人类社会的一切都将以区块链为基石。但若问区块链究竟是个什么技术,各路“专家”的解释可谓语焉不详:有些堆砌常人不可理解的术语,有些大谈其潜在应用,有些干脆冠之以“第四次工业革命”——至于区块链的本质,大家终究还是不甚了了。
之所以闪烁其词,原因并不难猜。就功能而言,区块链无非是一个特殊方式加密的公共数据库,这种毫不性感的概念是没法用来炒作的。当然,区块链吸睛如斯,其内涵和外延不可能如其功能般缺乏营养。要把它讲清楚,我们需要了解大量技术本体以外的信息,而其中的重中之重便是以比特币为代表的虚拟币。
区块链的痛点
放在五年前,世上并无太多人知道什么是区块链。作为比特币的底层技术,这个系统以数据块(block)的形式进行传输,并以末端追加的方式将数据块连成链状(chain),因而得名区块链(blockchain)。从技术层面看,区块链和之前存在的IT技术之间没有显著的壁垒,并无革新性的进步;但从价值观层面看,它们则有根本性的不同——以前所有的技术都旨在提高效率,而区块链是反其道而行之的。
鉴于比特币是区块链标志性的存在,我们不妨拿它作为样本。
比特币体系内的每一笔交易记账都在全网范围内由无数个用户验证,验证通过后,该次交易才能成立。而第一个成功记账的用户可以得到一定量的比特币奖励。这个信息处理过程俗称“挖矿”。目前比特币系统的活跃用户数约500万人,2017年全年处理量约3000万笔交易。3000万笔是个什么体量呢?2017年11月11日这一天时间里支付宝完成了14.8亿笔交易,约为比特币全年交易量的50倍。
这个差距并不说明太大问题。毕竟比特币的用户数远低于支付宝,应用场景也远少于支付宝,所以交易量有数量级的差别并不奇怪。真正说明问题的,是支持这3000万笔交易所消耗的电量:外媒Digiconomist公布,2017年比特币系统消耗的电能达到了300亿度,占全球耗电量的0.13%,超过数十个国家的全国年用电量。换言之,处理一笔交易,比特币系统平均需要消耗1000度电;以我国居民电价计,相当于每个活跃用户人均承担电费3000元。如此匪夷所思的耗电量意味着巨大的算力配置,这与其渺小的处理功能形成了强烈反差。
“去中心化”的低效,不只体现在算力,还体现在数据存储。
继续以比特币为例,众所周知,比特币(区块链技术)要求用户分布式储存公共账本。其背后的逻辑很奇葩:“去中心化”理念认为中心账本的管理者会作假,故账本的存储必须公共化。目前完整的比特币公共账本大小已经超过150GB,并以每年数十GB的速度快速递增——仅仅为了支持500万用户每年3000万笔交易。如果有朝一日其处理量与目前的支付宝比肩,那每年比特币账本的大小将增加超过500TB。这相当于把支付宝服务器的存储数据在所有用户的个人电脑上进行备份,其荒谬性是显而易见的。
为了解决这个问题,比特币系统现在允许用户存储不完整的公共账本,即“轻钱包”,但其交易验证仍然依赖网络上其他人的完整账本。我们试想,当公共账本大到绝大多数人都无力完整存储的时候,仅剩的那些完整用户节点不就又成了中心账本吗?
把视野延伸到虚拟币以外的区块链应用(如果存在的话),公共账本需要记录的将不仅仅是纯数字的交易金额,还可能是每一辆车的保险信息、每一个人的信用信息,这些多维度的数据若也要“去中心化”存储在每个用户的终端上,那我们需要的将是天文数字级的存储空间。短时间内,这将是一个不可能解决的难题。
从哲学高度讲,科学的本质是怀疑,宗教的本质是相信。区块链作为科技范畴内的概念,是如何让众人无视诸多悖论、沦为其信徒的呢?答案当然也离不开比特币,这个现世的造富奇迹。
比特币的哲学
不知从何时起,大佬们开始刻意把比特币和区块链作为两个概念割裂开来,众口一词称比特币只是区块链的应用之一。
其中的动机是多样的。
但凡稍有经济学常识的人都知道,比特币不可能成为正常经济体的通行货币。它自带通缩属性,无视货币政策,与现代经济理论八字不合。更重要的原因是,它所挑战的信用货币,实在是过于强大了。全世界除了少数几个失败国家,清一色都是基于政府信用发行货币的。信用货币之所以也被称为法币,是因为绝大多数国家都用法律明确规定,本国货币为国内流通领域“必须接受”的一般等价物。通过这种方式,国家确保信用货币不被拒绝,也同时保证了货币持有人的权利不受侵害。换言之,信用货币并不是凭空发行的,它背后有政府信用背书,有国家机器撑腰。
而比特币的发行机制(也就是挖矿),其用意就是把政府的货币集权“去中心化”,背后则是对政府存在之合理性的质疑。
前面已经提到过,“去中心化”的逻辑出发点是对中心化机构的不信任。比特币原教旨信徒之所以选择用“机器共识”来代替“制度共识”,根本上的理由是认为政府主导的货币发行制度无法体现公平正义——通胀、贫富不均——这些比特币试图解决的问题,无不指向建制。从这个角度看,比特币低效的共识机制也就有了“效率换公平”的哲学意义。
如果技术的进步终将让损失的效率忽略不计,那是否意味着“不值得信任的”中心化机构就无需存在呢?
这是一个危险的问题,好在我们暂时不必作答——因为比特币的“公平化”尝试已经基本失败了。
比特币设计者的初衷,是希望比特币参与者在同一时期能大致机会均等地获得比特币。为此设计了一个相当精巧而理想化的区块链算法,也就是所谓的PoW(ProofofWork,工作量证明)机制。通过穷举随机数变量,第一个得到特定要求哈希函数值(Hash)的用户将有权记账该轮交易,并获得对应的比特币奖励。基于PoW机制,每个用户获得比特币的概率直接由他贡献的算力决定,投入越多,回报越多,看似合情合理。
当然,事情没那么简单。
一方面,比特币的PoW是极其耗能的,每次生成随机数获得特定要求哈希值的预期概率是1/62^18(不到亿亿亿亿分之一),所以全体设备需要海量的穷举运算才能决出记账权。比特币高昂的运行成本极大程度上应归功于这个“公平”的激励机制。
另一方面,比特币设计者对算力分布做出了严重误判。他本以为用户会老老实实用CPU运行挖矿程序,而受限于CPU的核心个数和成本,单一用户不太可能集中太多算力。然而后来发生的事情大家都已经了解了,从GPU到矿机,再到大型矿坑,一个旨在去中心化的系统已经近乎寡头化。
比特币之所以会严重背离其理念,原因其实并不偶然。
规模化的生产给“矿业巨头”带来了诸多好处:更强的电费议价能力,更高的固定资产利用效率,更低的综合人力成本,更薄的研发摊销成本。即便是比特币这样的虚拟产品,其生产过程终究还是符合边际成本递减这一朴素的经济学规律,这便是中心化存在的必然性。从自然科学角度看,类似的结论同样成立:一盘散沙的个体是熵值最高的状态,而高熵意味着无能。
有些人认为,是PoW扭曲了比特币理念,降低了效率,诱发了算力竞争,把它废止了问题就能迎刃而解。于是他们设计了PoS、DPoS等新的激励机制。依我愚见,这些努力是不会有结果的,因为在“效率”和“公平”这个跷跷板上,你不可能满足所有人,甚至不可能满足大多数人。
说得再玄一点:任何一种虚拟币激励机制都是一套经济制度——“死的制度”不可能保证一个动态经济体系稳定运转,只有“活的人”可以。
脱币化的困境
由于比特币的种种问题,圈内的有识之士意识到,继续把区块链和比特币绑定在一起,必将一损俱损,以“技术无罪”的名义切割关系已是当务之急。这不单是应时势,更是遂人愿:比特币的影响已经过于深远,若不把区块链解放出来,后来者的致富空间将被压榨殆尽。
然而,区块链真的可能脱币化吗?
很多不明真相的普通人,甚至一些知名投资者都觉得“真实,不可篡改”的区块链单凭技术本身便存在无限的价值。
对此我要说,这中间误会太大了。
比如银行间结算,即便区块链系统成功完成了记账操作,但某无赖银行拒绝对外打款,区块链能代替法律、保证对手银行权利不受侵害吗?再如产品防伪,即便二维码全程无误,但卖家第一时间在盒子里装的就是次品,区块链能施展魔法、让顾客顺利收到正品吗?事实上,区块链的“真实,不可篡改”,充其量只能作用于虚拟信息,它的触角根本伸不到现实世界。
然而,现在这些概念正被有意无意地滥用。负责任地说,大部分号称前景远大的区块链应用,完全是基于“真实,不可篡改”字面意思的臆想,提出这些应用的人并不理解区块链技术本身,他们找到的只是一些以“真实性”为痛点的应用场景而已——而此类场景当然是无处不在的。然而,最后所有人都会发现,即便克服了低效冗余安全性等众多难题,想象中的区块链需求依旧不会出现。
因为这很大程度上不是个技术问题,而是个经济问题。
区块链的“去中心化”设计意味着系统运行成本会被分摊到每个用户头上,但理性人的天性从来都不是共享和奉献,而是搭便车。以比特币为例,且不讲矿机之类的硬件投资,仅是电费一项,活跃用户人均就要支付每年3000元人民币。如果区块链应用不产生切实的个体收益,就不会有自发的参与者,即便勉强参与了,其可靠性亦会存疑。所以,区块链的商业应用断不能和激励机制脱钩。
说得更深入点,区块链的共识,并不单单是技术上的公共账本共识,更是对区块链价值介质的共识。比如在比特币系统里,如果没有激励机制,抑或比特币一文不值,那就不会有人提供算力,就不会有人提供存储空间,就不会有人传教布道——比特币本身就是系统的价值,理念和技术都只是美好的故事。
现在媒体报道的各种区块链应用,总结起来无非两种:要么就是借题材炒作,在中心化机构的交易中强行套用区块链算法;要么就是纯粹的“展望”,丝毫不考虑实现的方式和难度。出于某些原因,这些媒体在鼓吹区块链的过程中达成了奇妙的默契,绝口不提虚拟币,这对大家产生了严重误导,以为区块链只是一个纯粹的网络技术。事实上,如果确有名副其实的区块链生态出现,那白皮书最后图穷匕见的,必定是虚拟币。
据此,我们不妨重新审视下虚拟币和区块链的关系。
圈内有个说法,称“区块链为本,虚拟币为用”,此话的真伪甚是难辨。
挑明了说,区块链的本质是虚拟币为了建立“公平激励机制”而创造的特定算法,所谓的“区块链为本,虚拟币为用”无异于买椟还珠。在此我们大可断言,一旦失去虚拟币这个灵魂,区块链就不存在价值。
这个论点或让人一时难以接受,但逻辑上并无太多不妥。
所谓“产生价值”,无非三个标准:创造需求,降低成本,重塑公平。从成本看,区块链之于中心化可谓毫无优势;从公平看,宏大的比特币社会实验已然揭开分晓。那么唯一留有悬念的,就是区块链是否“创造需求”了。
这时候币圈人可以跳出来斩钉截铁说,当然有需求,你看这风起云涌的ICO!
ICO的狂欢
ICO,全称InitialCoinOffering,即首次代币发行。简而言之就是把早期项目的特定虚拟币,以比特币等通用虚拟币作价,向公众发售份额的众筹融资行为。所谓的“早期项目”有多早呢?组一个团队再写一个白皮书就够了。如果有闲工夫,顺便做个PPT那算是相当勤奋了。至于尽职调查、财务分析,那都完全不需要,因为大部分项目一分钱营业收入都没有。
“特定虚拟币”这个称呼略有点不专业,在币圈通行的叫法应是token,高雅点的翻译叫“通证”。在白皮书里,项目团队会画出各种大饼,告诉你将来自家通证会有多大“价值”。但你若想知道通证究竟是个什么东西,不好意思,区块链圈子有一个优良传统,叫“语焉不详”。
出于某些意味深长的原因,大部分ICO的法律文书(LegalDocuments)都是纯英文的,而通证的真实定义其实就藏在其中。几乎所有ICO都在法律文书里作了类似如下的规定:“通证不授予白皮书所规定回报以外的任何权利,且仅在项目成功时方能生效。众筹投资者对项目发展和管理不可施予任何影响。通证不代表投资者对项目拥有任何形式的所有权,亦不可凭此获得项目相关的未来收入和知识产权。”
这段让人瞠目结舌的文字,说白了就是:虽然你出了钱,但你什么都不是。ICO众筹并不是我们过去知道的那个众筹,投资者花钱买到的不是股份,而是筹码,什么时候庄家不玩了,筹码就归为空气——且不讲大多数庄家根本玩不起来。
没有底层资产,没有主体信用,没有商业模式,没有法律保障,这样的虚拟币,卖得出去吗?答案竟然是肯定的。
这一切看似荒谬绝伦,但背后的逻辑其实非常简单:因为很多人通过ICO赚了钱。
建团队写白皮书是ICO产业链的第一环,紧接着要拉大佬站台,到境外“交易所”发币,虚拟币上线了还要操纵币价吸引更多炒家入场,最后看准时机套现离场就算走完了全程。有人在这个游戏中直接实现了财务自由;有些虽然没吃到肉,但也喝到了汤。
面对门槛如此低的造富奇迹,任谁都要心动一下。
但是,如果项目本身无法盈利,那不管如何包装美化,ICO终究还是个零和游戏——如果有人赚得盆满钵满,那肯定有人赔得底裤不剩。这就像我们熟知的传销,所有人都知道接最后一棒会死,但都觉得自己不会接到最后一棒。
那区块链在ICO大潮中究竟扮演了什么角色呢?
众所周知,去中心化、去信用化和公平公正,这些都是区块链标榜的理念。我们反观ICO:若要上线发币,就必须向中心化的交易所支付巨额“上币费”,这是何等的“去中心化”?项目团队欺诈横行、币圈媒体刻意误导、交易账户频遭黑客,这是何等的“去信用化”?庄家大鳄肆意哄抬价格,牟取暴利,倾轧韭菜,这是何等的“公平公正”?事实上,除了提供虚拟币和噱头,区块链在币圈什么都不是。更具讽刺意味的是,很多ICO发行的虚拟币甚至都没有基于区块链技术。
所以,ICO不是区块链创造的需求,而是区块链之耻。
链和币的未来
既然我们已经知道虚拟币是区块链存在的唯一价值,那么对于区块链未来的分析也就有了大致的思路。
法定货币充分电子化的当下,基于区块链技术的虚拟币在正常社会生活中并无太多实用价值。但置于特殊场景,虚拟币却有一个电子法币不可复制的优点,那就是隐私性。
但凡以银行作为支付通道的交易,都是能被监管的,如果当局愿意,他们可以知道你把钱给了谁,这笔交易的背景,发生的时点,一切的一切。所以在比特币问世之前,绝大多数见不得人的交易都是用现金完成的。你只见过黑帮片里提着一大箱子现金去买毒品,绝对看不到带着一个POS机过去的。
而比特币的横空出世,革新了洗钱、贩毒和黑市军火买卖。有了这种完全匿名的货币,不法分子再也不必为一箱箱现金提心吊胆,再也不必为连号的美元支付折价了——比特币就是便携的黄金,正如它的设计理念一样。
所以,比特币及其替代品是不可能被彻底消灭的,因为逃脱监管的需求将永远存在。
只要虚拟币不死,区块链经济就一定有生存的空间,因为虚拟币代表的价值必然需要兑现的途径,而这个途径不可能永远是法币。
这里要插一句,最近区块链和中心化账本的妥协产物,比如雷电网络等,正逐渐露出头角。原理上中心账本能大幅提高处理效率,适应大规模高频次应用,但如果虚拟币核心用户的主要诉求是脱离监管,那么这个功能可能并不会受欢迎。结果如何,不久便知。
另一个大家关心的问题是:风起云涌的ICO会导致虚拟币大爆发吗?答案当然是否定的。
虚拟币不受法律强制保护,所以其公众接受度很大程度上决定了它的价值和前途。在接受法币支付时,我们默认自己得到的法币,别人也同样会接受,其面值在流通过程中不产生任何折价,具有100%的流动性。虚拟币的场合情况就不一样了,由于缺乏流动性量化指标,我们只能根据公众对其接受度的笼统判断,决定是否接受该种虚拟币支付。这种判断方式会形成强大的马太效应,因为公众的选择会迅速趋同。
另一方面,公众自发接受的货币种类也是有上限的。拿共享单车打个比方,我们会给摩拜充押金,会给OFO充押金,心很大的还会给Bluegogo充押金,敢问同时给4种以上共享单车充过押金的人有多少?通常情况下,大众对于同质化功能的接受上限仅有“三个”。在货币的场合,法币第一的位置无法动摇,第二多半是比特币,第三是以太坊——所以很不幸,不出意外其他所有虚拟币都长不大。
有人会说,这是基于公链的判断,我们还有私链和联盟链。
在这里,我们要旗帜鲜明地站定立场:私链就是个中心账本,和区块链理念一点关系都没有。至于联盟链,相关的误解就更多些。比方说,现在很多联盟链的构想是没有token成分的,这便是最大的误解。如之前分析,若没有激励机制,高频应用会变成低频应用搭便车的工具,更差的情况甚至连价值传输的介质都会缺失。另外,如果不同应用间token价值的兑现方式存在区别,联盟内部的套利也将不可避免。总之,联盟链和公链相比,除了隐私性略有提高外,问题只多不少。Token泛用性的差距意味着它只能在公链的阴影下靠底层资产价值苟延残喘。
综上,我们对于未来区块链的应用范围也就有了基本的认识:大部分自然生长的区块链经济,都将基于比特币和以太坊存在。这里说的自然生长,特指与中心化机构强行附会的伪区块链进行区别。无论是银行间结算、产品防伪还是其他任何场景,如果参与主体间的共识和信任早已存在,那所谓的区块链应用充其量只是个数据库,而且不会是最优设计的数据库。
最后一个问题:区块链的热潮什么时候会退去呢?
这是一个很难回答的问题。不过有句话说得好:你可以在一个时间愚弄所有人,也可以永远愚弄一个人,但不可能永远愚弄所有人。
3. 以太坊是什么丨以太坊开发入门指南
以太坊是什么丨以太坊开发入门指南
很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门。
以太坊是什么
以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。
对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用。
在没有以太坊之前,写区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法,共识机制,网络协议等等(很多山寨币就是这样,改改就出来一个新币)。
以太坊平台对底层区块链技术进行了封装,让区块链应用开发者可以直接基于以太坊平台进行开发,开发者只要专注于应用本身的开发,从而大大降低了难度。
目前围绕以太坊已经形成了一个较为完善的开发生态圈:有社区的支持,有很多开发框架、工具可以选择。
智能合约
什么是智能合约
以太坊上的程序称之为智能合约, 它是代码和数据(状态)的集合。
智能合约可以理解为在区块链上可以自动执行的(由事件驱动的)、以代码形式编写的合同(特殊的交易)。
在比特币脚本中,我们讲到过比特币的交易是可以编程的,但是比特币脚本有很多的限制,能够编写的程序也有限,而以太坊则更加完备(在计算机科学术语中,称它为是“图灵完备的”),让我们就像使用任何高级语言一样来编写几乎可以做任何事情的程序(智能合约)。
智能合约非常适合对信任、安全和持久性要求较高的应用场景,比如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权所有权管理、物联网、点对点交易等等。
目前除数字货币之外,真正落地的应用还不多(就像移动平台刚开始出来一样),相信1到3年内,各种杀手级会慢慢出现。
编程语言:Solidity
智能合约的默认的编程语言是Solidity,文件扩展名以.sol结尾。
Solidity是和JavaScript相似的语言,用它来开发合约并编译成以太坊虚拟机字节代码。
还有长像Python的智能合约开发语言:Serpent,不过建议大家还是使用Solidity。
Browser-Solidity是一个浏览器的Solidity IDE, 大家可以点进去看看,以后我们更多文章介绍Solidity这个语言。
运行环境:EVM
EVM(Ethereum Virtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境。
Solidity之于EVM,就像之于跟JVM的关系一样,这样大家就容易理解了。
以太坊虚拟机是一个隔离的环境,在EVM内部运行的代码不能跟外部有联系。
而EVM运行在以太坊节点上,当我们把合约部署到以太坊网络上之后,合约就可以在以太坊网络中运行了。
合约的编译
以太坊虚拟机上运行的是合约的字节码形式,需要我们在部署之前先对合约进行编译,可以选择Browser-Solidity Web IDE或solc编译器。
合约的部署
在以太坊上开发应用时,常常要使用到以太坊客户端(钱包)。平时我们在开发中,一般不接触到客户端或钱包的概念,它是什么呢?
以太坊客户端(钱包)
以太坊客户端,其实我们可以把它理解为一个开发者工具,它提供账户管理、挖矿、转账、智能合约的部署和执行等等功能。
EVM是由以太坊客户端提供的。
Geth是典型的开发以太坊时使用的客户端,基于Go语言开发。 Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。Geth的使用我们之后会有文章介绍,这里大家先有个概念。
Geth控制台和Chrome浏览器开发者工具里的面的控制台是类似,不过是跑在终端里。
相对于Geth,Mist则是图形化操作界面的以太坊客户端。
如何部署
智能合约的部署是指把合约字节码发布到区块链上,并使用一个特定的地址来标示这个合约,这个地址称为合约账户。
以太坊中有两类账户:
· 外部账户
该类账户被私钥控制(由人控制),没有关联任何代码。
· 合约账户
该类账户被它们的合约代码控制且有代码与之关联。
和比特币使用UTXO的设计不一样,以太坊使用更为简单的账户概念。
两类账户对于EVM来说是一样的。
外部账户与合约账户的区别和关系是这样的:一个外部账户可以通过创建和用自己的私钥来对交易进行签名,来发送消息给另一个外部账户或合约账户。
在两个外部账户之间传送消息是价值转移的过程。但从外部账户到合约账户的消息会激活合约账户的代码,允许它执行各种动作(比如转移代币,写入内部存储,挖出一个新代币,执行一些运算,创建一个新的合约等等)。
只有当外部账户发出指令时,合同账户才会执行相应的操作。
合约部署就是将编译好的合约字节码通过外部账号发送交易的形式部署到以太坊区块链上(由实际矿工出块之后,才真正部署成功)。
运行
合约部署之后,当需要调用这个智能合约的方法时只需要向这个合约账户发送消息(交易)即可,通过消息触发后智能合约的代码就会在EVM中执行了。
Gas
和云计算相似,占用区块链的资源(不管是简单的转账交易,还是合约的部署和执行)同样需要付出相应的费用(天下没有免费的午餐对不对!)。
以太坊上用Gas机制来计费,Gas也可以认为是一个工作量单位,智能合约越复杂(计算步骤的数量和类型,占用的内存等),用来完成运行就需要越多Gas。
任何特定的合约所需的运行合约的Gas数量是固定的,由合约的复杂度决定。
而Gas价格由运行合约的人在提交运行合约请求的时候规定,以确定他愿意为这次交易愿意付出的费用:Gas价格(用以太币计价) * Gas数量。
Gas的目的是限制执行交易所需的工作量,同时为执行支付费用。当EVM执行交易时,Gas将按照特定规则被逐渐消耗,无论执行到什么位置,一旦Gas被耗尽,将会触发异常。当前调用帧所做的所有状态修改都将被回滚, 如果执行结束还有Gas剩余,这些Gas将被返还给发送账户。
如果没有这个限制,就会有人写出无法停止(如:死循环)的合约来阻塞网络。
因此实际上(把前面的内容串起来),我们需要一个有以太币余额的外部账户,来发起一个交易(普通交易或部署、运行一个合约),运行时,矿工收取相应的工作量费用。
以太坊网络
有些着急的同学要问了,没有以太币,要怎么进行智能合约的开发?可以选择以下方式:
选择以太坊官网测试网络Testnet
测试网络中,我们可以很容易获得免费的以太币,缺点是需要发很长时间初始化节点。
使用私有链
创建自己的以太币私有测试网络,通常也称为私有链,我们可以用它来作为一个测试环境来开发、调试和测试智能合约。
通过上面提到的Geth很容易就可以创建一个属于自己的测试网络,以太币想挖多少挖多少,也免去了同步正式网络的整个区块链数据。
使用开发者网络(模式)
相比私有链,开发者网络(模式)下,会自动分配一个有大量余额的开发者账户给我们使用。
使用模拟环境
另一个创建测试网络的方法是使用testrpc,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更方便快捷。而且testrpc可以在启动时帮我们创建10个存有资金的测试账户。
进行合约开发时,可以在testrpc中测试通过后,再部署到Geth节点中去。
更新:testrpc 现在已经并入到Truffle 开发框架中,现在名字是Ganache CLI。
Dapp:去中心化的应用程序
以太坊社区把基于智能合约的应用称为去中心化的应用程序(DecentralizedApp)。如果我们把区块链理解为一个不可篡改的数据库,智能合约理解为和数据库打交道的程序,那就很容易理解Dapp了,一个Dapp不单单有智能合约,比如还需要有一个友好的用户界面和其他的东西。
Truffle
Truffle是Dapp开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程。
总结
我们现在来总结一下,以太坊是平台,它让我们方便的使用区块链技术开发去中心化的应用,在这个应用中,使用Solidity来编写和区块链交互的智能合约,合约编写好后之后,我们需要用以太坊客户端用一个有余额的账户去部署及运行合约(使用Truffle框架可以更好的帮助我们做这些事情了)。为了开发方便,我们可以用Geth或testrpc来搭建一个测试网络。
注:本文中为了方便大家理解,对一些概念做了类比,有些严格来不是准确,不过我也认为对于初学者,也没有必要把每一个概念掌握的很细致和准确,学习是一个逐步深入的过程,很多时候我们会发现,过一段后,我们会对同一个东西有不一样的理解。
4. 以太坊stratum协议原理
参照比特币的 stratum协议 和 NiceHash的stratum协议规范 编写了一版以太坊版本的stratum协议说明.
stratum协议是目前最常用的矿机和矿池之间的TCP通讯协议。
以太坊是一个去中心化的网络架构,通过安装Mist客户端的节点来转发新交易和新区块。而矿机、矿池也同时形成了另一个网络,我们称之为矿工网络。
矿工网络分成矿机、矿池、钱包等几个主要部分,有时矿池软件与钱包安装在一起,可合称为矿池。
矿机与矿池软件之间的通讯协议是 stratum ,而矿池软件与钱包之间的通讯是 bitcoinrpc 接口。
stratum是 JSON 为数据格式.
矿机启动,首先以 mining.subscribe 方法向矿池连接,用来订阅工作。
矿池以 mining.notify 返回订阅号、ExtraNonce1和ExtraNonce2_size。
Client:
Server:
其中:
是 订阅号 ;
080c是 extranonce ,Extranonce可能最大3字节;
矿机以 mining.authorize 方法,用某个帐号和密码登录到矿池,密码可空,矿池返回 true 登录成功。该方法必须是在初始化连接之后马上进行,否则矿机得不到矿池任务。
Client:
Server:
难度调整由矿池下发给矿机,以 mining.set_difficulty 方法调整难度, params 中是难度值。
Server:
矿机会在下一个任务时采用新难度,矿池有时会马上下发一个新任务并且把清理任务设为true,以便矿机马上以新难度工作。
该命令由矿池定期发给矿机,当矿机以 mining.subscribe 方法登记后,矿池应该马上以 mining.notify 返回该任务。
Server:
任务ID : bf0488aa ;
seedhash : 。每一个任务都发送一个seedhash来支持尽可能多的矿池,这可能会很快地在货币之间交换。
headerhash : 。
boolean cleanjobs : true 。如果设为true,那么矿工需要清理任务队列,并立即开始从事新提供的任务,因为所有旧的任务分享都将导致陈旧的分享错误。如果是 false 则等当前任务结束才开始新任务。
矿工使用seedhash识别DAG,然后带着headerhash,extranonce和自己的minernonce寻找低于目标的share(这是由提供的难度而产生的)。
矿机找到合法share时,就以” mining.submit “方法向矿池提交任务。矿池返回true即提交成功,如果失败则error中有具体原因。
Client:
任务ID : bf0488aa
minernonce : 6a909d9bbc0f 。注意minernonce是6个字节,因为提供的extranonce是2个字节。如果矿池提供3字节的extranonce,那么minernonce必须是5字节
Server:
一般的矿机与矿池通讯过程就如下所示:
5. 以太坊无法连接节点
把你的TCP/IP协议设置成自动获取状态试试,方法:右键网上邻居-属性- 右键"本地连接"属性-双击"Internet 协议 TCP/IP"-改为自动获取
IPX/SPX协议,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的(不在同一网段内,或位于不同的局域网中),数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,所以我们将IPX/SPX也叫做“Novell的协议集”。
6. 以太坊钱包Mist多重签名
个人如果钱包中有几个以太币,保管好私钥,做几个备份也没有什么好担心的,但是要是像我这样手握成千上万个币,能不担心吗,哈哈哈。。。
一般大量持币的机构,都会使用多重签名机制来保证币的安全,所谓多重签名就是多于一个人同意交易才生效,为了弄清楚实际过程,来实操一下。
主账户需要多于1个ETH才能新建合约,至少需要3个账户才能完成多重签名钱包
OK,输入完密码后看到钱包正在创建,这里我们设置了发送任意的币都需要至少两个钱包账户同意
耐心等待一会即可看到多重签名钱包创建好了,创建好后也有一个地址,可以像正常转币一样将ETH从其他地址存到多重签名地址,这里我们存入100个,可以看到账户内现有100个ETH,每次转出需要至少2人同意
我们这里创建了多重签名账户的3个管理地址,那么其他的地址需要手动添加改地址到钱包,即可查看或操作此账户了。
选择从多重签名的钱包转出,会有提示,每日超过限额,需要其他一个账户确认
先按正常的流程走吧,输完发起账号的密码,交易历史中会看到区块确认中,当有确认的时候,发现所有多重签名账号的Mist中都多了一个提醒
PS:由于多重签名地址底层使用了以太坊的智能合约,所以每次发起(包括其他人批准)都需要消耗gas,也就是说需要保证管理账号中有足够的ETH才行。
7. 区块链羊毛入门新手教程,币圈小白必看教程
名词解释:
区块链token
基于区块链技术创造的全新商业模式,而token是每个项目的代币,我们统称‘通证’token随着项目放开发进度
与落地应用流通产生价值(这个价值取决于所有人的共识)
区块链有点像是一个巨大的, 全球范围并且去中心化的记账簿.
它用来记录一个人给另一个人发送了多少货币, 以及跟踪所有账户的余额.
它是由全球成千上万拥有特殊计算机的人(我们也叫他们矿工)来进行记录和维护的.
区块链中的区块是由许多笔交易记录组成的, 这些交易从比如Imtoken ,MetaMask, Exos, Mist, Geth, Parity等钱包类似的操作接口发送出来
2.空投
每个项目方会空投一定比例的token做为社区建设启动的福利,为了让更多未来的用户参与,所以空投是区块链商业应用最重要的一环(大家可以理解为之前互联网项目免费让大家打车,吃饭等)
3.钱包
钱包分为‘轻钱包’‘硬件钱包’‘比特币钱包’‘以太坊钱包’冷钱包等
区块链技术在不同领域解决不同的行业痛点,所以产生的价值也大不一样
例如:比特币解决了,信任的的问题,所以现在它的价值是5万人民币一个
以太坊解决的智能合约的问题所以他现在一个是4000一个
瑞波解决的是跨境支付的问题,所以它现在市值排名第三
4.钱包解决的痛点
传统银行
当您在银行或者交易所注册一个账户的时候, 这些机构会在它们内部的系统为您新建一个账户.银行会密切跟踪您的个人信息, 记录您的账户密码, 余额, 交易记录并且完全掌控您的资金.银行在为您提供服务的同时会收取账户管理及服务费用, 比如帮您追回被盗刷的信用卡消费.银行允许您使用支票或者借记卡等预付款消费方式, 以及在线查看您的余额, 重置密码, 以及补办您遗失的借记卡卡片.当您使用银行或交易所的账户来交易时, 交易的数额, 转出地址都有可能受到这些机构的限制, 并且还存在审核流程. 带来这些限制的同时还会收取您额外的手续费用.
虚拟货币钱包
当您在任何钱包创建账户的时候, 实际上只是生成了一对具备密码学意义的数字串: 您账户的私钥和公钥(地址).生成这些密钥的整个过程都是发生在您本地电脑的浏览器或者手机内部.钱包文件绝不会转发, 接收或者保存您的私钥, 密码以及任何账户信息.钱包文件绝对不会收取任何手续费用.简单来说, 您只是使用本 操作接口 来 直接与区块链网络进行交互.如果您将 公钥(地址) 提供给别人, 那么对方就能给您发送代币.如果您将 私钥 提供给别人, 那么对方就完全掌控了您的账户和资金.
5.钱包安全
请积极地关注您账户私钥和密码的安全, 您的私钥有时也会以助记词(mnemonic phrase), keystore文件, UTC文件, JSON文件, 钱包文件等形式存在.请记住如果您不慎丢失了您的私钥或者密码, 没有任何人可以恢复它们.如果您在钓鱼网站录入了您的私钥 ,那么它们会盗取您所有的资金.不要相信或者点击那些在电子邮件, Slack, Reddit, Twitter等地方看到的网页链接.养成手动输入地址打开网站的好习惯, 不要通过邮件或者其它途径里链接来打开网站.将您的私钥或者密码做好备份, 最好不要将它们保存在电脑上, 手写或者打印到纸上保存.将私钥或密码的备份单独保存到安全的离线环境, 如果它们跟您电脑放在一起的话那么一场大火或者洪水就能轻易的将它们一并摧毁.千万不要将私钥存放到在线网盘, 带云同步的相册等在线环境中.如果您真正重视您的数字货币, 那您就应该买一个硬件钱包, 您的资产值得用更专业的设备来保护.
请关注后续更新,关注区块链币圈(www.qkl808.com)将会带领你们走上财富自由之路
8. 小狐狸钱包eth取消交易要手续费
以太坊钱包是一种帮助您与您的以太坊账户进行交互的工具。可以把它想像成一个背后没有银行的互联网银行应用。通过钱包您可以查看余额,发送交易或者链接到各种应用。您的钱包只是管理您以太坊账户的工具。这意味着您可以随时更换您的钱包应用。许多钱包应用都支持同时管理您的多个以太坊账户。是您,而不是钱包实际控制您的资产。它们只是管理您资产的工具。
第一个要说的当然就是Ethereum官方钱包+浏览器Mist。Mist是一个全节点钱包(全节点钱包通俗的来说就是同步了全部的以太坊区块信息的钱包)。也就是说打开钱包后,电脑会自动同步全部的以太坊区块信息,如果设备和网络的条件过关的情况下,目前(17年9月8日)大概需要半天左右的时间。
优势:安全度高,不需要经过第三方发起交易,节点未同步完成之前无法查看地址余额
劣势:无法调整GasPrice对网络要求高,需要连接节点,才能发起交易
9. metamask 挣钱程序
MetaMask(小狐狸钱包)是一个浏览器插件,可以用作以太坊钱包,并且可以像任何常规插件一样安装。安装之后,它允许用户存储 Ether 和其他 ERC-20 令牌,从而使他们能跟其他以太坊地址之间进行交易转账。
MetaMask 小狐狸钱包
通过连接到基于以太坊的 Dapps,用户可以在游戏中花费他们的硬币,在博彩应用中投入代币,并在 DEX 进行交易。它还为用户提供了进入去中心化金融(DeFi)新兴世界的切入点,提供了一种访问 DeFi 应用程序
MetaMask 有什么优势?
常用-用户只需一个插件即可访问各种 Dapp
简单-用户无需管理私钥,只需记住单词列表即可代表他们签名交易。
节省空间-用户无需下载以太坊区块链,因为它将请求发送到用户计算机外部的节点。
集成-Dapps 旨在与之配合使用,因此发送和发送以太坊变得更加容易。
MetaMask 与硬件钱包 Trezor 和 Ledger 集成在一起,用户可以在使用加密服务的同时将加密货币保存在硬件钱包中。
MetaMask 的缺点
第三方私钥存储-MetaMask 在用户的浏览器中保存私钥。这比硬件或纸钱包安全性低。
External?外部节点-它不是一个完整的节点,而是依赖于有时会导致 MetaMask 停止工作的停机时间的外部节点。
MetaMask 替代品
奇偶校验-另一个基于浏览器的钱包,提供对 Dapps 和以太坊交易的访问。
Mist 浏览器-一种设计用于访问 Dapp 的浏览器,该浏览器与 Mist 钱包(全节点以太坊钱包)一起使用。
MyEtherWallet-类似的在线钱包,基于以太坊硬币和代币。它使您无需下载以太坊区块链即可进行交易,但无需以相同的方式集成到 Dapps 中。
MetaMask 的使用量
自发布以来,MetaMask 为不断增长的 dapp 空间提供了便捷的访问点。随着新的 dapp 产品和服务的出现,用户数量在增加,到 2020 年 2 月,其 Chrome 扩展程序的用户已达到 100 万。
10. 数字资产钱包有哪些
数字资产钱包种类有很多。下面我尽量写得简单一些。
按照是否运行全节点可分为:全节点钱包、轻钱包。全节点钱包是指同步了全部的区块链数据的钱包,而轻钱包只保留和自己相关的部分数据,我们平时用的都是轻钱包。
按照钱包是否联网,可以把钱包分为热钱包和冷钱包。热钱包是指保持联网上线的钱包,也叫在线钱包。冷钱包就是不联网的钱包,也叫离线钱包,一般是不联网的电脑、硬盘或者写着私钥的纸张等。通常来说,冷钱包比热钱包更安全,因为它没有联网,私钥基本不可能被盗取。
而根据钱包私钥存储方式的不同,又可以分为去中心化钱包和中心化钱包。去中心化钱包是指私钥的存储管理不通过第三方,由用户自己生成、管理,如果私钥丢失,将无法找回。而中心化钱包私钥的存储由平台托管,用户凭账户登录,交易所钱包就属于这种。
目前市面上比较知名的钱包有比特派、imToken、Galaxy Wallet(银河钱包)、cobo Wallet 等。