V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Zoemiao
V2EX  ›  区块链

求科普区块链,作为一个外行人看百度也看不大懂,知道他的应用场景和优势,但是实在不知道这个区块链是个什么东西,怎么实现的?可否用外行业能理解的方式解释一下?

  •  
  •   Zoemiao · 2016-09-19 10:53:29 +08:00 · 4663 次点击
    这是一个创建于 3024 天前的主题,其中的信息可能已经有所发展或是发生改变。
    求科普区块链,作为一个外行人看百度也看不大懂,知道他的应用场景和优势,但是实在不知道这个区块链是个什么东西,怎么实现的?可否用外行业能理解的方式解释一下?
    去中心化,信息真实,去伪,怎么做到的?有没有可以解释明白的
    第 1 条附言  ·  2016-09-19 20:05:01 +08:00
    补充:我今天深入研究了一下,目前了解到:区块链是用某种机制,实现信息的更新迭代,因为所有人都有备份,所以想更改是很困难的。正如 5 楼的回答,我才知道,原来很多投票问题还没解决哦。但是,这个所有人,像我这种人,也可以参与区块链的数据写入嘛?还是说任何一个人都可以参与?
    另外,怎么去中心化的呀?有人给我解释过,端对端,那么端对端的实现,背后也需要有人做出来端呀。如果别人端对端交易,那现在很多金融机构在研究区块链,有什么收益呢?
    25 条回复    2016-09-22 16:05:27 +08:00
    jyf007
        1
    jyf007  
       2016-09-19 12:11:46 +08:00 via Android
    我也不知道,我觉得就像票🎫上打孔
    am241
        2
    am241  
       2016-09-19 12:18:31 +08:00 via Android
    分布式,迭代的签名机制
    douyingxin
        3
    douyingxin  
       2016-09-19 12:32:46 +08:00
    细胞分裂
    powtop
        4
    powtop  
       2016-09-19 12:58:43 +08:00
    去中心化的分布式账本数据库
    h4x3rotab
        5
    h4x3rotab  
       2016-09-19 13:26:44 +08:00 via iPhone   ❤️ 3
    想要简单的讲明白区块链还是不容易的。原因在于很多区块链的问题,比如 lz 提到的去中心化、去伪等,在比特币中都不是靠区块链本身实现的。

    区块链本身就是一个分布式的只读日志,每个人用自己的公约来识别身份,用私钥签名证明数据所属权。所有的人(或者说大多数人)都要时刻验证新加入到区块链的数据是否有效,进行共识投票。达成共识的人会把数据写入区块链并对整个链做哈希,区块链就被延长了。机制要确保大多数人达成共识,这样区块链就可以运作。

    区块链的好处在于:参与者在验证新数据的时候不需要扫描整个区块链,只需要根据上一个块的哈希就可以快速验证。在分布式系统中每次都验证全部数据是不可行的,所以区块链本质上提高了效率。

    这个流程非常简单,但有许多没解决的问题,关键在于如何在延长区块链的时候达成共识:谁可以参与共识流程?如果每个人都可以随意参与,如何决定每个用户的投票权?假设每个用户都拥有同样的投票权,如何防止敌人伪造出大量僵尸用户?

    如果参与的人不是固定的,那么为了解决这个问题就产生了 POW 和 POS 两种机制来分配投票决定权,其中 POS 就是比特币采用的方式,以此衍生出来了整套生态。

    如果参与者是固定的,分配投票权不是问题了,但如何确定参与者就是另一个问题,除非继续中心化的分配身份,比如采用类似 CA 的机制。同时为了保证投票不被一方垄断,还要仔细设计投票机制,确保投票权分配合理,让参与者互相制衡。此处的关键就是,每个用户为了确保自身的利益都要保证其他参与者不作弊。

    因为区块链的哈希特征,每个参与者都必须在最后的一个块上继续延长,保证了区块链的只读。所以理论上所有的数据都被公示,不可能发生通过篡改实现的作弊。所以问题的关键就在于写入区块链的共识过程了。解决了以上问题,区块链就基本可以很好的运作了。
    czheo
        6
    czheo  
       2016-09-19 14:15:34 +08:00
    区块链的世界博大精深, lz 的问题有点宽泛,可以写好几章书。最好说说你的理解,然后把你的问题问问清楚,想理解到什么程度。
    longdanie
        7
    longdanie  
       2016-09-19 14:56:03 +08:00 via Android
    有没有科普书籍可以系统的了解?最好是用人话,哪怕是英美人话!
    Zoemiao
        8
    Zoemiao  
    OP
       2016-09-19 20:03:54 +08:00
    @czheo 我今天深入研究了一下,目前了解到:区块链是用某种机制,实现信息的更新迭代,因为所有人都有备份,所以想更改是很困难的。正如 5 楼的回答,我才知道,原来很多投票问题还没解决哦。但是,这个所有人,像我这种人,也可以参与区块链的数据写入嘛?还是说任何一个人都可以参与?
    另外,怎么去中心化的呀?有人给我解释过,端对端,那么端对端的实现,背后也需要有人做出来端呀。如果别人端对端交易,那现在很多金融机构在研究区块链,有什么收益呢?
    Zoemiao
        9
    Zoemiao  
    OP
       2016-09-19 20:05:33 +08:00
    @douyingxin 好抽象。。。
    Zoemiao
        10
    Zoemiao  
    OP
       2016-09-19 20:05:47 +08:00
    @am241 什么是签名机制。。。
    Zoemiao
        11
    Zoemiao  
    OP
       2016-09-19 20:06:03 +08:00
    @powtop 你说的这个大概可以看明白。。。
    Zoemiao
        12
    Zoemiao  
    OP
       2016-09-19 20:06:57 +08:00
    @h4x3rotab 大神!!!那么大神,现在那么多金融机构和银行在研究区块链,带来的收益是什么呢?降低成本嘛?不是去中心化了嘛?还要机构何用?
    Zoemiao
        13
    Zoemiao  
    OP
       2016-09-19 20:07:57 +08:00
    @longdanie 我看到了个帖子,讲的蛮详细的,你瞅瞅。 http://tech.163.com/16/0604/21/BOOFNRFK00097U7V.html
    czheo
        14
    czheo  
       2016-09-19 20:13:46 +08:00
    @h4x3rotab 比特币难道不是 PoW ?
    cctvsmg
        15
    cctvsmg  
       2016-09-19 20:14:41 +08:00
    v2ex 这里太水了,要了解去巴比特不好么
    czheo
        16
    czheo  
       2016-09-19 20:47:18 +08:00   ❤️ 2
    @Zoemiao 区块链发明之初是比特币用来存储账本信息的数据结构。因为其他区块链都是从这里衍生出来的,私下开发的区块链可以各种各样,所以我们假设在比特币语境下讨论区块链比较方便。

    谁能写区块链?“能”可以指权利也可以指能力。在比特币的网络里,任何人都有“权”参与数据写入,但是大多数人没有“能力”写入数据。写入数据的工作是“矿工”进行的,这是矿工之间的竞赛,只有计算最快的矿工才有能力真正写数据。

    怎么去中心?去中心指的是因为人手一份数据的备份,每个人可以像 BT 下载一样从别人的电脑上下载到他们的备份来对照。比如你下载到 10 个人的备份里,其中 9 个人是一样的, 1 个是不一样的,你就可以相信这 1 个人的备份有问题。这样某个中央集权的个人或机构就很难”擅自“篡改区块链了。
    你可以把它理解成 BT 下载,你说的“端”就是类似 BT 下载客户端的软件,也就是比特币的客户端。除了能下载别人的数据,还能通过数字签名技术验证真伪。

    金融机构为什么研究区块链?区块链是一种可编程的分布式记账方式,应用可能性很多。比如可以用它来记录黄金所有权,买卖黄金就不需要运来运去了,更重要的是你不能“超卖”,因为所有记录都在区块链上,别人很容易查出(术语叫 double spending )。又比如可以用它作为金融机构之间的结算手段,和上一个例子类似,无论用货币还是黄金结算,运来运去多麻烦,如果记录在某个银行的账目上,你怎么信任这个银行?而且还有手续费。区块链作为一个分布式的记账方式,就可以代替这个中间记账的银行,我们把结算的账目记录在区块链上就不用中间人了。
    h4x3rotab
        17
    h4x3rotab  
       2016-09-19 21:53:55 +08:00 via iPhone
    @czheo 笔误,比特币是 POW
    Gothack
        18
    Gothack  
       2016-09-19 22:02:23 +08:00 via iPhone
    反正我看了好多地方也不是太明白。。。
    yeasy
        19
    yeasy  
       2016-09-19 23:19:35 +08:00
    可以翻翻《区块链技术指南》: https://github.com/yeasy/blockchain_guide
    sudo123
        20
    sudo123  
       2016-09-19 23:26:43 +08:00
    可以翻翻《区块链:从数字货币到信用社会》: http://item.jd.com/11939087.html
    Zoemiao
        21
    Zoemiao  
    OP
       2016-09-20 11:49:25 +08:00
    @czheo 感谢大神,我再研究一下,因为是外行,所以看得还是挺累的!!
    Zoemiao
        22
    Zoemiao  
    OP
       2016-09-20 11:49:50 +08:00
    @yeasy 谢谢~~
    Zoemiao
        23
    Zoemiao  
    OP
       2016-09-20 11:50:02 +08:00
    @sudo123 谢谢!!
    czheo
        24
    czheo  
       2016-09-21 20:52:57 +08:00   ❤️ 2
    @Zoemiao 真正要了解比特币/区块链圈子里很多说的东西,确实涉及到太多技术细节。与其去了解区块链的技术细节,建议你先从现实角度入手可能比较好理解。建议可以从银行角度理解的,当然这只是一个切入的角度而已,希望可能也能帮助你理解。

    1. 银行的问题
    仔细想想,现在的银行其实挺愚蠢。比如有 100w 的存款,除了 7 %的储备金, 93w 存款是可以拿来放贷的。而银行的放贷手段非常低劣,他不会告知存款人存款减少,而只会告知贷款人存款增加。

    假设,世界上一共两个人, A 和 B 。 A 存了 100 块, B 没有钱。银行理论上可以把总存款其中的 93 块钱贷款给 B ,而不需要告知 A 。也就是说如果 B 拿到 93 块的贷款后, A 去看自己的帐户余额还是 100 块钱。如果它们都把钱拿出来话,市场上实际流通的钱就变成了 193 块。要知道起初只有 100 块钱。

    当这些钱流入市场,所有人银行户头上的钱就变多了,于是银行又可以继续从这 193 块里面拿出 93%的钱贷款。于是滚雪球。。。

    虽然这是一个极端例子,但现实情况和这个类似。所以你会发现全世界所有的货币长期来看都在通胀,因为国家不但持续不断印钱,银行也在不断放贷款。像 B 这样能拿到贷款的,就会从中获利;如果钱存着不动,那就会不断稀释直到毫无价值。

    总之,如果什么都不做,我们的财富一直都在慢慢流失到那些 B 这样的人手里。

    按照人类现在的文明程度,如果贫富差距均衡一些,穷人应该不会这么苦。现在的货币体系,让那些可以拿到贷款的有钱人满满从穷人身上抽油水。

    2. 比特币
    比特币的总量是写在代码里的。所以,
    第一是不通胀。总量不可变,除非比特币网络上大多数人同意修改总量。所以通胀变得难度很大,而不是现在由各国政府和银行找些砖家拍脑袋说了算,所有规则的改动需要比特币网络上的计算机“投票”决定,就少了上述富人偷穷人钱的问题。
    第二是消除中间人。因为只需要比特币网络就能转账,不需要银行机构了。把银行这种可以通过货币发行和贷款控制财富流向的机构架空。比特币的网络来代替银行的职能,可以类比政府民主化的过程,这是金融的民主化。
    其他可能性不展开了。。。

    3. 比特币如何代替银行职能
    对个人来说,银行主要作用就是转账。其实就是银行数据库管理的一堆账号上面数字改一改的事情。
    比特币把银行的帐本数据库像 BT 下载的文件一样分布在网络上很多电脑里,所有这些数据库相互更新保持一致。
    比如 A 要转账到 B , A 可以在连接到比特币网络上任何一台电脑上面发送这个消息,网络上的电脑会认证 A 的身份,通过了身份认证就把数据库里的数据改掉。
    比特币是怎么做到这些的呢?那你可以继续去了解那些技术细节。
    这里说说“区块链”,就是比特币用来存储这些转账信息的技术,你理解成数据库也行, Excel 也行。只是它不是用表格形式存储的,而是链条一样存数据的。

    4. 区块链(blockchain)
    区块链,关键词是“链”(chain),是一系列"交易"(transaction)信息的链。
    类似于记录了钱从 A 帐户-》 B 帐户-》 C 帐户-》。。。。的历史转账信息。
    这些交易信息,被保存在一个一个的“区块”(Block)里面。
    而“区块”有按照先后顺序链接成区块 1-》区块 2-》区块 3.。。。这样的形式。
    为什么这么设计呢?技术上的原因,涉及到计算机如何投票啊,怎么做到安全啊,怎么决定交易信息的时序啊,如何快速查找历史交易记录啊等等问题。程序的世界估计你也不太了解,以后有机会慢慢体会吧。
    不过你可以大概看看区块链长成什么样,有个感性认识:
    http://dataconomy.com/wp-content/uploads/2015/10/bitcoin-block-chain-small.png

    5. 有啥卵用?
    区块链最早是用来存比特币交易信息的技术,后来银行那些人发现还能用来存其他的信息也不错,可能可以比一些现有的操作手段高明。具体也就是我之前说的那些例子,你以后在慢慢体会吧。

    写的有点长,希望能帮助到你能大概了解区块链是个什么东西了。
    Zoemiao
        25
    Zoemiao  
    OP
       2016-09-22 16:05:27 +08:00
    @czheo 大神!!!三跪九叩!!!有所了解了!谢谢大神!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   984 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:10 · PVG 05:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.