10年专注生物识别技术产品质量有保 售后7×24小时服务
24小时咨询热线:4006666666
联系我们
生物识别有限公司
全国免费服务热线:4006666666
地址 :中国·北京
联系人:陈经理
您的位置: 首页>>热门话题>>正文
热门话题

接触式生物识别技术是什么(NFC是什么功能)

时间:2023-05-11 作者:admin666ss 点击:17次

今天给各位分享关于【接触式生物识别技术是什么】,以及【NFC是什么功能】的知识点。如果您能从中获取启发,那就是我们开心的事了,现在开始吧!

接触式生物识别技术是什么,NFC是什么功能?

大家好,我是小枣君。

文章是写过的了,偷个懒,修改下,放在这里也合适:

今天我们要聊的话题,是NFC。

对于它,我相信大家一定不会感到陌生。

作为一项便捷的通讯技术,NFC已经为大家默默服务了很多年。

在我们生活中,时不时会看到它的身影。

例如地铁、公交:

移动支付:

但是,NFC到底是谁发明的?什么时候发明的?究竟是基于什么技术?有什么优点和缺点?相信大部分同学都说不清楚。

今天,我就来给大家说说——

NFC的诞生

NFC,全称是Near Field Communication,即“近场通信”,也叫“近距离无线通信”。

它诞生于2003年,由飞利浦和索尼这两个移动设备巨头联合研发。

当时,飞利浦派了一个团队到日本,和SONY工程师一起闭关三个月,憋出了这么一个大招,就是NFC。

2004年,两大巨头与诺基亚一起,创建NFC论坛,开始推广NFC的应用。

自此,NFC作为一个婴儿,就开始了他艰难的成长历程。

NFC到底是什么技术

NFC是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输。

注意到这几个关键词了不? 短距离、高频、非接触式、点对点。

说到NFC,就不得不谈谈它的大哥,也就是RFID。

RFID,Radio Frequency Identification,即射频识别,又名电子标签。

顾名思义,RFID的工作原理就是给一件件物品上贴上一个包含RFID射频部分和天线环路的RFID电路。

携带该标签的物品进入人为设置的特定磁场后,会发出特定频率的信号,阅读器就可获得之前该物品被写入的信息。

这有点像工作人员脖子上挂的胸牌,而你就是他的主管,当他进入你的视线,你就可以知道他的姓名职业等信息,还可以改写他胸牌的内容。

如果说RFID是一个人戴着胸牌方便别人了解他,那么NFC就是两个人都戴着胸牌,而且他们可以在看到对方后任意更改胸牌上的内容,改变对方接收到的信息。

NFC与RFID在物理层面看上去很相似,但实际上是两个完全不同的领域,因为RFID本质上属于识别技术,而NFC属于通信技术。

NFC诞生之初,就兼容了索尼公司的FeliCaTM标准,以及ISO14443 A,B,也就是飞利浦的MIFARE标准。在业界简称为Type A,Type B和Type F,其中A,B为Mifare标准,F为Felica标准。

NFC有三种工作模式:

1.主动模式

在主动模式下NFC终端可以作为一个读卡器,发出射频场去识别和读/写别的NFC设备信息。

主动通信模式

2.被动模式

这个模式正好和主动模式相反,此时NFC终端则被模拟成一张卡,它只在其他设备发出的射频场中被动响应,被读/写信息。

被动通信模式

3.双向模式

在此模式下NFC终端双方都主动发出射频场来建立点对点的通信。相当于两个NFC设备都处于主动模式。

以被动模式为例:

启动NFC通信的设备,也称为NFC发起设备,在整个通信过程中提供射频场(RF-field)。它可以选择106kbps、212kbps或424kbps其中一种传输速度,将数据发送到另一台设备。

另一台设备称为NFC目标设备,不必产生射频场,而使用负载调制(load modulation)技术,即可以相同的速度将数据传回发起设备。

两者即实现了通信。

