1
jyf007 2016-09-19 12:11:46 +08:00 via Android
我也不知道,我觉得就像票🎫上打孔
|
2
am241 2016-09-19 12:18:31 +08:00 via Android
分布式,迭代的签名机制
|
3
douyingxin 2016-09-19 12:32:46 +08:00
细胞分裂
|
4
powtop 2016-09-19 12:58:43 +08:00
去中心化的分布式账本数据库
|
5
h4x3rotab 2016-09-19 13:26:44 +08:00 via iPhone 3
想要简单的讲明白区块链还是不容易的。原因在于很多区块链的问题,比如 lz 提到的去中心化、去伪等,在比特币中都不是靠区块链本身实现的。
区块链本身就是一个分布式的只读日志,每个人用自己的公约来识别身份,用私钥签名证明数据所属权。所有的人(或者说大多数人)都要时刻验证新加入到区块链的数据是否有效,进行共识投票。达成共识的人会把数据写入区块链并对整个链做哈希,区块链就被延长了。机制要确保大多数人达成共识,这样区块链就可以运作。 区块链的好处在于:参与者在验证新数据的时候不需要扫描整个区块链,只需要根据上一个块的哈希就可以快速验证。在分布式系统中每次都验证全部数据是不可行的,所以区块链本质上提高了效率。 这个流程非常简单,但有许多没解决的问题,关键在于如何在延长区块链的时候达成共识:谁可以参与共识流程?如果每个人都可以随意参与,如何决定每个用户的投票权?假设每个用户都拥有同样的投票权,如何防止敌人伪造出大量僵尸用户? 如果参与的人不是固定的,那么为了解决这个问题就产生了 POW 和 POS 两种机制来分配投票决定权,其中 POS 就是比特币采用的方式,以此衍生出来了整套生态。 如果参与者是固定的,分配投票权不是问题了,但如何确定参与者就是另一个问题,除非继续中心化的分配身份,比如采用类似 CA 的机制。同时为了保证投票不被一方垄断,还要仔细设计投票机制,确保投票权分配合理,让参与者互相制衡。此处的关键就是,每个用户为了确保自身的利益都要保证其他参与者不作弊。 因为区块链的哈希特征,每个参与者都必须在最后的一个块上继续延长,保证了区块链的只读。所以理论上所有的数据都被公示,不可能发生通过篡改实现的作弊。所以问题的关键就在于写入区块链的共识过程了。解决了以上问题,区块链就基本可以很好的运作了。 |
6
czheo 2016-09-19 14:15:34 +08:00
区块链的世界博大精深, lz 的问题有点宽泛,可以写好几章书。最好说说你的理解,然后把你的问题问问清楚,想理解到什么程度。
|
7
longdanie 2016-09-19 14:56:03 +08:00 via Android
有没有科普书籍可以系统的了解?最好是用人话,哪怕是英美人话!
|
8
Zoemiao OP @czheo 我今天深入研究了一下,目前了解到:区块链是用某种机制,实现信息的更新迭代,因为所有人都有备份,所以想更改是很困难的。正如 5 楼的回答,我才知道,原来很多投票问题还没解决哦。但是,这个所有人,像我这种人,也可以参与区块链的数据写入嘛?还是说任何一个人都可以参与?
另外,怎么去中心化的呀?有人给我解释过,端对端,那么端对端的实现,背后也需要有人做出来端呀。如果别人端对端交易,那现在很多金融机构在研究区块链,有什么收益呢? |
9
Zoemiao OP @douyingxin 好抽象。。。
|
12
Zoemiao OP @h4x3rotab 大神!!!那么大神,现在那么多金融机构和银行在研究区块链,带来的收益是什么呢?降低成本嘛?不是去中心化了嘛?还要机构何用?
|
13
Zoemiao OP @longdanie 我看到了个帖子,讲的蛮详细的,你瞅瞅。 http://tech.163.com/16/0604/21/BOOFNRFK00097U7V.html
|
15
cctvsmg 2016-09-19 20:14:41 +08:00
v2ex 这里太水了,要了解去巴比特不好么
|
16
czheo 2016-09-19 20:47:18 +08:00 2
@Zoemiao 区块链发明之初是比特币用来存储账本信息的数据结构。因为其他区块链都是从这里衍生出来的,私下开发的区块链可以各种各样,所以我们假设在比特币语境下讨论区块链比较方便。
谁能写区块链?“能”可以指权利也可以指能力。在比特币的网络里,任何人都有“权”参与数据写入,但是大多数人没有“能力”写入数据。写入数据的工作是“矿工”进行的,这是矿工之间的竞赛,只有计算最快的矿工才有能力真正写数据。 怎么去中心?去中心指的是因为人手一份数据的备份,每个人可以像 BT 下载一样从别人的电脑上下载到他们的备份来对照。比如你下载到 10 个人的备份里,其中 9 个人是一样的, 1 个是不一样的,你就可以相信这 1 个人的备份有问题。这样某个中央集权的个人或机构就很难”擅自“篡改区块链了。 你可以把它理解成 BT 下载,你说的“端”就是类似 BT 下载客户端的软件,也就是比特币的客户端。除了能下载别人的数据,还能通过数字签名技术验证真伪。 金融机构为什么研究区块链?区块链是一种可编程的分布式记账方式,应用可能性很多。比如可以用它来记录黄金所有权,买卖黄金就不需要运来运去了,更重要的是你不能“超卖”,因为所有记录都在区块链上,别人很容易查出(术语叫 double spending )。又比如可以用它作为金融机构之间的结算手段,和上一个例子类似,无论用货币还是黄金结算,运来运去多麻烦,如果记录在某个银行的账目上,你怎么信任这个银行?而且还有手续费。区块链作为一个分布式的记账方式,就可以代替这个中间记账的银行,我们把结算的账目记录在区块链上就不用中间人了。 |
18
Gothack 2016-09-19 22:02:23 +08:00 via iPhone
反正我看了好多地方也不是太明白。。。
|
19
yeasy 2016-09-19 23:19:35 +08:00
可以翻翻《区块链技术指南》: https://github.com/yeasy/blockchain_guide 。
|
20
sudo123 2016-09-19 23:26:43 +08:00
可以翻翻《区块链:从数字货币到信用社会》: http://item.jd.com/11939087.html
|
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. 有啥卵用? 区块链最早是用来存比特币交易信息的技术,后来银行那些人发现还能用来存其他的信息也不错,可能可以比一些现有的操作手段高明。具体也就是我之前说的那些例子,你以后在慢慢体会吧。 写的有点长,希望能帮助到你能大概了解区块链是个什么东西了。 |