区块链发展前景究竟怎么样?——三分钟看懂区块链的未来

试试蹭一波区块链的热度,欢迎关注,转载请评论或私信咨询。以下图片均来自百度,侵删。

最近区块链的概念被炒得火的不行,但我们实验室,或者说科研学术界却好像还不温不火,没有外面市场炒得那么火热。但是话又说回来,深度学习的火热也是经历过一段蛰伏期的。为了跟上时代的步伐,科研学习之余笔者也花了些时间了解了一点区块链的知识。

 

浅显地谈一下我个人的理解,区块链大概是一种依赖于底层密码学基础的,建立在信任网络上的完全透明的一种运营规则。区块链是比特币的规则基础,比特币是区块链最先应用的细分领域。

 

 

这里的完全透明,不仅是规则透明,而且每一个结点所属链条的透明。例如说,对于某一笔比特币的某一笔交易(视为链上的一个结点),该比特币可以追溯其上一笔交易,又可以继续追溯到再上一笔……一直可以追根溯源到比特币的产生(可以理解为你手中的100元纸币从发行开始一直到你的手上的每一笔交易都可追溯)。并且,链条的成立反作用于每一笔交易,使得每一笔交易变得“被认可”或者说“被确认”。而正是这种追根溯源透明机制,和信任机制与链条连接的相互作用,使得比特币的交易者对比特币信任与认可,而不依赖于第三方(现实中的货币发行机构或ZF)。

 

比特币产生原理、矿工挖矿原理、交易者隐私保护和交易过程中的极端风险规避等机制也设计得十分巧妙,甚至已经想好了比特币发行过剩与矿工饱和的边界情况。在看文章的过程中,每当自己想举一个反例来指出这种机制的漏洞,继续往下看都会发现我想到的坑被完美地填上了,这也是区块链规则依然存在且被广泛认可的合理性。感兴趣大家也可以尝试去了解一下,这里不做展开。

 

 

区块链是因为比特币火起来的,但是火的原因却不仅仅是其在比特币上的应用。前面说到,区块链是一种规则,这种基于密码学的代码可实现的规则才是最主要的。我个人认为区块链与深度学习一样,它火在它不仅仅是一个计算机学科领域的算法,它可以渗透到其他各个学科领域与社会生活之中。

 

从2012年CNN带动的深度学习火起,基础学科、工程学科、医疗、军事、商业,甚至社会科学等等领域,但凡有新文章、新成果、新模式、新产品,或多或少都会有机器学习甚至深度学习的影子。如果说市场流行吹捧“大数据+”或者“互联网+”,那学术界大概是一波“机器学习+”或者“深度学习+”的风潮(或者说这是老领域研究者最容易产出新文章新成果的方式)。

 

 

区块链也一样,这种规则如果只能用于比特币或者金融领域那也不会这么被炒作了。与机器学习一样,区块链也可以应用于学术、商业和生活。举几个仰望星空但又脚踏实地的例子,如果应用到了医学或者生化领域,我们可以用类似放射性标记的方式,对某一元素或者某一分子或者某一成分进行追根溯源,我们可以知道它的消亡、它的作用部位、它的产生、甚至从最开始作用它的基因,是不是带来很多医学上的突破?如果应用到了交易与物流,比如我们刚买的一部手机,我们不仅可以知道其物流过程,如果有需要的话还可以了解到其每一个零部件的流通过程和产生制造地,产品真伪一目了然,而且不需要依赖于第三方评估验证手段。由于这种透明规则的反作用,在生产销售链上也可以最大化地节约成本。如果买的不是一部手机而是一颗钻石呢?

 

就目前来说,区块链的发展前景我是十分看好的,就从学术科研的角度来说,这种超前的规则和思想也是我们应该学习和借鉴的,我个人认为区块链不仅可以像深度学习一样创造领域突破,而且将会解决很多社会生活问题,例如社会固有的公平公正问题和大数据背景下的个人隐私问题。

 

 

但是,区块链这种颠覆性的规则毕竟会受到行业规则和现有制度的制约,例如刚刚说的交易与物流应用,链条要想普及完一件商品的生产链环节,那得改变多少行业规则?如果想要普及所有商品,那不得来一个“第X次工业革命”才行了。再说,有的经济体制适合区块链的生存发展,有的则得在特别细分的领域中求得生存。

不过,还是要对区块链保持足够的乐观,就好像深度学习一样,风口大了自然奔赴的人就多了,也就容易产生新的成果和突破,毕竟,人类才是改变世界的关键。以往的新的研究成果都是按照军用科研--军用--普通科研--商用--民用的顺序走,但毕竟区块链是个颠覆性的规则,我个人认为,它大概会按照商用--民用--普通科研--军方科研--军用的顺序走。

 

 

还有最后一个问题:对于价值投资者来说,比特币要如何判断其估值高低呢?还是说它根本没法用于价值投资?


#Coding一小时,Copying一秒钟。留个言点个赞呗,谢谢你#

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,@Mapper注解是Mybatis框架中用于标识数据访问层接口的注解,用于告诉Spring容器将该接口类实例化并注入到其他Bean中。其使用步骤如下: 1. 在Spring Boot项目中引入Mybatis和Mybatis-Spring的依赖 2. 在配置文件中配置数据源和Mybatis的相关属性 3. 创建一个数据访问层接口,使用@Mapper注解标识该接口 4. 在该数据访问层接口中定义需要操作的数据库方法 5. 在Service或Controller中注入该数据访问层接口的实例,并调用其中的方法 下面是一个示例: 1. 在pom.xml中添加Mybatis和Mybatis-Spring的依赖: ```xml <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> ``` 2. 在application.properties中配置数据源和Mybatis的相关属性: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 mybatis.type-aliases-package=com.example.demo.entity mybatis.mapper-locations=classpath:mapper/*.xml ``` 3. 创建一个数据访问层接口UserMapper,使用@Mapper注解标识该接口: ```java @Mapper public interface UserMapper { User selectByPrimaryKey(Integer id); int insert(User record); int updateByPrimaryKey(User record); int deleteByPrimaryKey(Integer id); } ``` 4. 在mapper目录下创建UserMapper.xml,定义需要操作的数据库方法: ```xml <mapper namespace="com.example.demo.mapper.UserMapper"> <resultMap id="BaseResultMap" type="com.example.demo.entity.User"> <id column="id" property="id" jdbcType="INTEGER"/> <result column="username" property="username" jdbcType="VARCHAR"/> <result column="password" property="password" jdbcType="VARCHAR"/> </resultMap> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer"> select * from user where id = #{id,jdbcType=INTEGER} </select> <insert id="insert" parameterType="com.example.demo.entity.User" useGeneratedKeys="true" keyProperty="id"> insert into user (username, password) values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}) </insert> <update id="updateByPrimaryKey" parameterType="com.example.demo.entity.User"> update user set username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} </update> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> delete from user where id = #{id,jdbcType=INTEGER} </delete> </mapper> ``` 5. 在Service或Controller中注入UserMapper的实例,并调用其中的方法: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User selectByPrimaryKey(Integer id) { return userMapper.selectByPrimaryKey(id); } @Override public int insert(User user) { return userMapper.insert(user); } @Override public int updateByPrimaryKey(User user) { return userMapper.updateByPrimaryKey(user); } @Override public int deleteByPrimaryKey(Integer id) { return userMapper.deleteByPrimaryKey(id); } } ``` 这就是使用@Mapper注解的基本步骤,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值