• 区块链100篇之第一篇--序(比特币)


    这是区块链100篇的第一篇,自己接触区块链已经有七个月左右了,是去年的九月份才开始接触区块链这个词,一开始以为区块链是一个很高深的技术领域(它的确涉及到了很多高深的知识如密码学、分布式网络、计算机软件、博弈论等等),不过好在这些底层的技术已经有人帮我们封装了,如以太坊,所以入门的门槛就降低了。打算写这个区块链100篇的初衷只是想把自己学到的知识输出出来,顺便让自己从头捋一遍,这样有助于自己对区块链的更深入理解。还有写这个系列的灵感来源于火币出品的区块链100问,个人觉得做得挺好的,所以想用同样的方式来记录自己学区块链的点点滴滴。以后每个星期会更新两到三篇,工作忙的话就只能保证更新一篇,整个系列目标是写到一百篇,主要分三大块,比特币、以太坊以及超级账本(后面或许会加上EOS,这个看情况)。

    • Bitcoin(比特币)
    • Ethereum(以太坊)
    • Hyperledger Fabric(超级账本)
    • EOS(可能不会更新)

    说到区块链就绕不开比特币,毕竟是先有比特币再有区块链的,所以这个系列就从比特币开始说起,后面会对比特币涉及到的各种知识进行逐一讲解(个人能力有限,所以知识点可能会讲错)。

    比特币与区块链的历史

    2008年11月,一个化名中本聪的人发表了一篇名为《比特币:点对点的电子现金系统》的论文,这也被俗称为创世论文,2009年1月用他第一版的软件挖出了第一个区块,即创世区块,之后越来越多的人开始加入挖比特币的行列,一开始参与的人大部分是一些极客,他们对这个数字货币充满好奇,并坚信比特币会颠覆世界金融,随着比特币的影响力越来越大,更多的人加入进来,这其中就不乏一些大神级别的人物,如V神。到了2014年,V神创立了以太坊,正式提出区块链这个概念,到2016年这个概念才开始为公众所知,2017年由于ICO热炒而成为媒体热点,现在依然火热。

    比特币的运行机制

    简单讲完比特币与区块链的历史(详细的历史可以自行上网查找,这里就不赘述),下面我们讲个故事来讲解比特币的运行机制,之后的会对这其中涉及到的各个知识进行详细的讲解。

    在古代有个村子,这个村庄几乎与世隔绝,过着自给自足的生活,一开始村民进行交易的时候都会把这笔交易记录下来,当做凭证,但是村里的人不是个个都识字,所以这个时候就需要一个既识字又有威望的人来记账,刚好村长早些年读过书,而且他又是一村之长,自然就承担起了这个责任,村长每天的任务就是记录每一笔交易,比如张三使用100块买了王五家的猪,那么村长就在张三名下的存款减去100,在王五的账上加上100。

    故事讲到这就基本结束了,下面就是需要思考的时候了。上面讲的例子其实就是我们现实生活中银行干的事,所以你可以把村长看作是银行或者一个比较有权威的第三方支付平台如支付宝、微信。

    问题一、假如随着村长的年龄越来越大,眼睛跟脑子都不太好使了(中心化管理的弊端),记错账怎么办?

    我们可以让大家轮流来记账,这个月张三,下个月李四,大家轮着来,防止账本被一个人拿在手里。于是,账本的记账权发生变化,大家都有权来记账,这样就可以避免中心化个体因记错账给大家带来的损失。

    问题二、如果这时候李四想要挪用村里的公款,虽然他不用直接篡改账本上的信息,但是可以烧掉账本中的一部分内容,这样别人就查不出来了,回头只要告诉大家这是不小心碰到蜡烛,别人也没什么办法。如何防止这种事情的发生?

    解决的办法是每个人都拥有一本自己的账本,任何一个人改动了账本都必须要告知所有其他人,其他人会在自己的账本上同样地记上一笔,如果有人发现新改动的账目不对,可以拒绝接受,到了最后,以大多数人都一致的账目表示为准。所以即便是有人真的不小心损坏了一部分账本的内容,只要找到其他的人去重新复制一份来就行了。

    问题三、如果时间长了,有人就偷懒了,不愿意这么麻烦地记账,就希望别人记好账后,自己拿过来核对一下,没问题就直接抄一遍,那么这下记账记得最勤的人就有意见了,该怎么办?

    办法是每天早上掷骰子,根据点数决定谁来记当天的账,其他人只要核对一下,没问题就复制过来。还可以让被掷到要记账的人,能获得一些奖励,从当天的记账总额中划出一定奖励的比例,这样记账的人就会积极的记账(这就是比特币的激励机制)。

    讲到这里实际上这就是比特币的记账雏形,不过关于比特币还有很多细节没讲到,包括非对称加密、UTXO、SHA256算法、双花问题等等,这些后面再一一的讲解,现在先大概了解比特币的运行机制。比特币没有一个中心化的记账机构,记账权分散在各个节点中,使得它被篡改的几率大大降低,提高了安全性及可信任度,这是它的优点,但也是它的缺点,因为每记录一笔账就需要经过各个节点的确认,大大降低了运行效率。

    这里讲一下个人对于区块链的观点,区块链不是万能的,它在某些场景下确实具有无可比拟的优势,比如金融领域或者数据存储,但在某些场景下我们确实是需要中心化来管理的,所以个人觉得具体场景具体运用,均衡取舍,不要为了区块链而区块链,不然最后可能会得不偿失。未来的社会一定是中心化与去中心化并存,没有绝对的中心化也没有绝对的去中心化。

  • 相关阅读:
    Silverlight实用窍门系列:4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。【附带源码实例】
    Silverlight实用窍门系列:13.基于Popup浮动窗体控件模拟ToolTip的实现【附带实例源码】
    Silverlight实用窍门系列:5.绑定webService数据到DataGrid,设置DataGrid模板,模拟数据库数据的绑定【附带实例源码】
    Silverlight实用窍门系列:25.Silverlight多线程技术Timer的应用,模拟心电图、模拟CPU、内存状态图【附带源码实例】
    Silverlight实用窍门系列:10.动态生成DataGrid,动态绑定DataGrid模板列【附带实例源码】
    Silverlight实用窍门系列:7.制作可拖动的自定义控件,获取拖拽后控件坐标【实例源码下载】
    Silverlight实用窍门系列:23.Silverlight多线程技术Thread的应用,后台线程更新UI控件,向多线程传递参数【附带源码实例】
    Silverlight实用窍门系列:11.Silverlight中为自定义控件添加鼠标双击属性,Silverlight模拟鼠标双击【附带源码实例】
    Silverlight实用窍门系列:12.继承于某些固定控件(以Grid为例)的鼠标左键双击事件的实现【附带实例源码】
    Silverlight实用窍门系列:6.Silverlight弹出窗口以及DataGrid分页【附带实例源码】
  • 原文地址:https://www.cnblogs.com/wangsea/p/9428552.html
Copyright © 2020-2023  润新知