移动设备主要以被动模式操作,可以大幅降低功耗,并延长电池寿命。

NFC的发展

接触式生物识别技术是什么(NFC是什么功能) 热门话题

发布NFC后,两大巨头可以说是信心满满,相信这又是一款可以改变世界的产品。

毕竟,NFC与蓝牙(bluetooth)相比,不仅更加安全,而且建立连接只需要0.1秒不到。更不用提NFC的卡模拟功能,让手机同时成为公交卡、门禁卡甚至银行卡,可以说NFC全方面碾压蓝牙。

但是事实上,NFC连推广的那一步都没迈出去。

虽说NFC更加方便安全,而且成本相较于蓝牙更低,但必须近距离甚至接触的建立连接方式是它的一块短板。

而且,在文件传输速度上,NFC也不尽人意。NFC在传输速度上理论上最快只能达到 868 Kbps,而蓝牙却可以达到 2.1 Mbps。

日本可能说是NFC的娘家了,也是NFC早期最主要的推广地区。

在手机厂商,商家,运营商乃至银行的联合推广下,日本的手机早已集成了公交卡和银行卡功能。

但在日本以外,NFC一片惨淡,特别是在欧洲,由于诺基亚高昂的授权及服务器费用,缺少诺基亚的技术支持,导致众多开发者对于NFC敬而远之。

NFC主要在亚洲推广较为普遍

尽管诺基亚推出了世界上第一款NFC产品——诺基亚3220,并且几乎将NFC作为了手机标配。但由于没什么真正实用的功能,NFC也只能作为一个噱头,逐渐淡出了人们的视线。

Nokia 3220

NFC的新生

如今,随着移动支付的普及,NFC这项技术重新进入了各大手机厂商的视线。

相比于现在的扫码—付款模式,NFC的接触付款模式显然更加快捷和安全,NFC技术也终于不再是屠龙之技。

现在NFC主要有以下两大应用方面:

卡模拟

这是NFC最早的功能之一。

让手机可以作为公交卡和银行卡使用,可以大大减少现在出行所需要携带卡片的数量。但是,由于软件问题,这个功能在早期始终无法普及。

现在该功能终于得到了足够的软件支持,小米、华为、三星、努比亚、一加、魅族等手机厂商纷纷推出了可以模拟公交卡的专属APP。遗憾的是,该功能只能在几个一线城市使用,普及还需要时间。

至于银行卡模拟,目前只有支付宝,Samsung Pay,Mi Pay,华为钱包等几个APP支持。

文件传输

类似于手机蓝牙,在两台手机都将NFC功能开启后,将手机靠近即可建立连接,之后就可选择传输或接收文件。

但是,正如前文提到的,NFC远不如蓝牙快捷,但NFC可以作为蓝牙的预链接使用。

现在很多相机、照片打印机,也通过NFC进行图片快速传输,毕竟非常方便快捷。

相机的NFC功能

打印机的NFC功能

除此以外,越来越多的NFC应用被不断发掘出来。例如,现在火爆的共享单车。

摩拜和ofo两大共享单车也发布了支持NFC的新车型,用户可以跳过扫码步骤,直接将手机靠近智能锁即可解锁,让用户的使用体验更好,但目前该功能仍有一定的局限性。

三星Note8开启摩拜智能锁

受制于基础设施和产业链的极不完善,NFC目前远远不能发挥它的全部功能。

例如NFC名片,通过NFC标签拨打电话,访问网址,甚至通过NFC标签来获取商品信息等等,很多功能都还在研发阶段,没有走进我们的生活。

让我们再给它一点时间,也许不久的将来,它会迎来自己的春天。

好啦,今天的内容就到这里,感谢大家的热心观看!

喜欢回答,就关注吧

滴滴司机是如何进行私下交易的?

