在之前的教程当中,我们讨论了公钥加密、哈希函数以及P2P网络。没看过的朋友,可以去看看那篇文章,因为它是以一种非常简单的方式来解释这些“艰涩难懂”的概念。
在这篇文章当中,我们将主要谈谈区块链,文章引用了互联网上的一些资源,文末有提及来源。
而在接下来的一篇文章当中,我们将在一分钟内建立出我们的开发环境! (在这里)
坐在公园凳子上的我们,是一对好朋友,你是爱丽丝,我是鲍勃。
我有一个玩具,但你没有。
我把我的玩具给了你。
现在,你拥有了一个玩具,而我则失去了它。
很简单,对不对?
我有了一个玩具,我把它给了你。我们不需要第三者来参与交易。现在,我没法把这个玩具送给别人啦,因为我已经失去它了。而你可以把它送给你任何想要给的人,然后,他们又可以把玩具送给他们想要给的人……
数字版达斯·维达
现在,假设我有一个数字玩具。
我把这个玩具给了你。
等等。
你怎么知道我没有把这个玩具首先给了查理,就像是电子邮件附件那样?或者我在自己的笔记本上保存了一百万张副本,并把它发送给互联网上的所有人?
因此,发送数字玩具和实体玩具是不一样的。
这个问题被称为双重支付问题(也称双花)!
但解决办法是不是很简单呢?
我们可以维护一个账本,这个账本当中纪录了所有的交易。
因此,所有数字玩具的交易,都会被记录到这个账本当中。然后,我们让一个人去负责它,比如让丹尼来负责。
问题解决了,对不对?
没有。
因为,我们不知道丹尼会不会作弊,把数字玩具随心所欲地转给他自己或者他女友的账户。
另外,为什么我们需要让丹尼来介入一笔只涉及我和你的交易?
区块链登场
那如果每个人都在他们的电脑上拥有这个账本的副本,所有曾发生的交易都会记录在上面。
这将是很难被破坏的,现在丹尼就无法添加他自己编造的玩具啦,因为这会使得他的账本和其他人的账本不匹配。
每一个拥有账本副本的人,通过验证交易来获得数字玩具奖励。这也就是数字玩具所产生的方式。
这就是区块链。这些玩具,我们可以认为是比特币或者任何其他区块链资产。
任何人都可以访问这个账本。
现在,我们不用依赖于第三人(丹尼),就可以维护我们的账户余额啦。
我们也不需要担心双重支付的问题。
这是一个很简单的故事,但如果你能够了解其中的原理,你就会比业内很多人士都了解区块链。而要建立去中心化应用,掌握这些知识就已经是足够的了。
引用:https://medium.com/@nik5ter/explain-bitcoin-like-im-five-73b4257ac833#.tk0jiptz4