什么是token?
什么是token?
1.token的概念很广泛,在计算机领域中,无论是基础的网络架构还是服务系统的身份验证等,都有涉及到token的概念,然而在这里我想阐述的是在区块链世界中的token是什么。相信对区块链有些了解的朋友,都或多或少的听过或者看过关于token的描述,过去的两年里,被炒的轰轰烈烈的,通过ICO方式去募集的那些个玩意儿,都是指的一种token,有人翻译为数字代币,有人称之为是通证,不管怎么说,总之就是被不少人认为是一种有价值的东西,不,应该说被认为是一种有价格的东西。
2.回想长时间以来对于区块链的概念阐述,都是基于技术角度的,总认为这样的阐述立场会更客观一些,更朴素一些,对于看官或者读者来说,能够排除其他的主观干扰或者排除一些别有用心的心理暗示。在之前所著的书籍《白话区块链中》,绝大部分的文字也都是阐述技术概念,很少讨论经济学上的意义,或者在社会学、金融领域等的定义。很显然,如果说在技术上定义一下,区块链系统中的token是什么,那不过就是通过一段程序定义的符号或者说一个值。嗯?就这么结束了?呵呵,当然不是,我们可以在软件开发中通过程序定义各种值,难道那些都是能被称为token么?即便是在区块链软件的开发中或者基于某个基础链的智能合约开发中,随便定义一组数字量,难道就是token了?而这些定义程序不过就是寥寥数十行代码,比如我们常用的基于以太坊公链部署的token合约,最简单的程序代码,不过就十几行,我们来看一个例子:
3.如图所示,就是一份最简单的基于以太坊的token合约代码,部署在以太坊上时,初始化一个期初总量,这个总量是可以自己随便定义的,一百、一千、一万、一个亿或者更多都可以。部署后,你就拥有了一个名字叫MyToken的token了,或者叫代币,叫通证都可以。当然,这还只是区块链系统中定义token的其中一种方式,token还可以生成子token,可以有变化,定义方法或者说玩法还是挺多的。
4.说到这,很多朋友可能会有些迷茫,总觉的这个什么token的概念太虚了,真个是如梦幻泡影,如雾亦如电。其实不然,我们来举些例子吧,咱老百姓说话得接点地气。大家在商店买东西的时候,买完一般都会要求收取一张发票,这张发票是商家开具的,证明商品的销售来源和价格的,这张发票就可以算是一种token;古代的时候,有些钱庄银号,为了让客户方便在各地的分号兑换银两,会给客户开具带有兑换效力的银票,这个以银票也是一种token;国家给每位公民都办理了身份证,这个身份证也是一种token;某个村子,全村人都姓王,家家户户的人口信息都会登记到一个册子上,这个册子每隔一段时间就会印发,每户一本,这个册子也是一种token;工厂里工人干活,每个人分配的工时会记录在本子上,到了月底就会汇总,换算成酬劳,这个记在本子上的工时也是一种token。好了,让我们停一下,大家发现没有,这里被称之为是token的东东都有哪些共同点呢?
token跟session区别
1.在Web开发领域,相信大家对于Cookie和Session都很熟悉,Cookie和Session都是会话保持技术的解决方案。随着技术的发展,Token机制出现在我们面前,不过很多开发者对于Token和Cookie、Session的区别及使用场景分辨不清。
2.要知道我们访问网站都是通过HTTP协议或HTTPS协议来完成的,HTTP协议它本身是无状态的协议(即:服务器无法分辨哪些请求是来源于同个客户)。而业务层面会涉及到客户端与服务器端的交互(同网站下多个页面间能共享数据),此时服务器端必须要保持会话状态,这样才能进行用户身份的鉴别。
3.上面说到的Session和Cookie机制来保持会话,会存在一个问题:客户端浏览器只要保存自己的SessionID即可,而服务器却要保存所有用户的Session信息,这对于服务器来说开销较大,而且不利用服务器的扩展(比如服务器集群时,Session如何同步存储就是个问题)!
4.首先要知道HTTP请求是无状态的,也就是不知道这一次的请求和上一次请求是否有关系,比如我们登录一个系统的时候,验证用户名密码之后,打开系统各个页面的时候就不需要再进行登录操作了,直到我们主动退出登录或超时退出登录;这里为了避免访问每个都登录一下,就要用到session、cookie。
本文到此结束,希望对大家有所帮助。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.9iwh.cn/chuxing/202208/44211.html