私下交易?那是以前,现在滴滴推出了车内录音,还有大数据分析,他们根据你的接单数据,还有定位系统推算你有没有线下交易。比如你接到一个从A到B的订单,不管是司机还是乘客取消单子,只要你的车在取消订单后依然前往到B,他们就会认定你私下交易,直接就是200块的罚款。我这只是举个例子,滴滴的政策是宁可错杀一千也不漏过一个。

再有就是现在推出的车内录音功能,司机朋友们别傻傻的认为这是滴滴整改后,想出的替司乘双方安全想出的好点子。

你试试,你如果不同意录音还能不能出车,答案是,不能。这是滴滴强加给我们的,而且你不知道这录音他到底在什么时候开启,是订单开始以后?还是每天一出车?或是他想什么时候听就什么时候听。如果真是这样的话,你还敢线下交易吗?可以说这个功能最大的用处就在这,就是在监视你有没有线下交易。就是在为判定你拿私钱举证用的。

回归一下本题的思路,以前确实有司机挖空心思的想办法线下交易,但那必竟是少数。所用的办法无外乎接单后取消现商量价钱,或是老接某个乘客时间长了成了熟人约定个价格再留个电话随叫随到。

总之,现在司机已经极少敢线下交易了,尤其是在人证车证都办齐后再这么做风险太大,闹不好被封号可就亏大了。

现代战争各国的迷彩服差不多?

迷彩服是作训服的一种,它是由几种颜色组成不规则保护色图案来用于伪装的服装。虽然一般都是使用绿、黄、茶、黑、蓝等颜色,但是具体到各国作训服上却有着比较明显的差别。由于各国所处环境和文化风俗习惯的不同,作训服一般会结合各国地形地貌和文化差异进行设计,款式和颜色各有不同。毕竟自己穿的衣服还是自己更熟悉,加之在战时也肯定会针对敌方军服进行一些培训,所以真到了战场上迷彩服并不难分辨。

(美军的迷彩样式会针对不同地形和环境,使用不同的迷彩作训服)

有些国家地处高原或沙漠,因此作训服会偏向沙漠伪装,如果是热带或者内陆国家,迷彩就会偏向当地的地形颜色,多采用绿色和灰色。另一方面,不同国家的人种外貌和肤色差异也很明显,因此也可以从这两点进行判断。如果是一些人种相近的国家,因肤色差异不大,那就要从文化习惯和风俗习惯来判断,这方面也比较容易。比如二战时曾有德军穿着美军军服,混入美军控制区搞破坏,而美军在盘查可疑人员时就会询问一些诸如“最喜欢的橄榄球队是哪一支?”的问题。德国人对美国社会不了解,自然很难回答这些问题,这样也可以用来区分敌我。

(阿登战役中德军化妆成美军被美军识破)

不过,迷彩服主要的作用还是为了迷惑敌人,达到保护自己的目的,而并非用来识别敌我。况且现在已经进入信息化作战,大规模野战和阵地战已经不太容易发生,反倒是游击战和城市巷战更加多发,因此遭遇敌方战斗人员穿着平民或己方服装的几率也越来越高。在这种情况下,各国军方都会为己方人员配备敌我识别器,用于分辨敌我。同时还会设置口令和特别装束来进行识别。比如每天用不同的口令识别敌我,或者过在服装上施行特殊标记或者佩戴特别饰物来进行区别。这些措施都曾被用于实战,不仅久经考验,也简单有效。比如,在别斯兰人质事件中,不少学生家长曾是阿富汗战争的老兵,在他们拿起武器同恐怖分子对峙时,就通过在胳膊上系上布条来区分敌我。

(别斯兰人质事件中学生家长左臂缠上白色布条来区别敌我)

在现代战争中,敌人肯定不会穿着己方军服和你打照面,而且现代战斗的距离已经被拉开的很远,大规模近战的机会越来越小。在一些游击战、特种作战和巷战中,敌我识别依旧是一向危险而困难的工作,目前比较有效的方法还是那些在战火中总结下来的原始方法,相信随着新技术的应用,敌我识别这个问题也会借助科技手段,变得更快更准确。但是话说回来,迷彩服更多的还是为了隐匿自己的踪迹、保护自己,并非用于识别敌我。

