区块链是哪个专业?
这个问题的本质其实是,区块链技术属于什么学科范畴 这个问题很有意思,因为这直接导致了在本科阶段,对区块链相关课程归属的争论——因为区块链本质上是一项新技术,那么它应该归于计算机网络(通信)还是计算机科学与技术呢? 理论上说,任何一门学科都可以以自己为框架,对区块链进行归类。比如,可以将区块链定义为一种分布式计算系统,那么在计算机系统结构或者操作系统的基础上,再加上分布式概念即可;如果将区块链定义为一种密码学应用,那么在信息论的基础上,加上密码学的内容即可。 但这样定义的区块链,其实已经和最初的概念相去甚远了。
最早出现的“block chain”一词出现在2009年中本聪的白皮书《比特币:一种点对点式的电子现金系统》之中[1],之后中本聪本人于2011年接受了《经济学人》的采访,首次公开自己的身份并阐述了对于比特币的态度[2]。而直到2013年以后,随着以太坊的诞生以及ICO的大热,“区块链”才开始快速进入到公众视野。在现阶段国内高校开设的区块链相关专业里,大多将区块链定义为一种基于互联网的网络协议(如TCP/IP、UDP等)或者一种互联网上的应用(如电子邮件、在线支付等)。这种定义显然更容易让你联想起计算机学院。 但是如果从技术的本质上看,这样一种定义是有其问题的——因为任何一种能够实现特定功能的算法都必须有其数据基础,而在没有考虑数据的情况下,随意给出一个功能上可能实现的算法,是一种悖论。这样的定义方法实际上是将“互联网”和“分布式计算”这两个概念给狭化了,并不能真正反映区块链作为一种新兴技术的本质特征。 事实上,从数学模型的角度看,区块链可以定义为一组满足特定函数关系的数据,这也就解释了为什么要构建区块链的基础设施来维护这组数据——因为这是利用数学方式,最低成本地实现这一组数据存在的概率最大的方式。从技术的角度讲,区块链应该被赋予数学建模的意义。而这种建立在数学之上的区块链,自然应该属于数学院。
但问题是谁会请一个学数学的去写程序呢?所以到目前为止,我们看到的区块链相关专业仍然是以计算机为背景的。但这并不代表区块链技术就属于计算机科学。就像虽然绝大多数的密码学的研究都以数学为基础,但我们不可能因此就把密码学归到数学院一样。