惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
博客园 - Franky
腾讯CDC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium
量子位
Jina AI
Jina AI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
爱范儿
爱范儿
博客园 - 叶小钗
D
Docker
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
超简明区块链入门 (无需技术背景) - 少数派
2022-04-03 · via 少数派

许多人对区块链的认识止步比特币一类的虚拟货币,但实际上区块链的使用的场景除此之外还有很多。这篇文章会介绍 基础的区块链原理区块链的特点区块链能解决的问题,以及目前主流应用(包括企业应用)。无需技术背景也可以读懂。

历史

还是得从历史开始说起。很多人以为区块链 (Blockchain) 是由中本聪(Satoshi Nakamoto) 提出的。其实不是。

1982 年,美国的密码学家 David Chaum 就提出了区块链,并推乎了产品 e-cash, 想要在互不信任团体 (Group) 中,建立一套可以使他们相互信任的计算机系统,并于1989年创建了DigiCash公司[1],这套系统被一些小银行用于小额支付系统,但依然需要中心机构的协助,公司于1998年破产[2]

在2008年之前,区块链技术虽然在进步,但都遇见了一些无法解决的难题,直到 2008年,一个署名为中本聪的人(或团体),发了篇论文,发明了比特币(bitcoin)。解决了之前没解决诸多问题。 2009 年第一个比特币公链上线。

超简明区块链原理

过去,交易流水帐(ledger)都存储在机构的中心数据库上的。比如你在银行的交易流水是存在银行数据库上,你在支付宝的交易流水是存在支付宝的中心数据库上。这些数据是中心化的,就是说这个机构,有所有的权限去修改数据库,比如修改某个人的余额,或者冻结某个账户。

中心化数据库是如何记账的

想要搞清楚区块链,一定要先知道中心化的数据库是如何记账的。

举个例子:
假设有一个不诚信的支付平台叫做 EvilPay,他们目前正在使用的是一款中心化的数据库。所有的用户的信息,交易记录,余额都存在他们的数据库里。

假设 Evilpay 里有两个账户和 A,B。在2022年1月1日,他们的余额都是10元。

2022年1月2日,发生了一笔交易,B向A转账10元。

对这个交易 Evilpay 的数据库里是这个样子的:

交易ID时间账户ID交易对象ID交易金额余额备注
12022/04/01BA-55向A转账
22022/04/01AB+515接受B的转账

第一行表示,B向A转账5元,B的余额为5.

第二行表示,A收到了B的转账,A的余额为15.

以上交易流水都存储在 Evilpay 的中心数据库里。即 Evilpay 拥有全部的权限对数据库的权限,也就是说他们可以任意的修改数据库数据。

假设此时又有一个账户C,是Evilpay的秘密账户。Evilpay 想要窃取你的钱,他会怎么做?有两种方法

  1. Evilpay 新建一笔交易把A和B的所有钱都转帐到C上。
  2. Evilpay 直接篡改交易记录,把B本来转给A的钱,转给C。

所以,作为Evilpay 的客户,我们当然不希望平台可以偷走我们的钱,此时我们想要解决的两个问题是:

  1. 不会有任何人能够篡改之前的交易记录。
  2. 在没有我的同意下,没有任何人可以以我的名义,发起任何交易。

比特币可以解决这两个问题。

区块链的数据结构

如下是区块链的数据结构

每一个区块(block)至少存有三个信息,前一个区块的Hash值,本区块的Hash值,以及交易记录。

这里需要一点基础的密码学知识。
Hash 最通俗的解释是一个指纹。世界上没有任何两个人拥有一摸一样的指纹,我们可以说知道了一个人的指纹,就能够知道这个人是谁。所以每个block里存储的信息,可以理解成 [前一个区块的指纹,本区块的指纹,和交易流水]。

假如,黑客想要偷偷篡改区块2上的一个交易,那么区块2的hash就会改变。那么区块3就找不到区块2了,因为区块2的hash已经改变了。所以,黑客破坏一个区块,就等于破坏了那个区块之后的所有区块。

那黑客有可能篡改那个区块后的所有区块,达到自己的目的吗?答案是,有可能。在中心化的数据库中时可能的,但是在去中心化的区块链中:几乎不可能。

区块链如何交易

区块链是分布式的,世界各地有上万个节点,每个节点里运行着完整的区块链数据库,暂时把这些人理解成矿工。