(迷彩服更多的还是隐匿自己的踪迹)

如何看待区块链?

你好,这里是BIMBOX。

今天的内容来自于我们知识店铺里的专栏《精读10本好书中的20项新科技》。

最近两年区块链的热度越来越高,也有越来越多的宣传,各种行业都要「+区块链」,连咱们的BIM也有很高的呼声。

很多人可能听到区块链这个名词觉得很炫酷,又或者与骗子挂钩,但其实并不了解它到底是个什么东西,只知道好像和比特币有关系,大概是个去中心化的东西,但再往深处聊,比特币和区块链有啥区别?为什么能做到去中心化?就说不出所以然了。

很多文章讲区块链,喜欢略过技术细节,用一些浅显的例子打比方,来说明去中心化和分布式记账是怎么回事,这么讲的好处是谁都能听懂,但也有个坏处,那就是听了的人只能大概了解区块链的优点,然后就「比方套着比方」,直接把区块链技术给套用到其他技术上去了。这也是为什么很多场合区块链被过度宣扬,似乎成了无所不能的神器。

如果连基础原理都搞不清楚就去谈未来,就好像在谈论怎么能用电冰箱解决移民火星的问题一样。

所以,我们打算跳过所有的比喻,用硬核的方法给你讲清楚区块链的工作原理、底层逻辑到底是什么,帮你去掉心里的区块链崇拜或者抵触,知道它能做什么、不能做什么,有哪些缺陷。同时也会思考区块链的未来,它到底会对各个行业的发展产生什么样的影响。

1 比特币:从支付说起

说区块链之前,咱们得先聊比特币。

可能你觉得,我不想炒比特币,那玩意我不感兴趣,就想听听区块链在其他行业是怎样应用的。但是,如果你想把区块链搞清楚,那比特币是绕不过去的,一切区块链设计想法都来自比特币。

比特币是一种电子支付的方式,我们用的手机支付也是电子支付,但比特币和手机支付不一样。手机支付背后肯定有一家机构,或者是腾讯、阿里,或者是某家银行。

而比特币的设计初衷是希望在支付中摆脱中央银行的管制。比如说支付和收款双方匿名,交易不能伪造,所有这些功能都由程序自动保障。既然没有某个机构维护,就必须通过算法的设计了。

任何一项技术都不可能脱离其他技术单独存在,比特币也是一样,它就是建立在一套完整的现代加密算法上的。

比特币中的密码学理解起来并不难,可是一层层套起来解决问题的思路却闪耀着理性的光辉,咱们一个个来说。

2 SHA256:我的信息怎样不被篡改?

作为一种虚拟货币,比特币首先要解决的就是怎样把一条信息加密,让别人无法修改。这里用到的就是第一个技术:SHA256加密。

SHA256的全称是「安全哈希算法」,它是Hash(哈希)函数的一种。

哈希函数的特点是,不论原始数据有多少位,经过运算后,得到的结果长度都是固定的。比特币中用到的是SHA256,就代表运算结果是一个256位的2进制数字。

最终这个256位的字符串能用在加密上,需要满足两个条件:

➤ 不论原始信息多长多短,都能且只能计算出唯一结果;

➤ 算法必须是单向的,不能通过结果,反算出原始信息来。

这两个目标要达成,就要用到数学里的一种特殊运算方法,就是模运算。

模运算不难理解,就是先规定一个模数,凡是超过这个模数的结果,就回到起点重新计算。

比如钟表上面的表盘只有12个数字,它的模数就是12。假如我要把某个数字在表盘上加密,比如加密方式是「把原始数字加上5」,那假设我的原始数字是9,那么9+5等于多少呢?在这个模数为12的运算里,结果不是14,因为已经超过模数了,结果应该是9+5-12=2。

