返回首页
当前位置: 首页 > 关于我们

区块链小程序开发

时间:2018-09-25 20:23:58来源:本站 作者: 点击:
  

  这里的要点有两个:(1)分布式,(2)非安全环境。首先,这是一个分布式的,去中心化的系统。所以,有一个中心服务器或者节点的,不是区块链。节点都是安全的,无恶意的,那这不是区块链。同理,从应用的角度讲,如果你的应用必须要使用中心节点(例如要用超级计算机做深度学习)或者没必要考虑节点不安全的情况(例如某个安全的工厂里的传感器),那么并不需要考虑区块链技术。

  这个部分的两个核心要点是:(1)函数,(2)非对称加密。密码学哈希,主要用于验证信息完整性--在一个信息后面放上这个信息的哈希值,这个值很小。例如256bit,而且计算方便。收到信息之后收信人再算一遍哈希值,对比两者就知道这条信息是否被篡改过了。如果被篡改过,哪怕只有一bit,整个哈希值也会截然不同。而根据哈希的性质,没有人能够伪造出另一个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验。

  非对称加密:这很好理解--对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是什么,然后同一把钥匙解密成原来的消息。非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是什么。

  区块链(英语:Blockchain或Block chain)是一种分布式数据库,大家可能都有所耳闻的比特币,核心技术用的就是它。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性和生成下一个区块。用通俗的概念讲,区块链就是一本人人可记的账。在一个公司或机构里,多数人只有看账的份儿,而只有少数受过专业训练的人,才有权提笔记账。当然,区块链并非传统意义上的账本,它在技术原理上有以下三个关键点:第一,去中心化。一个践行区块链技术的网络中,其所涵盖的每台计算机均可读取、添加记录,从账本这个角度讲,他们就是共同记账的人,而没有权威人士从中指导、修正。第二,非对称加密。别看这本账人人可记,可若非局内人,一定读不懂。因为,在记账过程中,每个人都遵从统一的加密规则,但读取时,却必须使用自己独有的解密方式。因此,虽然每个人都保存着这本不断更新的账,但能读懂的部分,却仅限于自己能解密的那一块,也就是与自己相关的那一部分。第三,时间印记。也就是时间戳(英语:Timestamp),是指字符串或编码信息用于辨识记录下来的时间日期。区块链上的每一个区块,是按照其所生成的时间按先后顺序排列的,并经过集体认证,确认成立。而且,之前的记录是无法被修改的。就像在一本账里,我们可以通过一个时间点之后的记录,索引、验证之前的内容。而这些内容一旦被确认,再行篡改就难上加难。

  区块链技术是维护一个不断增长的数据记录的分布式数据库,这些数据通过密码学的技术和之前被写入的所有数据关联,使得第三方甚至是节点的拥有者难以篡改。区块(block)包含有数据库中实际需要保存的数据,这些数据通过区块组织起来被写入数据库。链(chain)通常指的是利用Merkle tree等方式来校验当前所有区块是否被修改,这一点用过Git的码农们早就熟悉了,回想一下如何修改Git的历史记录吧。返回,查看更多

来顶一下
近回首页
返回首页
------分隔线----------------------------
发表评论 共有条评论
栏目最新
热点内容
相关内容
    无相关信息