九分钟了解区块链

简介:

?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

题图:by click_vision From Instagram

我在 2017 年 12 月 26 日写过一篇「2018 年技术趋势预测」,关于区块链我是这么写的:

区块链是可以改变世界的发明。区块链源起比特币,但并不局限在币圈。区块链技术是储存、验证和数据保护等问题的实际解决办法。区块链可被视为分散的、极度安全的数据库。更专业一点来说,区块链是分布式的点对点的基于密码学的共享账本,可以在金融服务、保险、医疗、政府等领域内被广泛应用。2018年应该是区块链技术起飞并日趋成熟的一年。

没想到 2018 年刚开始,区块链技术就像西去路上火焰山顶最高的火焰,简直火冒好几丈,红得发紫。很多人会说有这么火么,我怎么不知道。事实上 2017 年火爆的是比特币,区块链的拉升曲线确实是一月份才发生的,看下区块链的微信指数就知道了:

?wx_fmt=jpeg

一个浪头打过来,最好的办法是迎上去了解个究竟,而不是漠视,或者干脆当事情没有发生。最近读了些相关资料,有了更具体一点的了解,那就写篇白话文吧。阅读时间大概九分钟。

区块链到底是啥?不明真相的群众一般都去查维基百科,上面是这么说的:

区块链(英语:blockchain 或 block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。中本聪在 2008 年,于《比特币白皮书》中提出「区块链」概念,并在 2009 年创立了比特币社会网络,开发出第一个区块,即「创世区块」。

看完以后你是不是发现,都是中国字,怎么就搞不懂是啥意思呢?所以区块链的概念还是得解释一下。首先需要明确的是,区块链是一套协议和规范,用英文表述就是 Protocol,不是具体的代码或者项目。理解了这套协议,你可以基于不同的语言和技术去实现它,这和我们平时定义了一套 API,然后基于不同的技术实现没有什么分别。

但是区块链在不同领域的人眼里,可能是不同的东西。角度不同,我们得出的结论也不一样。金融领域的人会认为区块链是个分布式的账本,是一个分布式的去中心化的记账系统。搞安全和密码学的人会说区块链是基于密码学构建的对等网络。而我们程序员了解了区块链技术,会认为这不就是一个保证最终一致性的分布式数据库嘛。

记账系统

对于普通人来说,记账系统最容易理解,我们从账本说起。比如大家一起做生意,总要有个账本,最初这个账本由账房先生管理。但一个人管,总会出现对账不平衡的情况(比如挪用),于是大家开始轮流管。这种方式也有问题,在某个人保管账本和记账期间,一旦发生了数据丢失或账本损坏的情况,也会搞不清真实原因。最后大家决定用一种新的记账方式,每个人一个自己的账本,任何人改动了自己的账本都要告诉其他所有人,其他人也会在自己的账本记上一笔。只要有人发现新的账目不对,可以拒绝接受。最后以大多数人一致的账目为准。

这就是分布式的去中心化的记账系统。但这种做法时间长了还是会有问题,有人天天记,有人偷懒不记,会产生不公平。于是大家决定每天早上掷骰子,根据点数决定谁来记当天的账,其他人核对一下,没问题就复制过来。并且,当天的记账者会获得一点点奖励(这就是挖矿)。

去中心化的分布式数据库

把上面的记账系统用软件技术实现了,就是去中心化的分布式数据库。

什么是中心化,早期互联网大都采用 CS 架构,一个服务器 N 个客户端,Client 和 Server 之间进行通讯,系统可靠性严重依赖 Server,这叫中性化。

随着业务复杂度的增加,服务器端也开始分拆,横向和纵向扩展,读写分离等等,这就是我们常用的分布式架构系统,系统可靠性依赖分布式系统的热备份和容灾恢复能力。这时候服务器虽然分布了,但依然是中性化的。大部分商业公司都采用类似的架构和模式。

去中心化是怎么回事呢?就是数据库不属于任何机构和管理员。只要服务器端被某个机构或管理员控制,就存在宕机或数据篡改的风险。区块链和 P2P 的网络通信技术最终实现了去中心化。区块链的作用就是存储信息,可以认为是一个数据库,而任何人都可以通过 P2P 网络架设服务器,接入区块链网络,成为一个节点。这下人人平等了,大家都是 Server,也就没有了 Server,每个节点既是生产者也是消费者。

你可以向任何一个节点读写数据,一旦写入就是历史,最后所有的节点都会同步数据,保证「账本」的一致性。

区块链是没有管理员的,也不需要人工审核和干涉。那人人都能写数据,数据的可信度怎么保证呢?数据被篡改了咋办?别担心,P2P 网络只是进行信息通讯,保证数据安全的还有共识算法和加密算法。

共识算法

关于共识算法、拜占庭将军问题,大家可以参考这一篇文章,很长,但容易看懂。

分布式一致性与共识算法(https://draveness.me/consensus)

简单来说,共识算法就是保证少数服从多数,也就是我在记账系统中写过的「最后以大多数人一致的账目为准」。大多数人认可的事情,就是事实。这种规则听起来挺吓人的,比如我们常常在文学作品和历史经验中知道,真理往往掌握在少数人手里。但是在 P2P 的网络里,有无数的节点,要想大部分节点一起作恶,除非这些节点都被某个组织控制了。这种可能性虽然不是没有,但几率非常小。

总的来说,共识算法解决的是对某个提案(Proposal)达成一致意见的过程。提案的含义在分布式系统中十分宽泛,包括多个事件发生的顺序、某个键对应的值…等等,可以认为任何需要达成一致的信息都是一个提案。

有了共识算法和相关的加密算法,就可以保证数据的安全性和一致性。

为什么会挖矿?

谈到比特币,大家耳熟能详的就是挖矿和矿机这种事。那为什么会挖矿呢?挖矿其实是一种激励和竞争机制。

在区块链系统中,总有些节点被选中进行数据整理、验证、打包,并把相关的改动广播出去,这个工作还是挺耗资源的,所以会有奖励机制。负责打包的节点会获得系统的奖励,类似积分,对于比特币系统来说,就是奖励比特币。有了奖励,很多节点都希望获得这样的奖励,于是有些区块链系统,比如比特币就会设计出一种竞争机制,让各个节点凭借自己的算力和资源去抢,能抢到这个数据打包的机会,就会获得奖励,也就是比特币。这个竞争的过程就是挖矿。

什么是算力呢?就是计算机每秒产生 hash 碰撞的能力。也就是说,手里的矿机每秒能做多少次 hash 碰撞。算力越高,获得的奖励越多。

区块链的未来

很多人觉得区块链的唯一应用就是发行虚拟货币,最近国内外市场也是烽烟四起,比如超过百年历史的伊士曼柯达公司宣布推出基于区块链技术的「柯达币」(KodakCoin)和 KodakOne 平台,让全球的摄影师能够更好的控制图片的版权和交易。然后股价就飙升了……

了解了区块链的技术特点,我们就知道,区块链的能力远不止虚拟货币领域,未来的 金融服务、物流、保险、医疗、共享经济、智能合约领域,应该都会有区块链的身影。

繁华落尽,洗尽铅华,所有的技术都将经历时间的洗礼。历经爆发期、衰退期并进入成熟期的技术,才是真正能具备生命力的技术。


想详细了解区块链技术,一篇文章是远远不够的,推荐一节免费直播课给感兴趣的读者。

分享者是冯贵彬:

(株)LinkJapan IoT新事业研究室技术主管
2006-2012年北京市气象局雷达通信研究室
2012-2015年北京康康盛世信息技术有限公司
负责BLT通信开发.现就职于日本LinkJapan Inc

主要研究方向:
IoT/big data,deeplearning,self-driving

直播课内容:

1、什么是区块链 
介绍一下区块链的概念和基本技术特点等相关内容

2、区块链的发展史
介绍区块链所解决的问题,谈一下区块链的发展史

3、区块链基础
介绍运算原理、公有链、私有链、联盟链、常用加密算法等机制以及分叉和矿工在链中的作用

4、区块链的缺点

5、区块链的典型应用 —— 以比特币为首的数字货币

7、区块链技术的未来发展应用
区块链1.0时代
区块链2.0时代
区块链3.0时代



原文发布时间为:2018年01月23日
本文作者:iOS_开发
本文来源:CSDN,如需转载请联系原作者。

目录
相关文章
|
Kubernetes API 开发工具
Kubeflow-Pipelines-架构学习指南
本指南带你深入 Kubeflow Pipelines 架构,从零掌握 ML 工作流编排。涵盖核心组件、代码结构、开发调试及贡献流程,结合实战练习与学习路径,助你由使用者进阶为贡献者。
1500 139
|
存储 数据可视化 安全
无代码开发实践 | 基于权限管理能力快速开发人力资源管理系统
本系统基于smardaten平台构建,实现人力资源管理中人员任职与认证活动的全流程线上化。涵盖基础信息、认证管理及权限控制等模块,支持组织架构灵活配置、菜单与操作权限精细化管控,并通过数据权限实现部门级与字段级数据隔离,确保安全合规。系统以可视化方式快速搭建,助力企业高效、专业地管理员工任职资格,提升人力资源管理效率与准确性。(239字)
无代码开发实践 | 基于权限管理能力快速开发人力资源管理系统
|
数据采集 供应链 前端开发
90%的多维表格用户不知道:这些数据必须上BI
多维表格可以助力轻量数据管理,但在多源整合、复杂分析与企业级数据展示上仍有限制。Quick BI作为专业BI工具,可填补其空白,实现数据深度挖掘与决策支持。两者结合,打造高效数据闭环,释放商业智能价值。
|
JSON 运维 监控
拼多多:通过物流预警API提前识别异常订单,主动联系用户
拼多多集成物流预警API,实时监控订单状态,通过规则引擎识别延迟、丢失等异常,自动触发用户通知,提升满意度、降低售后压力。技术结合API调用、异常检测与自动化响应,实现主动式物流管理,助力构建高效、可信的电商体验。(238字)
1231 0
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
591 1
|
人工智能 Python
子曰-o1:网易有道开源国内首个分步式讲解推理模型,支持K12数学教学
子曰-o1是网易有道推出的国内首个分步式讲解推理模型,采用14B轻量级架构,专为消费级显卡设计,支持K12数学教学,提供精准的解题思路和答案。
992 1
子曰-o1:网易有道开源国内首个分步式讲解推理模型,支持K12数学教学
|
数据采集 JSON 监控
速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)
以下是使用 Python 调用速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)的代码示例。该示例包含准备基础参数、生成签名、发送请求和处理响应等关键步骤,并附有详细注释说明。代码展示了如何通过公共参数和业务参数构建请求,使用 HMAC-SHA256 加密生成签名,确保请求的安全性。最后,解析 JSON 响应并输出商品信息。此接口适用于商品监控、数据采集与分析及商品推荐等场景。注意需通过 OAuth2.0 获取 `access_token`,并根据官方文档调整参数和频率限制。
|
机器学习/深度学习 人工智能 文字识别
从“泛读”到“精读”:合合信息文档解析如何让大模型更懂复杂文档?
随着deepseek等大模型逐渐步入视野,理论上文档解析工作应能大幅简化。 然而,实际情况却不尽如人意。当前的多模态大模型虽然具备强大的视觉与语言交互能力,但在解析非结构化文档时,仍面临复杂版式、多元素混排以及严密逻辑推理等挑战。
761 0
|
SQL 分布式计算 DataWorks
DataWorks智能交互式数据开发与分析之旅
本次实验将带您进行DataWorks Notebook的快速入门,包含:Notebook新建、多引擎SQL开发与分析、Python开发、交互式分析等,同时,使用DataWorks Copilot体验智能数据开发,体验智能交互式数据探索之旅。
3461 11
|
Web App开发 前端开发 搜索推荐
创建HTML文件
【10月更文挑战第14天】创建HTML文件
975 4