1、区块链是一个数字签名声明的日志,它用确定性的状态机以商定的顺序处理事件,达成共识。
当你登录到普通的数据库应用程序的服务器,以某种方式修改数据库,服务器会检查你的密码,验证身份,但是数据库修改后,没人能证明是服务器验证了你的身份,还是只是管理员登录并更改了状态数据。
此外,也不能保证未更改事件的顺序。因此我们采用数字签名声明,用户的所有操作,而不只是提交给数据库,在浏览器签名,然后提交给服务器,不需要密码验证。一旦我们有了商定的顺序,如果你通过一个确定性的状态机器处理事件,你会得出确定性的结果。
这是每个人的共识,并且每个人都信任的。
2、区块链定义了财产权,谁拥有什么成为共识
今天,没人备份,只有银行才有备份,而且他们能做修改。但是,当每个人都有备份,数据就不可更改,因为其他每个人都能检查他的记录,知道他的版本有没有不同。用区块链,每个人的签名都可以核实。因为我们能看到代码,能运行代码,可根据确定的规则核实所有权益的转移,我们能得出同样的结果。
好比把区块链看做广播电台,世界上所有人都在收听广播电台,每个人也都把播放的内容录下来,任何时候,任何人都可以打电话给电台,说,“喂,我的名字是某某,我想给某某转移一些东西”,电台详细记录事件的顺序,每个人听到事件的顺序,每个人明确知道谁拥有什么,大家对事件发生的顺序没有分歧,因为广告按照序列做广播,这样会达成共识。
3、区块链是一个交易日志
每个交易是你想要在社区里做的大量的请求,比如从一个人转移给另一个人,社交媒体投票,转移房地产的权益或者选举投票,这些都可能在一个交易里。
每个区块包含上个区块的哈希值,这意味着,经过一段时间后,如果修改过去的任何事件,也必须修改其后所有的区块,这在经济上几乎是不可能的,因为需要与所有的区块生产者串谋。
区块生产者,电台或者接到请求的人,给区块中的交易排序,排序后,进行数字签名,产生区块编号,如果改变区块的任何事件,区块编号就会完全不同。
所有的交易做数字签名,意味着每个人都可以核实签名,区块中的所有交易通过状态机确定,“喂,你的账户透支了吗”,如果这种情况发生,就不能写入区块。
每个人根据规则检验区块,如果交易不符合规则,就会被拒绝,就像没有发生过一样。这就是区块链的基本原理。
4、区块链是数据库和应用的逻辑
数字货币是应用,区块链是数据库和应用的逻辑。开发区块链或者基于区块链的应用需要很多不同的技能。
如果你要开发区块链,你必须要高性能,因为这个广播电台必须处理所有事件,必须很快算出结果。
网络技能也需要,用户的每一个交易都要通过点对点网络广播出去,低延迟,所以你需要点对点网络、异步通信、多线程通信等,计算机科学技能。
区块链还是什么呢?欢迎留言与我交流。
网友评论