今天在CSDN组织SDCC 2017之区块链技术实战线上峰会上分享了自己在区块链方面的认识和理解。希望可以给大家带来对区块链本质的认识,从宏观上了解区块链的架构,跨链的本质和跨链的架构。以下分享一下相关的PPT内容。作者会在2017年10月刊的CSDN《程序员》杂志刊载相关文章,敬请关注文章《区块链架构、跨链和演进(上、中、下篇)》。
共识(consensus):你看到的就是我看到的,我知道我看到的就是你看到的,各个分布节点使用相同的共识算法,运行相同的业务合约实现,可以得到对建模对象相同的认识,也可以确信其他人的认识跟自己是一致的,共识是保证所有节点分布式账本的规范性和一致性的机制和标准。
状态可验证性(validity):系统中所有当前的状态都是确定的,任何比特币的未花交易,以太坊的账户余额和合约账户状态,超级账本Fabric的合约状态,R3-Corda的状态资产,都可以被各自既定的确定性交易或流程规则所验证。确定性的交易、服务、流程规则对于任何时间在任何验证节点上运行,相同的输入状态可以得到相同的输出状态。那些依赖于时间,随机数的规则都不能作为合约的规则,那些需要依赖于现实世界事件的规则都需要以Oracle服务的方式确定性一致性地提供。确定性验证一般在沙盒中运行以减少外界信息的干扰,
唯一性(uniqueness):任何状态资产的消费仅只能存在一次,即区块链的防“双花”安全性。
不可篡改(immutability):密码学方式组织的区块链确保了已经提交到区块中的交易不可更改,否则会导致全盘修改。比特币、以太坊、超级账本Fabric、EOS都是采用Merkle树+Block哈希指针数据结构串接交易记录和状态记录,以达到交易和状态不可篡改的目的。
基于公私钥的认证(authentication):不同于传统系统的管理员授权权限模式,区块链完全采用基于密码学的公私钥方式通过签名来认证个人身份,所有的资产的消费和验证也都围绕公私钥进行。
区块链治理(governance):一个区块链就是一个包括不同参与主体的价值体系,一方面需要维护整个区块链生态按计划的演进和健康发展,一方面会面临着许多公共决策和纠纷解决,如里程碑代码分叉,bug修复,恶意行为惩罚,运行参数调整,同现实世界一样,需要建立一套治理机制做保障。