如果反过来运算,单凭结果2,你是无法反推出初始的数字9的,因为你不知道在这个模运算里,数字绕着表盘转了几圈。原始的数字既可能是9,也可能是21,或者任意一个9加12整数倍的数字。

而SHA256函数的运算结果,是一个模为2的256次方的值,所以这个值一定是可以写成256位的。

把一个信息转换为一个特定数字,最早是为了验证两个文件是否一致。比如你在一些论坛下载软件的时候,经常会随着软件附带一个校验码,有时候是SHA256,有时候是MD5,它就是把整个软件的全部数据,经过算法生成这么一串字符,你下载好软件,在本地也可以使用校验工具把它算出一个结果,和论坛上的字符串做对比,如果一致,就代表这个软件没有被篡改过。

一行文字哪怕只是标点上有些微小变化,对应的SH256值也会产生很大变化。

你可以百度搜索一下SHA256,第一个结果就是在线SHA加密,输入一个句子,然后稍微改动一点点,看结果是不是有天壤之别。

这个函数非常重要,会贯穿我们讲述整个区块链的过程中。

首先,它就是用来解决支付信息加密的问题。

比如我要付给开开200块钱,就在网络上写下一条信息:「老孙需要支付200元给开开」,这就是支付信息。但这条信息是有风险的,万一有人把200改成800,那我可就要哭了。

而刚刚的SHA256算法,就避免了信息被篡改的问题。这条支付信息的哈希值是确定的,(哈希值就是SHA256算出来的数值)。在发出信息的同时给出计算出来的哈希值,和刚才说在论坛上下载软件的例子一样,之后任何的改动都会被发现,只要被改动就视为无效。

但只保证了支付信息没有被改动过还不够。因为如果有人就是心理阴暗,发出很多条「老孙需要支付200元给开开」,然后录入支付系统,那我也要亏死了。

所以,光是加密信息还不行,还需要数字签名。它的作用是用来保证「老孙需要支付200元给开开」是老孙本人亲手发出的,而不是其他人发出的。

3 非对称钥匙:怎样确保信息源?

我们现实生活里使用手写签名,是因为笔迹很难造假。但电子信息中,谁都可以敲出「老孙同意」这几个字,怎么用电子签名来确认一条支付信息是我本人确认的呢?

这就得靠「非对称钥匙」了。

任何信息都可以通过计算变成一段数字,比如我要给熊仔发一串数字「666」,我要加密这段数字之后发给熊仔,我俩可以事先约定一种加密方式,比如给每个数字都+3,熊仔那里收到的结果是999,按我们之前约定过的,每个数字都减去3,就得到了结果666。在这个过程中,数字「3」就叫做钥匙,又因为加密和解密都用的是它,所以叫「对称钥匙」。

在开放的互联网上,对称钥匙有着致命的缺点,因为钥匙至少需要单独传递一次,无论是打电话、还是发邮件,我得事先和熊仔约定钥匙是「3」。而传递钥匙这条信息本身是没有加密的。如果这个钥匙被人知道了,那谁都可以给熊仔发任何信息,熊仔也不知道哪条是我本人发的。

这时候「非对称钥匙」就要登场了。你可以这样理解它:加密和解密用的不是同一把钥匙,我选则其中一把加密的话,另一把钥匙就可以解密。

两把钥匙,我把其中的一把保留在自己手里谁也不告诉,叫做「私钥」,另一把钥匙则是公开给大家,谁都可以看见,叫做「公钥」。公钥和私钥是通过一种不可逆的数学计算关联成对的。是的,不可逆的运算还是基于刚才说的模运算。

数字签名的问题就是这么解决的。当我发出一条交易信息时,我先用自己的私钥给信息加密,再把加密后的内容连同公钥一起发布出去。别人如果用公钥解开了,就说明当初这条信息是用这把公钥对应的私钥加的密,那就是我本人了。

