区块链和比特币简介

阮一峰教程

    首先要搞清一个问题——比特币是区块链,但是区块链并不是比特币。

    区块链是比特币的底层技术,比特币是一种区块链。

区块链是什么?

一句话,它是一种特殊的分布式数据库。

一句话概括,如果互联网技术解决的是通讯问题的话,区块链技术解决的是信任问题。(支付宝,保险

比起自然语言,代码没有歧义性,保险业。

支付宝是淘宝交易的可信第三方。
信用证是贸易过程中,银行充当可信第三方的角色

 

   首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库

区块链」还可以应用在:科学、医疗、教育等领域。具体应用方式可能不同,但基本逻辑是相同的:一个去中心化的数据库。

其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。类似下面例子:

阿聪老师的办法如下:
第一, 不再设立总账。
第二, 每一笔交易全班同学都要记账,不论这笔交易是否涉及到你。
第三, 每天下午全部课程结束后,全班同学一起计算今天发生的交易。
第四, 每天最先计算出来的同学,奖励2朵小红花。第五, 在每天计算之后,一笔交易只有与绝大多数同学记录的一致,才能被承认。

来源:知乎

区块链没有管理员,它是彻底无中心的。其他的数据库都有管理员,但是区块链没有。如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。

 

每个区块包含两个部分。

区块头(Head):记录当前区块的元信息
区块体(Body):实际数据

 

Hash

所谓 Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的 Hash 一定是不同的。

哈希表属于一种物理存储结构,它应用了哈希算法因此称之为哈希表。

物理存储结构共4种:顺序、链式、索引、散列,其中顺序和链式最为常见,这两种存储结构的共同特征是元素之间有着映射关系,而哈希表(散列存储结构)的元素之间相互独立索引存储结构类似现实世界中的字典目录,在此不多赘述。

哈希表的实现方式:给定一个任意类型的数据,称为,使用哈希算法加工该数据,把生成的结果作为键的存储地址

例如给定一个字符串参数 "str",该键对应的元素是"jack",那么"jack"的存储地址就是通过哈希算法对"str"进行加工生成的。

这么一来,每当存取元素时不会像传统的数据结构逐个遍历、一一对比,而是通过哈希算法直接获取元素的存储地址,因此哈希表会比传统的数据结构更为高效,这也是使用哈希表的原因(超级指针,字典索引

 

因此,有两个重要的推论。

推论1:每个区块的 Hash 都是不一样的,可以通过 Hash 标识区块。
推论2:如果区块的内容变了,它的 Hash 一定会改变。

计算有效 Hash 的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算 Hash 的机器就叫做矿机,操作矿机的人就叫做矿工。

 

不是任意一个 Hash 都可以,只有满足条件的 Hash 才会被区块链接受。这个条件特别苛刻,使得绝大部分 Hash 都不满足要求,必须重算。

原来,区块头包含一个难度系数(difficulty),这个值决定了计算 Hash 的难度。举例来说,第100000个区块的难度系数是 14484.16236122。

区块链作为无人管理的分布式数据库,从2009年开始已经运行了8年,没有出现大的问题。这证明它是可行的。

 

目前,区块链最大的应用场景(可能也是唯一的应用场景),就是以比特币为代表的加密货币

 

有国内互联网金融长期观察者说,“区块链目前的情况类似于TCP/IP(1969年出现的技术,30年后应用才全面盛开)或者HTML刚出来的时候找不到落地的应用,除了比特币外,缺乏杀手级应用,比特币只是区块链1.0,而智能合约是2.0,区块链的较高应用是对应到物联网,做到实时信用确权。”

我个人认为区块链技术是很有前景的领域,值得有兴趣的各位学习研究。

区块链被真正广泛运用还有一段很长的路要走,大家要做的,就是积累技术等待成熟时机的出现。

作者:玲珑邪僧
链接:https://www.zhihu.com/question/27687960/answer/84583016
 

比特币入门教程

 

非对称加密,其实很简单,就是加密和解密需要两把钥匙:一把公钥和一把私钥。

所以,比特币交易的第一件事,就是你必须拥有自己的公钥和私钥。

你去网上那些比特币交易所开户,它们会让你首先生成一个比特币钱包(wallet)。这个钱包不是用来存放比特币,而是存放你的公钥和私钥。软件会帮你生成这两把钥匙,然后放在钱包里面。

 

举例来说,矿工获得12.5个比特币的奖励,其实就是区块链有一个记录:"xxx地址获得12.5个比特币"。正是这行记录,导致该矿工获得了大笔金钱。如果区块链突然增加了一条记录,记载你的地址获得了1000个比特币,你就真的会有1000个比特币。这到底是为什么?

展开阅读全文

没有更多推荐了,返回首页