如果当初按照AT&T(美国电话电报公司)的想法来规划互联网,那么互联网将不会像今天这样了。作为一个企业,AT&T必然会在基础架构里加入很多功能和控制,并会对边缘节点的接入应用进行限制,那样的互联网就不会像今天这样开放和自由。 一开始是美好的,控制着整个互联网的核心运作的就是TCP/IP协议,它是严格执行这个协议的程序代码。在计算机网络世界里,所有的规则定义是以代码来实现的。 然而发展的路径却并不是由程序员说了算:第一代架构是由非商业组织研究者和黑客建立的,他们关注于如何建立一个网络;第二代架构则是由商业建立的;第三代架构已经是政府的作品。现实社会的法律开始作用于网络空间,代码越来越不是法律,反而法律开始影响网络的架构,开始影响虚拟世界的一行行代码。为了维护网络空间的稳定,网络实名制被提上议程,新发的帖子需要通过关键词审查;为了网络纯洁,图片需要改变外链规则。在网络空间内,代码实现了法律所需要的效果,“法律”化身为代码。 不过,到了区块链时代,它区别于传统互联网,有着自定共识规则和自动实施规则的能力。区块链技术可以通过技术方法落实契约原则,解决信任问题。这是契约的前置,信任的锁定,法律的嵌入,社区的共识。每一笔交易都透明公开,通过共识协议和可编程的智能代码合约形式,可以建立互信、创造信用,制定和执行交易各方认同的商业条款,引入法律规则和监管控制节点,确保价值交换符合契约原则和法律规范,避免无法预知的交易风险。 谁要改变这样的代码就是与整个社区为敌,代码就是法律。 代码实现哈希值的计算 我们知道,比特币使用哈希加密算法来维护信息的安全性,那么代码要如何实现这一过程呢? 以Pythona语言为例,首先,打开终端,输入“Python”并按【Enter】键,然后将进入Python REPLb,在这种环境下,可以直接使用Python命令,而不是在单独的文件中编写程序。最后输入以下数值,在每行之后按【Enter】键,并在标记处输入“TAB”,如下所示: importhashlibdefhash(mystring):[TAB]hash_object=hashlib.md5(mystring.encode())[TAB]print(hash_object.hexdigest())[ENTER]这样就创建了一个函数——Hash( )。该函数将计算出某一特定的使用MD5哈希算法的字符串的哈希值。将字符串插入上述的括号中便可运行该函数。例如: hash(liangzixuepai)按【Enter】键并查看该字符串的哈希随机值: (责任编辑:admin) |