最近 ICO 很火,带来了非常多人关注这块.很多人都会问,区块链到底是什么?但说到区块链,网上各种各样的资料满天飞,看完之后,感觉懂了,又感觉完全没懂.
一句话概括,如果互联网技术解决的是通讯问题的话,区块链技术解决的是信任问题.
妈:"小明啊,什么是区块链?" 我:"(惊!)...... 妈,你从哪里听来的区块链." 妈:"隔壁你蔡姨说他老公在炒什么币,老是喊着区块链 balabala,楼上李大哥也喊着区块链创业 balabalabala,区块链能卖钱吗?" 我:"妈,区块链很复杂,我下次再解释......" 妈:"你晚饭想吃开水拌面?" 我:"好吧 Σ(っ °Д °;) っ 我想想怎么说."
这么火的区块链,到底是什么呢?区块链到底是个什么鬼
一幅漫画让你秒懂
区块链技术是指一种全民参与记账的方式.所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本.目前是各自记各自的账.
由于没有中心化的中介机构存在,让所有的东西都通过预先设定的程序自动运行,不仅能够大大降低成本,也能提高效率.而由于每个人都有相同的账本,能确保账本记录过程是公开透明的.
区块链技术是比特币的底层技术,比特币在没有任何中心化机构运营和管理的情况下,多年运行非常稳定,没有出现过任何问题,所以有人注意到了它的底层技术,把比特币技术抽象提取出来,称之为区块链技术,或者分布式账本技术.
根据西班牙最大银行桑坦德发布的一份报告显示,2020 年左右如果全世界的银行内部都使用区块链技术的话,大概每年能省下 200 亿美元的成本.这样的数据足以说明 "区块链" 给传统金融领域带来的巨大变革和突破.
云计算通常定义为通过互联网来提供动态易扩展且经常是虚拟化的资源,但是提供云计算平台的往往是一个中心化机构.而区块链组成的网络一般是没有特定的机构,所以区块链更接近分布式计算系统的定义,属于分布式计算的一种.
Q 币是一种中心化的电子货币,包括总量,发行方式都是由腾讯公司控制的.而比特币的总量,发行方式都是由程序和加密算法预先设定后,在全世界的多个节点上运行,没有任何人和机构可以修改,不受任何单一人或者机构来控制.一般称 Q 币为电子货币,或者企业代币.称比特币为数字货币或者加密数字货币. 如果说比特币是对传统货币的一种颠覆,那么比特币的基础技术——区块链则是对传统编程范式的一种颠覆.区块链技术被看作是一次 Paradigm Shift.
作为一个程序员在理解这些技术上有一点点优势,但也仅限于一点,因为对于任何一个新概念来说,要理解透它都是非常痛苦的(比如椭圆曲线加密算法,梅克尔树,不是每个程序员都知道这些).根据我的经验,在学一个东西刚开始的时候,没有捷径,就是扎进去,一点点的磨着看,遇到不懂的就查资料.对应到区块链,就是看白皮书,我看以太坊白皮书,断断续续自己翻译,做笔记,看了差不多一个月,看完之后很多细节没懂.但却对区块链大概做了什么,解决问题的一些思想,概念有了全面的认识.有了思想的储备的好处是,看其它的东西就轻松了,因为大家解决同样问题的框架是类似的
总结
即使你不想进入全新的区块链应用开发大潮之中,你也会发现区块链相关的底层技术对平日的应用开发有不少启发和借鉴作用.一个新技术的诞生是有它顺应时代的合理性的(黑格尔语 "存在就是合理的").作为程序员我们应该去了解它的合理性所在之处,取而用之.我们不一定非要用新技术去颠覆一个老应用,但可以用新技术去重塑一个老应用.
来源: https://juejin.im/post/5a5bfa806fb9a01ca91569f1