謝詩涵 王夢然
20世紀(jì)60年代至70年代,條形碼的聯(lián)合發(fā)明人諾曼·伍德蘭德發(fā)明了一維碼(條形碼),變革了全球商業(yè)活動,為消費(fèi)者在超市購物節(jié)省了大量時間。然而在之后幾十年的發(fā)展過程中,由寬度不等的多個黑條和空白組成的一維碼出現(xiàn)數(shù)據(jù)容量小、損壞后無法讀取等多種問題。
為了彌補(bǔ)這些缺陷,1994年,日本電裝公司正式宣布公開首個二維碼(Quick Response Code,QR Code)?!霸诙S碼圖案中,白色的方塊代表0,黑色的方塊代表1。二維碼技術(shù)將一個字符串轉(zhuǎn)換成二進(jìn)制編碼,然后加上定位標(biāo)志信息、定時標(biāo)志信息、校正標(biāo)志信息以及內(nèi)容信息等主要信息,最后經(jīng)過混亂技術(shù)得到最終的編碼。”南京郵電大學(xué)計(jì)算機(jī)學(xué)院教授徐小龍說。
以矩陣形式承載信息的二維碼為何能超越它的“前輩”一維碼?首先,二維碼的信息容量更大?!耙痪S碼只能由數(shù)字和字母組成,數(shù)據(jù)容量小,而二維碼能存儲漢字、數(shù)字、圖片、指紋和聲音等多模態(tài)信息;一維碼只能在一個方向(一般是水平方向)上表達(dá)信息,而二維碼在水平和垂直方向都可以存儲信息?!贝送?,二維碼譯碼更準(zhǔn)確。二維碼的譯碼誤碼率為千萬分之一,這比普通條形碼2%的譯碼誤碼率要低很多。為了防止信息被盜取,二維碼中還可以引入加密措施。
根據(jù)“QR碼國際通用標(biāo)準(zhǔn)”,目前普通二維碼有40個版本,版本越大,尺寸越大。最小的版本1是一個21×21模塊的正方形,版本號每加1,正方形的邊長就增加4個模塊,最大的版本40是一個177×177模塊的正方形。那么,不同密度的二維碼所包含的信息有區(qū)別嗎?“不同密度的二維碼所包含的信息,其編碼的字符、容錯率均不同。密度越低,編碼的字符個數(shù)越少、容錯率越低。”徐小龍解釋。二維碼容錯率即二維碼圖標(biāo)被遮擋多少后,仍可以被掃描出來的能力。目前,典型的二維碼的容錯率分為7%、15%、25%和30%這4個等級,容錯率越高,越容易被快速掃描。
一般來說,二維碼是一個字符串形式的網(wǎng)頁地址(URL),而當(dāng)我們拿起手機(jī)掃描二維碼,就是識別出這個網(wǎng)頁URL并點(diǎn)擊訪問的過程。當(dāng)手機(jī)等終端的軟件掃描二維碼,會給云端服務(wù)器傳送數(shù)據(jù),即發(fā)送一條信息給服務(wù)器;服務(wù)器在收到數(shù)據(jù)后,就會反饋對應(yīng)的信息到手機(jī)等終端上,說明該二維碼鏈接被掃描了,用戶可以進(jìn)行對應(yīng)的操作。這里需要特別當(dāng)心,如果是惡意二維碼,對應(yīng)著惡意的URL鏈接,可能會下載病毒等惡意代碼,從而導(dǎo)致手機(jī)被侵害。
每一個二維碼上都會有3個小方塊,這對于掃碼來說有何作用?實(shí)際上,這3個方塊是二維碼的位置信息,用于二維碼的定位,可以幫助機(jī)器正確地解讀和識別。換句話說,有了這3個小方塊,就可以完整定位一個正方形,從而確定數(shù)據(jù)范圍。不管是正著掃、傾斜掃,甚至是鏡像翻轉(zhuǎn),二維碼都能被正常識別。
有意思的是,人們經(jīng)常掃描二維碼,那么有一天二維碼是否會被用完?答案是:理論上二維碼的數(shù)量是有限的,但現(xiàn)實(shí)中根本用不完。以25×25模塊的二維碼為例,除去定位用的方塊和冗余糾錯的方塊等,還剩下478個方塊。按照二進(jìn)制,每個方塊只有黑或白兩種選擇,所以478個小方塊理論上一共可以組合出2478個二維碼。以目前40個尺寸的二維碼能組合的總數(shù)來看,根據(jù)專家推算,全球70多億人每秒換一個二維碼,用從宇宙大爆炸到今天的138億年的時間,也只能消耗一小部分。東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院副教授宋宇波說:“二維碼包含200多個字節(jié)的信息量,短時期內(nèi)能夠滿足市場需求?!?h3>“碼上經(jīng)濟(jì)”激發(fā)價值裂變
外出購物沒帶錢包,掃碼支付即可以輕松脫“困”;給孩子買的牛奶不知真?zhèn)危瑨叽a溯源,“碼”上安全;疫情期間,手機(jī)屏幕上一個綠色的“健康碼”成為全國人民正常出入公共場所的“身份證”。中國已成為二維碼應(yīng)用最廣泛的國家,中國二維碼應(yīng)用占全球90%以上。
通過二維碼支付構(gòu)成了以小程序、公眾號、支付軟件等工具為核心的“碼上經(jīng)濟(jì)”開放生態(tài),實(shí)現(xiàn)價值鏈向價值網(wǎng)的升級,激發(fā)傳統(tǒng)商業(yè)價值裂變。以微信支付為例,2019年微信生態(tài)帶來的“碼上經(jīng)濟(jì)”規(guī)模達(dá)到8.58萬億元,微信帶動“碼上經(jīng)濟(jì)”就業(yè)崗位2601萬個。微信開放生態(tài)推動二維碼在社會經(jīng)濟(jì)各領(lǐng)域的應(yīng)用,實(shí)現(xiàn)了基于二維碼的社交網(wǎng)絡(luò)到商業(yè)網(wǎng)絡(luò)的價值裂變。
不過,“碼上經(jīng)濟(jì)”繁榮的外表之下仍存在一些安全隱患?!氨热缬泻诳蜁⒁粋€更小的黑白方塊嵌入二維碼,使用者很難識別這種陷阱,一旦按流程輸入信息,就可能受到網(wǎng)絡(luò)安全攻擊?!彼斡畈ㄕf。提高信息含量、提升安全性能是當(dāng)前二維碼發(fā)展的兩個重要方向。技術(shù)界將通過算法優(yōu)化、軟件升級等辦法為二維碼“加密”,提升安全性能。