假设有一笔交易,B向A转账了5元。他需要向全世界所有的节点广播,告诉大家我像A转账了5元。如果有一个幸运的矿工接收到这个信息,并且把这笔交易打包在到当前的区块中。然后这个区块之后,又长出了几个区块(通常认为是5个),我们就可以认为这币交易被确认了。(为什么要长出来几个区块才能确认,这里涉及到更进阶的知识,以后有机会再讲)

区块链如何保证数据不被篡改?

首先,区块链是少数服从多数的。如果黑客只是篡改了自己节点的数据库,别的节点发现黑客的节点跟自己和大多数的节点的都不一样,就会判定这个节点是不诚实的,这个节点也就被踢出了游戏。

所以,黑客想要篡改一条记录,必须攻击超过50%以上的节点。但,这几乎是不可能的。

区块链只能用来做虚拟货币吗?

区块链的应用只是虚拟货币吗?还有没有别的应用呢?有的,比如现在很火热的数字藏品(NFT),De-fi(去中心化金融)和 DAO(去中心化自治组织),除此之外还可以应用在如供应链,食品追溯,慈善等等。这些应用都是在智能合约的基础上实现的。

智能合约

智能合约简单的讲就是写在每一笔交易上的一段代码,这段代码是用来描述这笔交易是做什么的。比如说A向B转账,在智能合约里就得写上A transfer 1.0 to B。 只有这样,每个节点才能理解这笔交易。

比特币时代,智能合约是很简陋的,仅支持简单的的操作,比如转帐。直到2013年,年仅20岁,出生在俄罗斯的 Nick Szabo发明了以太坊。以太坊支持图灵完备的编程语言,给区块链提供了更多的玩法。

举个例子:
买卖双方,是存在不信任的。尤其是线上购物。比如,在某宝买东西付款之后,支付宝会临时为我们托管资金,等买家收到货确认无误,资金才会转入卖家账户。这里例子里,信用良好的支付宝充当了一个信任中介。买卖双方不需要相信对方,只要相信支付宝,就可以完成这笔交易。

智能合约就可以充当这个中介。只用把上述的逻辑规则改成代码写进智能合约,区块链按照代码严格的运行。可以过去你相信支付宝,现在你可以相信代码。

区块链的企业应用

2015年年末, Linux Foundation 开启了 Hyperledger 项目,想让区块链满足现代企业运营需求。 先去区分几个的概念

区块链的有两个特点是不可篡改和公开透明。那么他可以解决不同团体之间的信任问题,和数据孤岛的问题。以下是几个案例

  • 供应链
    过去上下游企业中都使用不同的信息系统,并且只和与自己对接的上一家企业或下一企业交换有限的信息。这样货物的追溯和追踪就变的十分困难,这就是数据孤岛,及每个公司的信息不互相通。 如果产品最终出了问题,那么涉事企业就可以篡改数据来逃避责任。(毕竟数据是存在自己的数据库里)。如果使用上了区块链,涉事企业想要篡改数据就非常难了。
  • 医疗系统
    过去每家医院都有自己独立的信息系统。每家医院的信息系统都是独立的,有些甚至是纸质的。如果将医疗数据上链,可以一定程度上解决医院之间信息沟通的问题。 [3]

什么场景下使用区块链链?

不是所有的场景,都适合使用区块链解决。需要考虑一下几点:

  • 是否存储静态的数据
    区块链的数据一旦写入是不可以修改的。只有静态数据适合区块链。
  • 是否有多个团体(groups) 使用这条区块链
    如果只有一个团体,就不需要区块链了。
  • 是否会有不诚实的团体使用区块链
    区块链只能保证已写入的数据不被篡改,但不能保证写入的数据是否是真实的。
  • 是否需要公众监督
    区块链上的数据不可篡改,公开透明。比如在慈善场景中,可以一定程度消除捐款者和慈善基金间的不信任。

Hey,我是 Alex Teng。欢迎关注我的公众号「亚历山大疼」。


[1]wikipedia: https://en.wikipedia.org/wiki/David_Chaum

[2]Guide to Blockchain: https://yeasy.gitbook.io/blockchain_guide/01_history/bitcoin

[3]What is blockchain?: https://www.oracle.com/blockchain/what-is-blockchain/