跨境商贸中签订的合同,怎样才能确保对方能严格遵守和及时执行?
酒店宣称刚打捞上来的三文鱼,怎么追踪捕捞和运输过程中的时间和卫生?
现代数字世界里,怎么证明你是谁?怎么证明某个资产属于你?
这些问题,利用区块链技术就能提供答案,是否觉得很神秘?
1.定义
什么是区块链?
在一些定义中,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持 持续增长的、不可篡改的数据记录。
我们可以从狭义和广义两个层面来看待:
狭义上说,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历 史进行校验,适合分布式记账场景下防篡改和可扩展性的需求。
广义上说,区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。
2.三个基本概念
交易(Transaction):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;
区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识;
链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
如果把区块链系统作为一个状态机,则每次交易意味着一次状态改变;生成的区块,就是参与者对其中交易导致状态改变结果的共识。
区块链的目标是实现一个分布的数据记录账本,这个账本只允许添加、不允许删除。
网络中节点可以提议添加一个新的区块,但必须经过共识机制来对区块达成确认。
3.工作过程
通过比特币网络为例子,来说明工作过程:
首先,用户通过比特币客户端发起一项交易,消息广播到比特币网络中等待确认。网络中的节点会将收到的等待确认的交易请求打包在一起,会生成一个唯一的值,组成一个区块结构。然后,试图找到一个随机串放到区块里,使得区块结构的结果满足一定条件(比如小于某个值)。这个计算 随机串的过程,就是大家熟知的“挖矿”;
其次, 一旦节点找到了满足条件的 随机串,这个区块在格式上就“合法”了,成为候选区块。节点将其在网络中广播出去。其它节点收到候选区块后进行验证,发现确实合法,就承认这个区块是一个新的合法区块,并添加到自己维护的本地区块链结构上。当大部分节点都接受了该区块后,意味着区块被网络接受,区块中所包括的交易也就得到确认。
4.总结
区块链比较关键的步骤有两个:
一是:完成对一批交易的共识, 创建合法区块结构;
二是:新的区块添加到链结构上,被网络认可,确保未来无法被篡改。
当然,在实现上还是相当复杂,有很多额外的细节。
领取专属 10元无门槛券
私享最新 技术干货