这两个知识点你理解了,我们就可以还原一次比特币交易的过程了。

比如我要给开开发200比特币,我的比特币客户端软件会做这么几件事:

➤ 把「老孙给开开200比特币」当作原始信息,对它做一次SHA-256运算,得到一个原始哈希值;

➤ 用私钥给原始哈希值加密,得到加密的哈希值

➤ 把原始信息、公钥、加密的哈希值,这三个内容同时发布到全网去,给别人验证。哈希值用来保证信息没有被篡改,加密和解密保证信息出自我本人。

到此为止,我们解决了信息源可靠且不可更改的难题,其实这两个问题现在任何一家银行都能解决,并不是区块链的特权。可是别忘了,区块链可是要「去中心化」呢!那如果没有了银行这个中心机构,会面临什么麻烦呢?

4 去中心:谁来帮我记录余额?

没有中心机构,首先的问题就是每个人的账户余额由谁来记录。比如,老孙支付开开200元钱,可是老孙账户里的余额够吗?

这个疑问在传统银行系统里不是问题,因为银行可以查看任何人的账户余额。在银行的系统里,你是相信银行不会篡改你的账本的。

但在比特币系统中,余额有多少,不能自己说了算,自己说了也没人信。而且,任何一个参与者和其他参与者有同样高的权限,当然也没有一个「说了算」的人来统一监管每个人的余额,所以还是只能通过程序和算法的设计。

这一步的程序解决方法是——每笔交易都必须以上一次交易作为基础。

比如「老孙支付200元给开开」,这笔交易可以进行的前提是,之前有人付给老孙过钱。

假设之前熊仔已经给过老孙200块钱了。那么老孙给开开付钱时,发送的标准信息是这样的:「熊仔支付200元给老孙,老孙支付200元给开开」,再加上老孙的数字签名和公钥,一块发出去。

你看,到这儿是不是有点「链条」的意思了?不过,我们的旅程还没有结束,光是把信息发出去还不够,我们还得把它记录下来。这就要涉及到区块链的本质了。

5 分布式记录:区块链登场

当我把一笔交易的信息发布到全网之后,就会有其他比特币参与者帮我验证。这些人就是挖矿的「矿工」。

为啥叫挖矿?我们一会再说,先说说旷工们的验证工作。

➤ 首先把我发的原始信息(老孙给开开200比特币)做SHA256的运算,得到一个原始信息的哈希值。

➤ 用我提供的公钥,把加密的哈希值解密,得到一个新的哈希值。

➤ 把两个哈希值做对比,如果一致,就代表这条信息确实来自我本人,且没有被篡改过。

这个过程和前面讲的发送这条信息过程正好是反过来的。

如果以上验证通过,就进行下一步的记录操作。当然,这些工作都是比特币软件自动完成的。

那么矿工是不是把这条记录存在自己的电脑里,就万事大吉了?还不行。

我们说比特币的特点是分布式记账,那就得保证所有交易记录在每一台电脑上都必须存着一模一样的副本。但要实现这一点还真的很难。

没有任何一个中央机构来24小时不间断的记账,所有记账的人都是分布在全球各地的,他们有的在交易发生的下一秒参与了验证,有的当时不在线,隔一天才收到需要验证的记录,有的可能几个月都没开电脑。那么交易记录的同步就成了问题。

这时候,区块链终于登场了。

咱们先说「区块」,再说「链」。

在区块链中,每一个区块里都包含着上千条交易记录。矿工收到一个区块,检查通过之后,他的保存方式是把新的区块添加到自己电脑里的链条最末尾,同时也会把这个新区块发给其他矿工,他们也会做同样的工作。

前面讲了,每一条交易都必须是基于以前的交易,所以矿工的保存不单单是一个储存的动作,还有一个「加链」的动作,这个动作还是通过计算来解决。

通过一定的算法,新区块的生成要得到一个字符串,它由以下三部分组成:

