区块链入门-概念原理篇

比特币和区块链

2008年,中本聪发布了一篇名为《比特币:一种点对点的电子现金系统》论文,之所以选择在金融危机这年发布,也许别有深意。他认为传统货币最根本的问题在于信任,银行必须让人信任它能帮我们管好钱财,但是银行却在用货币制造信贷泡沫,通货膨胀使人财富缩水。首先中本聪把比特币定义为一种点对点的电子现金系统, 目的很明确:希望这套系统不要依赖任何一个中心,比如中央银行,所以这个系统肯定是分布式系统。
区块链的概念是在中本聪设计比特币系统的时候首次提出,也是区块链技术第一次得以落地并且运用得最成功的一次。比特币是一种业务场景, 区块链是比特币这种业务场景实现的技术基础,要了解区块链,先简单了解比特币的运行机制。

图中的橙色方块就是这套系统上的每个节点,散布在世界各地;可以认为每个节点都运行着中本聪开源的比特币客户端,节点之间形成全网通讯。

为什么要去中心中心化?

为了安全和信任。首先来说说安全,这个应该都好理解。比如现在我们用支付宝,所有的转账支付行为都要经过支付宝这个中心,这个中心一旦出问题,所有用户都受影响;这个中心一旦被黑客攻破,数据就非常容易被修改;而分布式系统中,全球每个节点既是客户端也是服务器,除非同时有51%以上节点被篡改,否则所有修改均无效,被“自治”,所有篡改数据难道非常大。安全上的保证也极大解决了信任问题,但是主要的还是数据控制权问题,中心化的系统,被掌握在一个中心中,比如我们的交易数据被掌握在支付宝中,鬼知道有没有被出卖,有没有被利用;而分布式系统中,所有数据透明,不属于任何一个中心;人人都是数据生产者也是拥有者。我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

比特币系统为什么能有效的运行下去?

第一,比特币的稀缺性;第二,奖励机制。首先要说两个重要的角色: “矿工”和用户。

没错,矿工就是比特币系统上的每个节点的维护者,中本聪并不亲自部署这么多节点,而是通过一种奖励机制,让每一个人都能参与维护扩展这套系统,这时候运行在这个节点上的机器也称为“矿机”,矿机的主人就是矿工。在用户交易过程中产生的记录,如果被某个节点来帮忙验证并记录了,这时候矿机的主人就会得到一定的比特币作为奖励。 具体由那个矿工来记录?这个就比较有意思了。

挖矿

发生交易时,全网节点能监听到,通过验证的记录或放入节点内存中,然后所有的矿机都在开始“算题”,拼算力的时候来了,这批交易记录会被分配一个随机数, 每个节点都在“努力”地找这个随机数,谁先找到,谁就得到了这批交易的记账权,然后就开始验证,验证之后打包成一个数据块,就是我们说的区块了(终于提到区块这个概念了,先别着急,后面再慢慢展开。),然后开始全网广播,把这个区块副本广播出去,告诉其他节点不要努力了,我已经找到了,挖到矿了,大家看看是不是“真的”,然后其他节点停止挖矿,逐一验证,51% 以上的节点都验证通过之后就把这个区块加到当前区块链上的末端,交易完成。

转载于:https://my.oschina.net/u/3611008/blog/1619651

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Google出品的GO语言,最近有火起来的趋势。据众大神说,GO语言弥补了C和C++还其他语言的缺陷,颇有白富美的感觉。 网络上搜索了一番,发现【吾爱】上并没有GO语言的视频下载,其他站点也很少提供GO语言的视频教学。 51CTO、网易云课堂、土豆有”无闻“主讲的教程,好一阵搜索终于在”无闻“的Github找到了百度云的下载链接,整理了一番,贡献给大家。 ********************** 该视频堪称精典,望共同进步。********************** 【详细列表】 一、Go编程基础   │   【Go编程基础】01Go开发环境搭建   │   【Go编程基础】02Go基础知识   │   【Go编程基础】03类型与变量   │   【Go编程基础】04常量与运算符   │   【Go编程基础】05控制语句   │   【Go编程基础】06数组array   │   【Go编程基础】07切片slice   │   【Go编程基础】08map   │   【Go编程基础】09函数function   │   【Go编程基础】10结构struct   │   【Go编程基础】11方法method   │   【Go编程基础】12接口interface   │   【Go编程基础】13反射reflection   │   【Go编程基础】14并发concurrency   │   【Go编程基础】15项目与坑 二、Go Web基础   │   【Go Web基础】01博客项目设计   │   【Go Web基础】02初窥 Web 开发   │   【Go Web基础】03模板用法讲解   │   【Go Web基础】04登录及分类管理   │   【Go Web基础】05文章的添加与删除   │   【Go Web基础】06评论与分类显示   │   【Go Web基础】07为文章添加标签   │   【Go Web基础】08文章附件上传   │   【Go Web基础】09国际化支持   │   【Go Web基础】10自建 HTTP 中间件   │   【Go Web基础】11简易的 RPC 实现   │   【Go Web基础】12Go Web 扩展学习 三、名库讲解   │   【Go 名库讲解】00课程学习指南   │   【Go 名库讲解】01goconfig 使用解析   │   【Go 名库讲解】02xorm常见用法指导&高级用法讲解   │   【Go 名库讲解】03goconvey优雅的单元测试   │   【Go 名库讲解】04macaron初识Macaron&核心服务的使用&自定义服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值