温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
大家好,这里是深蓝说区块。今天我们要讲解的是区块链的核心数据结构之一,交易。我们前面说到,区块链是一个分布式账本系统。那么这个账本要写入数据的话,是通过什么来完成的呢?就是通过交易,其实这个交易的定义和数据库里面用到的transaction,它其实的定义是差不多的,主要就是要实现数据的一个写入。但是和传统的数据库里面的交易不同的地方是,我们的区块链中的交易主要是要包含三个要素。第一要素是要有这个交易的发起人。这个交易的发起人,他可能是一个ID,也可能是一个地址,或者是一个公钥。但不管怎么说,他是唯一的标识出了我们这个交易是由谁来发起的。当然第二个重要的要素就是行为,我们这个交易到底是做了什么?
01:02
如果是在比特币里面这种,呃,加密货币,那么它可能主要就是做的是一个转账的行为,那比如说如果是以太坊这种以智能合约为基础的区块链,那可能我们的行为就是一个什么合约创建,或者是合约调用。那如果说我们是一个纯正用的数据库,那我们的行为可能是在上面发起了一个纯正。就不管怎么说,我们发起这笔交易到底是想干什么,这就是他的一个行为。然后第三点非常重要的,与其他的传统的数据库最不同的地方是我们每一笔交易。里面都包含了发起人的一个签名。如果我们的交易没有包含签名的话,那么是没办法通过PC网络进行一个传播的,那么更没办法进行打包的一个操作。接下来我们以比特币中的转账为例,来看一看在比特币网络中,一个转账交易是怎么样一个结构。
02:03
我们以A有两个比特币,现在要转一个比特币给用户。B为例,可以看到在整个交易结构中,除了版本、输入个数、输出个数、锁定时间这些以外,最主要的其实信息就放在输入信息和输出里面。它的输入有一个,这里面主要就是找到发起人A的地址。好,这就是我们的发起人。那第二个他的行为是什么行为是进行了一个转账,转账具体怎么转的,他是付给了一个比特币给了用户币,然后同时又找零的0.9999个比特币给用户A,因为比特币中它的最小单位是冲,所以说我们这里面其实这是一个比特币,这是0.9999个比特币。好,这就是他的一个行为,就是进行一个转账,而且进行找您。
03:02
那么它的最后第三个要素签名,签名其实主要是放在解锁脚本的内容里面,就通过这个签名,我们就能够验证整个这个转账行为,也就是这个转账交易,它是一个合法的,然后才会被最终的被广播,然后被打包的整个区块链网络中。
我来说两句