➤ 新区块的基本信息,比如版本号、区块产生的时间(也叫时间戳)

➤ 这个新区块本身包含的上千条交易记录,累积用SHA256算出一个哈希值,叫做Merkle根

➤ 前一个区块用SHA256计算的哈希值

区块链之所以被叫做链,最关键的就是第三部分:前一个区块的SHA256函数值,它就是区块与区块间首尾衔接的「链」。

以上的每个部分,都使用SHA256计算得到唯一的字符串,最终合到一起,再计算出一个总的哈希值,也就是当前区块的哈希值,作为下一个区块引用的字符串。

这样,全网所有的电脑并不是分散着记录一笔一笔的交易,而是把所有的历史交易全部串成一个链条,所有人储存的都是历史上的全部交易的总和,只不过它们是用SHA256函数计算出来的。我们前面讲这个函数时候说过,它不能通过结果反算出原始信息来。所以也不必担心具体的交易信息被泄露。

问题结束了吗?还没有。别忘了,任何一个网络中,都有贪婪的坏人。

6 挖矿:对付坏人的大数计算

因为没有中央机构,就没法保证全网在同一时刻只存在一条链,区块链在记录的过程中有可能会「分叉」,有时是因为操作失误,但更多时候是来自恶意。

举个例子:老孙从别人那收到了200个比特币,把它支付给了开开,紧跟着又操作一遍,把这200个比特币支付给了熊仔。这样200就能当400花了。

注意,这两条信息都是真实的,也都按照规则,基于前边一个交易,也就是「老孙收入了200比特币」作为上一个区块。

结果,全球各地安装了比特币软件的人,因为网速的原因,有人会先收到第一笔支付信息,有人会先收到第二笔支付信息,哪个才是有效的?如果这两条交易都被记录下来,那可就乱套了。

你可能会想:不对吧,老孙把钱支付给了开开,那他的余额应该是0了,不能再支付给熊仔了呀?如果你这么想,就还是没离开传统的记账方式,别忘了,在比特币世界里,没有中央机构负责记录每个人的账户余额。

区块链网络的解决办法是:限制单位时间里产生新区块的数量,比如十几分钟之内只允许产生一个新区块。可是既然没有中央机构来监督,这个限制动作本身又是怎样完成呢?

答案是:让全网的计算机同时算一道难题,所有计算机的算力加起来,平均十几分钟才能算完这道题。

这么难的题怎么出呢?

刚才我们说,生成一个区块要算出一个字符串来,这个字符还不能作为最终结果加到整个链条上,而是要再加一步操作:由软件生成一个随机数,和刚刚的字符串一起组成一个新的字符串,接下来,要把这个组合成的字符串再用SHA256算一次,会得到一个新的256位数。

运算的结果必须是前72位全部都是0,才算正确答案,也只有前72位全都是0的结果,才能作为这个区块的哈希值,被下一个区块引用。

如果算一次结果不正确,那就再给个随机数,再计算,直到算出来为止。

所以,我们要在前面的图上加点东西,下面这张图才是一个区块的完整版:

那么,既然软件给的是一个随机数,哪能那么巧,算出来前72位全都是0呢?没错,这就是关键。

区块链网络设置这道题,就是要让算出来这个结果的概率很低,低到什么程度呢?每一位结果可能是0或者1。第一位是0的概率是1/2,第二位还是0的概率是1/4,第三位还是0的概率是1/8……这样延续下去,整个网络里大概平均要进行2的72次方次运算,才会有一台机器,幸运地算出了正确答案。

按照目前全网的算力估算,得到一个正确答案的时间,差不多就是10分钟。区块链就是通过这种方法来控制新区块出现的频率。

如果以后的计算机算力越来越强,算出答案的平均时间越来越小怎么办?很简单,只要修改一下规则,把72位全是0改成73位、74位,每增加一位,难度就翻一翻。

这个运算量很大,而且它的目的只是为了「拖延时间」,其实是一个没有意义的运算。那大家凭什么愿意拿出电脑来算这个数,帮别人记账呢?

比特币的规则规定,最先算出来的人,奖励一定数量的比特币,这也就是为什么参与比特币的人叫矿工了,他们挖的矿,就是系统奖励的比特币。

当然,这个奖励不是一成不变的,否则钱越来越多,就会通货膨胀。一开始是奖励50比特币,往后每推进21万个块,奖励就会减半,这样一直减下去,总数加起来大概就是2100万个比特币封顶,这也就是为什么比特币越来越值钱的原因。

其他矿工看到有人挖到了矿,只能干着急,因为软件是一个个生成随机数,算出正确答案,就更新到自己链的末尾,同时发布给全网。谁先给出来符合要求的结果,谁就说了算,谁就能得到奖励。

而刚才的问题也就有了答案:老孙在1秒钟内给开开和熊仔先后转账,最终哪一笔算数,不在于老孙操作的顺序,而在于这两笔交易中哪一笔被幸运的人先算出正确的答案来,另外一笔由于失效会被作废。

7 长链优先:拒绝造假

看完上面的讲述,你会不会觉得比特币网络完全安全了?并不是。

坏人不止一种,还有人可以在不犯规的前提下,伪造比特币,其实也就是伪造记录。

比如熊仔比老孙还要利欲熏心,在当前区块链的基础上,自己给自己付一大笔钱,然后提交到全网,怎么办呢?

注意,这里面他并没有违背前面说的原则,他伪造的基础是基于上一个正确的区块,发布的信息也是经过正确加密的,只要他的电脑算力够好,算出了前72位都是0的正确数值,这条交易就会被记录并且发布出去。

这样的问题怎么解决呢?这就得说到区块链的另一条规则:全网只认最长的那一条链。

熊仔可以凭运气做出一个区块,相当于做了一条分叉,但是在这条分叉上的下一个区块还得他一个人做,下下个区块还得他自己做。而在另一条没有造假的链条上,是全网所有人在做区块,一台电脑的算力无论如何是比不上全网的,很快他的链条长度就被甩在后面,无人问津了。

实际上,因为全网的客户端都是自动选择最长的链条去做区块,更大的可能是熊仔的电脑还没来得及算出来72个0的结果,全网中正确的链条就已经往前推进十几个区块了,熊仔做出来的假区块根本就不会被人家搭理。

看了这些你可能会想,动用了这么多的技术,把计算搞这么麻烦,到底是为什么呢?其实这背后全都是为了去中心化所付出的代价。那为啥一定要去中心化?这就不是技术问题,而是理念问题了。

比特币和区块链是由一群极客发明的,他们的原始愿望,就是打造一个人人平等的、没有任何机构管控的互联网世界。至于区块链后来被其他人、甚至其他机构用起来,那就是另外一个故事了,我们放到下一期再给你细说。

8总结、福利和预告

今天我们从比特币出发,给你在微观的层面上讲解了区块链的技术原理,其实它的本质,就是利用一系列的加密算法,代替中央机构的作用,而这些算法本身并不是很难理解。

你可以看到它为什么能在根本上实现去中心化、不可篡改,同时也能看到它为了实现去中心化的目的,也带来了处理效率低、浪费算力等弊端。

但是,我们的话题还远远没有讲完,区块链发展到今天已经很多年了,它后来又经历了哪些变革?它可能被黑客攻击吗?所有区块链都是一样的吗?什么是公链、私链和联盟链?除了做电子支付,区块链在其他行业里还能做什么?又有哪些宣传言过其实了?

这些内容,我们放在下一期宏观内容里给你讲。

有态度,有深度,BIMBOX,咱们下次见!

关于【接触式生物识别技术是什么】和【NFC是什么功能】的介绍到此就结束了,热烈欢迎大家留言讨论,我们会积极回复。感谢您的收藏与支持!

相关推荐

发表评论