00:00
好,我们接下来就来详细的过一遍以太坊白皮书,那这个详细要详细到什么程度,我觉得咱们就是就就至少是就是挨着看一遍吧,把至少把它每一段说的什么内容来来一起来过一遍,首先我们看啊,就是以太坊白皮书。那标题下一代智能合约和去中心化应用平台就给大家强调过好几次,里边的关键字,智能合约和去中心化应用。而且是一个平台,就是说以太坊是整个的一个平台,是为开发者提供的一个平台,但他所想创建的并不是一套现金系统,像比特币那样,并不是说我就是一个数字货币,而是说想要变成一个世界计算机,就是大家都可以在上面去发布自己的合约和集中化应用,这是以太坊的一个愿景,也是他的一个一开始创立的一个初衷,所以呃,这是这个从名字上大家对他有一个直观的印象,然后下面这一部分呢,大家可以看到,这就是相当于我们的摘要或者说前沿一样的东西了,对吧,看一下就是它这个主要在回顾中本村的这个比特比特币了,他说的是说比特币中本聪引入比特币的时候。
01:21
它像就是给世界带来的这种新的概念,新的理念主要是什么呢?主要是两个,一个是就是比特币,这是一个去中心化的点对点的货币,呃,他说就是这是一个没有任何资产担保内在价值或者中心发行者的情况下维系着价值,那这个大家学过比特币之后,可能已经对这个是就是很有体会了。大家可以就是想象到当时比特币刚出来的时候,很多人其实是就是完全不可理解的,就这个东西,它不就是一串数嘛,它不就是电脑里面存着的一串数吗?它怎么会有价值呢?你说你在那儿浪费了电,它就有价值吗?这这完全是不可理喻的一个东西,呃,但是它确实就是存在的。
02:11
而且这个比特币本身的比特币car这个核心开发团队,他其实也并不是一个公司一样的,一个一个一个身份,对吧,也不是以一个公司的身份在维护的产品,然后发售产品,那其实整个的这个维护,比特币网络的维护,是所有参与进来的人,所有的矿工在一起维护着的,这其实没有一个中心化的管理机构,但是它稳定运行这么多年。在这个整个的网比特币网络里边,所有人其实都是想着自己利益最大化的,都是在可以说是争权夺利的,但是整个它运行的非常健康,就非常非常的,就是没有没有出现各种各样大家能够想到的现实当中出现的问题,一个公司他可能大家争权夺利,那就整个就废了,但是比特币它没有,所以整个比特币就是对出现之后,对于大家的冲击力确实是很大的,但以太坊其实他也就是想。
03:13
继承比特币这方面的这些特点,然后去做更多的尝试和改革,呃,另外一个就是微神在这个白P数里边写到,就是除了本身的这个点对点数字货币之外呢,另外一个就是它的。Pow提出的pow,那pow其实并不是呃,中本聪最先提出的,但是用pow这样的一个算法来做区块链系统,这样的一个分布式存储系统的共识机制,这是中本村的,可以说是它的一个发明,它的一个很很可以说是很伟大的地方,他这个理念就让大家会发现,诶我们在在此之前大家会认为,呃,我不知道,之前左老师好像给大家讲过,就是关于分布式的一些理论是吧,一些基础的理论,分布式系统的一些基础理论,在之前其实大家会认为分布式去解决一致性应该要去怎么解决呢?那其实应该就是要用强一致性的这种解决方案,就是所谓的conscious对吧,Raft这样的算法去做很复杂的这种通信和校验,然后保证我们的强一致性。
04:26
之前大家的观点其实都是这样的,但是在这样的系统里面,在我们传统的这种这种分布式架构里边,它其实是不能,就是对于拜占庭容错的这个问题,他解决的并不好,就是大家在这种方式下会发现,会发现事实上我们还是需要有一个统一的调度,或者说统一的管理的,假如说我们系统里边很多人都是不诚实的话,那这种状况其实就不好,不好办了,就很难去处理,处理掉我们大家的共识问题了,那怎么样去处理这种情况下的共识呢?
05:02
那在之前有一种方式,就是所谓的呃,PBFT,就是这种算法,是大家在研究的一个方向,就是真正从理论上要解决拜占庭问题。当然了,大家如果了解过一些的话,就会发现它的这个效率或者说难度其实是很高的,它的实现其实很复杂,之后大家会学习这个,在我们完成以太坊之后,大家会学到hyper账本,Hyper之前其实一直就是它的共识机制,它的共识算法是PPFT,但是现在也已经改了啊,就也已经改成那个,就是类似于呃拍的一个一个实现了。所以。就是大家可以看到,就是之前主流的学术界其实是走这条路,但是中本聪提出了一个。大家之前没有想到的一种方式,大家说pow到底是一个什么东西呢?它其实好像并不是一个固定的算法,对吧?对,他确实很神奇这个东西,他他就是说,呃,大家就是在在不停的用耗费算力去算一道数学难题,然后先生成的话,先生成这个交易就广播出来,然后大家就去确认,那你怎么样能保证,呃,就是这个交易确定是有效的,别人生成的之后就不会被确认呢?然后他要求我们有一定的这种出块的时间,有一定的难度,对吧,十分钟才能出一个块,然后有六个块之后,啊,有六个确认之后就代表。
06:39
这个就是我们目前的主链,那至于大家到底去怎么样去选择主链呢?那是用的这个最长的原则,就哪一条链最长,我们我们就就认为它的工作量最大,我们就认为这是我们承认的主链,而这就是中本聪这个解决的这个这个方法就是。这个在我们想象当中,就感觉这个东西好像它。
07:03
就是好像它并不是一个我们认为的一套算法能够把这个事情解决的,但是它确实很巧妙的解决了,而且就是到目前为止,大家可以看到它是一个非常可靠的解决办法,十年了,到目前为止,呃,比特币没有出过什么问题,非常稳定的运行。而且就是大家所所就是之前一直在讨论的去中心化分布式的这种数字货币,它的这个确认交易先后顺序怎么样去确认,呃确认主链怎么样去防止,这个分叉怎么样去防止,就是别人出现双花的攻击,这些问题比特币处理的其实都非趁好,至少到目前为止都没有出现大的问题。那所以呃,对于微来讲,以太坊来讲呢,他所考虑的问题一开始,但是现在他会考虑就是是不是要换这个,呃,所谓的公式机制,对吧,迁移到POS上来,但是一开始的话,它其实。
08:04
认为这个问题中本通已经解解决的很好了,我们就用pow就好,那他所主要考虑的就是说我们应该怎么样去解决比特币不仅仅是一个数字货币,我们怎么样能把它用到数字货币以外的世界去?这是李开方想要解决的问题,当然了,下面这一段就是他也提到了,除了比特币之外,别的一些数字货币,他们做了哪些事情,对吧?那就比如说他提到这个彩色币,那就是他其实就是说用链上的数数字资产来代表货币,或者是一些金融上的工具,这个其实大家很容易想到,其实就是说。你既然是数字货币嘛,那其实跟金融是天天然就是相关的一个东西,那我是不是金融上的一些衍生品,就比如说,呃,我的一个比方说我的黄金是不是这是我的一个资产,我是不是就可以把它数字化,就作为一个数字资资产放到这个区块链网络里面去呢?那我有一台电脑,这是我的固定资产,是不是可以就是作为我的一个数字化的资产放到区块链上去呢?这就是大家一开始就考虑到的一些问题,就包括现在其实很多金融机构就包括。
09:22
我们知道的这个所谓国家队,国家的很多这个机构啊,他们要做的也是在做这件事情。特别是像银行啊,金融部门啊,他们所谓的区块链创新,现在其实还是宣传的很多,而且也是他们努力的一个方向,呃,如果大家之后去就是希望去找区块链相关的工作的话,我我认为啊,就是可能在现在供链方向,因为这种资金的撤退,这种寒冬的状态,可能工作机会比半年前或者一年前就是反而是少了很多,但是在如果大家愿意去像国企啊,或者说这个,呃,银行啊,金融机构,大银行机构下属子公司这样的,愿意去这样的一些机构的话,可能机会还是比较多的,呃,因为之前就是就包括在我来这里给大家讲课之前,就也周围有好几个朋友,他们就是说这个相当于是国资背景的一些。
10:24
所谓的呃创新公司,但事实上他们就是还是跟国企是关系很很大的啊,然后他们就会发现,就是跟自己的母公司那边就要求要把这个呃拥抱区块链,要要拥抱这个新时代的技术,然后就要把自己的金融产品要去证券化,比如说就是呃现在很多那个所谓的这个去就是所谓的这个供应链金融不是有就是要求解决中小企业融资难问题嘛,就是说大家都贷不到钱,那怎么办呢?诶这个区块链不是能解决信任问题吗?那你就诶我们之前你要去贷款的时候,那银行得评估你这个东西,评估你那个东西,对吧,你现在把这些东西都数字化,都放到区块链上去,这不就好评估了吗?
11:11
另外还有一些企业,它考虑的是什么问题呢?它考虑的是我可以把这个大企业的信用数字化。这就是另外的一个解决,解决数就是信用的问题,就比如说银行他不信任中小企业,因为他觉得我贷出去钱收不回来嘛,那他信任谁呢?他信任国企。对吧,就信任央企,他信任这些就是有国家背书的这些资金充足的企业,所以说那这些企业往往是他其实是不愁钱花的,那银行还要不停的还要贷给他钱,那他其实是更愿意把自己的这个额度分享出来,就是如果他有自己的,比方说像呃中石油,中海油对吧,他们可能有自己的供应商,有些中小企业是要给他们去。
12:01
去提供一些提供一些产品的,那这些时候这些中小企业有可能就资金链就不够,那这个时候其实是很愿意想要去从他那里就是拿到订单之后就能贷出钱来的。就比如说中海油,呃,中海油我不知道他可能需要什么样原材料啊,就比如说如果要是中铁建,它需要去采购一些钢材,对吧,采购一些这些就是水泥啊,或者其其他的一些基础设施的这些原材料,他跟一个企业去采购钢材,那有可能他就直接是先订了一个订单,不给人家款,对吧,那这个时候小企业就很。就很难受啊,我没有这个资金的话,我周转不起来,所以这个时候小企业想要去跟银行借钱,但是银行不借,经常就会有这种情况,那有些。所谓的区块链创新公司,他就是要考虑这个问题,他就是想,那你既然呃中铁建已经跟这个公司你签了合约嘛,你到时候是要真正的拿到产品,你要给人家钱的,那是不是就可以把这个也数字化之后,当成一个数字资产。
13:11
那所以你拿着这个的话,银行就说好你有这个,那我相信你,我就可以给你带钱,所以就是大家其实就会发现在这种领域其实是很多,可以就是考虑把它做应用,做创新的点啊,当然公链这边的话,大家可能更多的考虑的是做DAPP对吧,做游戏啊,做一些,呃,比方说这个赌博啊,拍卖平台啊,所以可能是另外一个方向,所以看大家就是对什么感兴趣啊。呃,那当然就是说大家可以看到,就是在以太坊出现之前,其实已经有很多这样的。这样的就是实现想要实现这些应用的功能的数字货币了,包括彩色币,包括域名币,域名币就是把域名当成一个数字资产啊,这样的一个做法,还有就是很多所谓的去中心化交易所啊,那就是把大家所有的这些资产,你不要有这种我直接在上面给你做撮合,对吧,你这边的币和这边的币可以去去放在一起来用,那所有的这些东西呢,其实就就是都是一个具体的把区块链从比特币的这种数字货币领域扩展到对应的数字资产领域的一种方式。
14:25
呃,也包括就是现在有很多企业在做这个溯源,对吧,产品溯源它其实也类似于有点像是做数字资产,把一个把一个产品,把一个就是像实物啊,或者是其他的一些东西作为一个数字资产,让它记录到区块链上,然后记录它的状态变化,都比较类似于这种应用,那以太坊呢,他其实没有想。去做这种就是直观的某一个方向的应用这些东西,他想的是智能合约这个领域。所以大家可以看到,就是它的一开始的构想就没有想到是说啊,我要基于比特币,或者说我要把它扩展到另外的某一个很窄的方向上去,他一开始设计的就是很大很底层的一个东西,他要做的是第二代的,下一代的。
15:16
就是这样的一个区块链平台,所以它的智能合约是一开始是怎么定义呢?他其实说的就是是根据事先制定的规则来自动转移数字资产的系统。那其实就是微神一开始对这个的定义呢,其实大家大家如果这么看的话,这个定义啊,就是根据。制定的规则来自动转移,转移数字资产,这个你放在比特币里边,这不就是脚本嘛,对吧?对,其实没有什么,没有什么特殊的地方,所以说呃,关于智能合约的这个设计,一开始就是脚本的一个扩展。这个其实并不稀奇,那威神他比较重要的是他把这一套东西是真正的想明白,怎么样去做出来,想明白,那看他这里给的这个例子啊,就是一个人有可能有一个合约,A每天最多提现X个,BB每天最多Y,然后A和B可以。
16:15
一起的话就可以任意的提取,也就是说这相当于他们共同管理的一个账户,对吧?这是一个就相当于多重签名的一个地址,在比特币里边,而A可以停掉B的提现权啊,大家会发现这个好像就有点复杂了,在比特币的脚本里面,好像大家学过比特币脚本,觉得这个东西能实现吗?应该好像也有实现的渠道对吧,感觉他还不是特别特别复杂,但是就是明显如果用比特币脚本的话,就不是那么容易,这还其实已经是比较简单的一个一个需求。啊,当然就是说以太坊的要求,就是说我其实想要的是任意的规则都可以,那显然就不仅仅是这么简单的一个脚本了。
17:02
呃,所以他想要的这个东西是什么呢?是一个去中心化自治组织,那大家知道这个DOS其实后来也就真正的在以太坊上搭建出来了,那当然了,后来就是道,因为受到了那个攻击的事件,所以就是受到了很大的影响,那到现在呢,可能道德的影响力没那么大了,但是这其实就是符合以太坊一开始的这种创建的规则,它其实就是要去扩展出一个去中心化的自治组织来,在这个组织里边呢,就是所有的资产我们都可以在里边定义好。然后大家都在这个组织里边,让大家资产之间的定义和转移,都是靠大家定义好的这些智能合约来来规范。那其实大家看到它其实定义的就是一个小社会。对吧,我们的社会里面,大家定义的是啊,用钱去支付,然后就可以买到各种各样的东西,当然我们也可以定义说我我拿一个一个这个,呃,一个一个小蜜蜂这样的一个扩音器,去换你的一个什么东西,换你的一个水杯,对吧?大家也可以以物换物,这其实规则都是可以自己定的,所以以太坊想象的这个去中心化自制组织,就是大家可以去自己定义规则,然后我们共同构成一个组织,大家在里边自己定义规则,自己去玩。
18:26
这就比较有点像一个就是社会的一个自治,社会的一个组织形式了,呃,那大家可以看到,就是最初给定的以太坊的目标是什么呢?是提供一个带有内置的成熟的图灵完备语言的区块链啊,这就是我们后来所说的solidliity对吧?呃,就是它的底层是用构写的,然后如果要去写智能合约的话,我们用扫利,它是图灵完备的一个语言。呃,大家在先学过go之后学solidity会发现它的语法跟go有很多接近的地方,那其实就是因为最初以太坊的实现版本是go,所以小丽里在在这个语言再去创建的时候,呃,加文伍德他也是借鉴了go啊,包括C,包括Java javascript,借鉴了他们的很多的语法,好,所以呃,这就是以太坊的一个目标啊,最初的这个目标,那大家可以看一下他目录的话,一开始就是在讲这个历史对吧,那历史这一部分,呃,我们快速的过一下吧,但是我觉得也还是需要去过。
19:32
这个就是大家,即使当时大家对比特币的学习都已经学得很好了,学的非常的完善了,我觉得也可以看一下这一部分,因为这是相当于微神,他对于一个以太坊,站在以太坊的角度,他是怎么理解比特币的,理解他的这个先驱者,他的上一代产品的,我们可以看一下他怎么说这个比特币啊,呃,首先这个就是就是当然这个历史,这就是更遥远的历史了,对吧,就是说这个本身去中心化数字货币概念,这个很早就已经提出来了,80年代,90年代匿名电子现金系统,呃,当时他的这个技术是叫乔木盲牵技术啊,就是这个当时的一个数字货币的一个实现,它是具有这个高度隐私性的。
20:18
呃,就是它能解决我们这个匿名性的问题,但是呢,它没有解决分布式区中心化的问题,它是依赖这个中化机构,所以之后很重要的一个时间节点就是1998年的戴伟,就是戴伟的毕马。呃,我们后来就是说这个为什么以太坊的基本单位叫鬼,对吧,就是这个华裔大神戴维,他提的be money第一次是通过计算难题和就是构成我们去中心化网络里面的共识,然后去创造货币,所以说这个其实就已经是pow的一个雏形了。但是呢,他没有给出具体的算法,没有给出具体的解决方案,只是提出了一个概念和一个理念思想,呃,所以就是比特币其实是中本聪本身是借鉴了很多代理的思想的。
21:14
朱本聪牛就牛在他真正把这个做出来了。真正把po版W这个东西设计出来,而且实现了,所以呃,当然戴维也也非常的厉害啊,所以在整个这个数字,整个区块链和这个数字货币的领域,呃,戴美这也是毫无疑问的先驱大佬,比特币也是认为戴美这是他的先驱,比玛尼是他的一个先区,那大家就可以看到呢,后来呢,零五年的时候,这个芬尼,芬尼也是以太坊里边货币的一个单位,对吧,他做了一个什么事情呢?它引入了一个可重复使用的工作量证明机制,这就是所谓的pow,就他其实已经提出来了。那他同时使用的就是比玛尼的思想和还有这个就是一个叫做亚当back提出的这个计算困难的哈西现金,就哈cash这两个money尼和哈cash,这其实就是比特币的一个一个一个雏形啊,对思想的一个来源,呃,但是呢,就是他们提出的这些东西还都是一个概念,就还过于理想化,就还还是没有实现的一个东西,那之后呢,那当然就是中本村了,呃,大家可以看到这里他还提提到了一句这个拜占庭容错问题,对吧?拜占庭容错大家在讲比特币的时候有过了解吗?呃,应该了解过对吧?就是我们在这样的一个分布式系统里边,大家怎么样解决有作恶的节点呢?他故意告诉别人说,呃,发起一个错误的交易信息,对吧?然后故意告诉给给别人广播说我收到区块是一个是一个,就是别的一个一个错误的一个,伪造的一个区块。
22:56
这种情况怎么样去解决呢?一个这样的人,那还好说我们少数服从多数就好,那假如说有很多人在做这样的事情。
23:06
有很对,大家可能知道1/3这样的,对吧,这样的级别怎么样去处理这样的拜占庭容错的,所以这是整个区块链系统,或者说去中心化货币系统里边所要解决的一个难题那。呃,这个到我们这个比特币产生的时候,大家可以看一下它这里的这个描述啊,这里的描述就是说比特币以前所有的电子货币协议遇到的障碍,就是这个拜占庭容错啊,就是他只解决了问题的一半,就是他们假设所有的参与者都是已知的。然后呢,就是说如果有N方参与到系统当中,那么可以容忍四分之N的恶意参与,参与参与者啊,或者我们知道那个PPFT的话,应该是三分之N对吧?对,所以就是大家会看到它都是有一个这样形式的安全边界的。
24:01
就是你只能保证说在小于多少个人的时候啊,我能保证这个还是稳定的一个状态,所以就是说,那那大家又可以看到,假如说。在在这样的一个假设情况下,我们的系统还要保障匿名性。那这个就很难说了,这个安全边界你怎么样去保证呢?那我可以申请无数个匿名的账号,然后去告诉你说我这个账号都确认了,诶我们现在就是这这个状况,我就是有100万个比特币对吧?那那大家是不是要确认我这样的一个状态。就是大家可以用这种方式去就所谓的女巫攻击,对吧,是可以去去做这样的一个一个广播,去让更多的人接收到自己的这种这种重复广播的,那大家可以想到,如果说用创造这个僵尸节点的这个方式,或者说僵尸账号的这个方式去广播自己的信息,然后单方面保证自己占大多数,这种方式怎么样去避免呢?
25:05
在之前的这种模式下,确实大家好像没有更好的方式,你最多就是IP嘛,对吧,你就算是封了IP,那你也不能。保证我就是我我不能换IP对吧,我我还可以就是多搭设几个这种这种虚拟的网络,我我把这个IP多占有几个IP,我就可以去做这样的事情,这样的事情怎么样去避免的,那中本聪其实就是说他把这个基于非常节简单的基于节点的。共识去中心化,共识和pow结合在一起,所以就是说中本聪是真正意义上用pow去做这个区块链系统共识机制的一个人。他他就是说用工作量证明这样一个机制,你才能参与到节点里面来,然后你才你才能参与到我们系统里面来,你才能就是把交易打包进框,才能够有记账的权利,所以大家用这种方式,耗费算力去解决数学难题的,这样的一个一个方式去竞争记账权,然后一点一点增长出,就是创建出增长的区块链,一个一个块接在后面。
26:19
那所以就是拥有大量算力的节点,它就会有更大的影响力,就它更容易算出块,但是这个也不一定就是每个块都是它的,对吧?那那这个当然就会带来另外一个问题,就是说有更多算力的人,那就有优势了,所以说比特币系统里面,它是有51%算力攻击的这个风险,呃,但是他为什么能够稳稳定的去去执行呢?那就是因为。大家看这一句啊,就是你获得比整个网络更多的算力,比创建100万个节点困难得多,就是因为我我或许可以很容易的去刷这种僵尸节点,我随便拿一个很简陋的电脑,然后连上网,我分配一个IP,他就可以当成一个僵尸节点去去做做这种申请和攻击,但是算力这个东西你没法取巧,它就是硬件,它就是电费啊,对吧,所以说这个东西你真的没法去想,你要真的是就是你有给大家都多的算力,那证明你确实有钱啊,那有钱任性,那这个世界确实也是没有办法,就是确实你真要拥有那么多资源的话,那可能你你说了算,那也是没有办法的一件事情,但这个世界上其实越来越扁平化,其实不是,但都可以看到,其实就不是说你一家独大能够完成这些事情的,你很难能够做到把比剩下的人所有的人。
27:47
加起来这么多的资源都掌握在自己手里,这个太难做到了啊,所以大家就会看到,尽管它非常简陋,但是真的好用,QW这个就是稳定的,这个执行了十年啊,就这么简单的一个协议,就解决了这么难的一个问题,所以真的是非常非常天才的一个设计。
28:07
接下来我们看一下这个作为状态转换系统的比特币,这个微神是怎么理解的啊?大家就会看到啊,就是微神理解比特币的。账本,它的这个区块链其实就是一个状态转换系统。所以他其实认为我们说以太坊是一个状态转换系统,对吧,一个状态机,他认为比特币也是一个状态机,那他是什么样的呢?它的状态是什么呢?它的状态就包括现在的现存的比特币的所有权的状态。就是所有的比特币,现存的比特币它是什么样的状态,属于谁?那其实大家学过比特币知道这其实就是UTXO吗?对吧?UTXO它它属于谁?这就是当前比特币系统的状态,另外还有一个状态转换函数。怎么样,什么情况下比特币的状态可以转换呢?就是这个uto的状态,它的所有权可以转换呢?那就是要发起交易对吧?所以状状态转换函数,它就是以当前状态作为一个输入,这是之前的状态state state,然后。
29:16
还有一个是交易作为它的另外一个输入,就是在交易的触发下输出一个新的状态。从一个state转换到一个state上,那中间的媒介和触发就是交易,他这里还举了一个详细的例子啊,就是在标准银行账户系统里边,状态其实就是资产负债表,就是说啊,你现在的这个收支对吧?你现在的这个账户余额到底是一个,呃,什么样?这个资产负债表其实就是应该是咱们所说的balance啊,这个我没有没有查这个英文的原版应该就是balance表对吧,负债表,那呃,转账的这个请求呢,转账X美元其实就是一笔交易,所以银行的做法,它的转状态转换函数非常简单,就是从A账户里边减X,然后B账户里边加X,如果要是A账户余额不够X的话,那就返回提示错误,那所以在这里边还给了这个数学定义啊,定义这样一个状态转换函数,它从一个S状态到另外一个S撇状态的时候,会给定义一个transaction,给定义一个交易。
30:24
或者呢,它会抛出一个error,那银行的这个系统呢,它就是爱ice丝有50包B有50的时候,然后呢,给一个交易是什么呢?给一个20,从从爱丽丝到Bob,那么转换完了之后,就变成了爱丽丝变30 Bob变70,对,这是大家非常熟悉的这种中心化的银行转换系统,但如果说你要直接转70的话,那50块钱不够直接报。这就是。中心化世界,我们现实当中大家熟悉的事件里面,就是状态转换是怎么做的这样一个事情。
31:00
但是比特币里面不一样,比特币里边它的状态是什么呢?是UTXO,呃,这个概念就不用再去说了,这就是微神又强调了一下比特币里边的这种实现,对吧?那UTXO,但是它有一个面值,然后和一个所有者,那每一个UTXO,其实不是我们一就是大家一一开始可能很多这个没有接,没有学过技术的人,他一开始认为比特币是什么呢?那那就是应该是有一个有一个数,或者说有一个这个数据结构,它就代表一个比特币对吧,然后我有一个签名,这就代表这个比特币是我的,但事实上比特币系统里边没有所谓的一个比特币,它只有一个UTXO,然后上面有个面值,对吧,这就相当于我们的纸币一样,但是我们的纸币是有一块钱的,但事实上我们的纸币都是一张一张的。然后上面可以是一块钱,可以是五块钱,十块钱对吧,所以这也是类似于我们现实系统当中的一种实现,当然us因为是数字的嘛,所以就更加的方便,它不仅可以是一五十这样的整数,你1.5 1.25对吧,0.35都是可以的啊,那当然这里就是大家熟悉的这个比特币上的交易了,一笔交易一个或多个输入,一个或多个输出。
32:19
那输入呢,就必须是现有的utfo的引用,然后还要需要有这个它所有者的那个私钥的签名,对吧,如果要是没有签名的话,那肯定是一个非法的一个输入就就不能转嘛,别人没有授权给你转,那每个输出呢,就是一个新的新的uto。那包含一个新的加入到状态中的UT,所以比特币里面的状态就是UTXO的一个集合。那大家看这个微神,当然这个在比特币里面见过这样的这个数学表达吗?没有见过是吧?所以微神还是把它做了一个提炼的,对吧?那他说这个状态转换函数怎么定义呢?那就是每个输入如果引用的UTSO不存在现在的这个状态S里边返回错误提示,假如说你给到的这个UTXO就是transaction里边的UT。
33:17
不在这个当前的S里边错误,另外就是说校验签名如果跟所有者签名不一致,错误,这是一个校验的,校验的这个对输入的校验,另外还有一个就是如果uto输入所有输入的面值总和小于输出总和的话,错误,这是比特币的规定对吧,但是如果大于的话,就当手续费了,那么返回新的状态S撇新状态的S,呃,这是这个他写的是,其实我觉得应该是P对吧,其实就是说P,它会移除之前所有的输入的UTSO,然后增加所有输出的U2色,其实要更新一下状态啊,这就是他状态转换的一个机制,大家都已经敲过代码的话,应该对这个是很熟了,呃,所以他还详细的说了一下,就是第一步,那就是防止你做这个就是交易的时候,你花这个不存在的比特币,然后呢,你还得。
34:17
防止你花不是自己的比特币,对吧,其他人没有给签名,你花了,然后第二步呢,就是保证你不要凭空多出来比特币,不能不能因因为这个一笔交易就多出来比特币,所以说确保价值守恒,那下面这个。我们这个就不用再详细说了,对吧,这个就很很容易了。呃,接下来他又详细的说了一下挖矿那比特币里边的挖矿,那肯定是先要说这个区块的结构了,有一个时间戳,有一个NUS,然后有一个之前块的副,副块的一个哈希,副区块的哈希,那下面是它整个的一组这个transaction,大家很熟悉的区块的结构。
35:00
在这个过程当中,就可以看到一个区块引用着它上一个这个副区块,那么时间随着时间流逝就可以构成一条区块链,呃,我们所说的这个区块链啊,那每一个区块其实就代表一个当前的状态,对吧?一个时间节点的状态可以认为是某一个时间节点区块链系统状态的一个快照。那整个这个过程当中,就是在不停的状态转移的一个过程,那挖矿的这个过程其实也就是他完成状态转移的过程,对吧?好,那么大家可以看一下就是啊,这个当然其实我们其实不需要就说这么详细是吧,大家觉得这一部分我们需要再详细过一下吗?讲比特币,这个讲的还很多呢。大家觉得还应该再再过一遍是吗?直接讲以太坊啊行,那那我们这边就大概的就是把这边就是大家都都再过的看一遍,就下面又说了默克尔树,也就是我平常我们所说的梅克尔树,对吧?啊,他会把这个哈希凉凉的做一个计算,所以就不可更改,就是比特币里边引入的一个非常关键的数据结构,那下边这个就又介绍了一下啊,那这个可以说一下对吧,就是这个他会介绍一下这个域名币和这个彩色币,还有圆币,那域名币这个东西它主要是做了一个什么什么事情呢。
36:28
它其实主要就是说你可以去做这个域名注册,把域名作为一个数字资产,然后记录在这个区块,区块链系统里面。呃,那大家可以看到就是说,呃,在这个传统的这个中心化协议里边,那你就是得确认这个账户了,对吧,就是你确认自己。是不是拥有这个账户的所有权,然后去跟别人去做交互,那呃,他所用的这个现用现有的这种解决方案呢,用的是身份标志,是像这样的一个尾随机的哈希。
37:03
作为自己的一个身份标志。那所以就是说呃,啊,他说这个问题是说,如果有人可以创建这样一个账户的话,那么其他人也可以创建这样的一个账户。所以说这个东西其实就是就是没有什么,就是没呃没有这种真正的唯一性的保证,对吧,所以说你就只能是说有一个先申请的原则了,就是first file,就是谁先申请算谁的嘛,这个有点像我们广播交易挖挖块一样,谁先挖出来算谁的,只有第一个注册者可以成功注册,第二个不能再次注册同一个账户,那所以这一点就是域名币所做的事情,就是我们之前那大家都得。注册域名的话,可能都得有一个中心化系统去查验,对吧,你这个到底有没有注册过,那他就在想,那你这个东西呢,就可以用我们pow这套这套系统。我就是保证你现在就是先申请出来的东西已经进块,那这就有一个状态了,这就有点像就是我们先挖出一个块儿一样的状态,对吧,那别人如果再广播这样的块的话,我就认为它是不合法的,所以这是域民币的这样的一个一个东西啊,就是他可以说是利用区块链实现名称注册最早最成功的系统。
38:23
它是确实是最早能想到这样一个应用的一个场景啊。另外还有一个就是彩色币,彩色币它是说就是就是你们在它其实就是基于比特币的。他给人提供了一个功能是什么呢?就是说你可以在区块链的呃,比特比特币这个区块链基础上创建自己的币,然后这个B,那大家创建出来的应该是不一样啊,对吧。所以说就是在本身比特币的基础上,你可以去给他的utxo染颜色。所以它叫彩色笔。
39:02
你只要指定了一个颜色,那这个就相当于是产产生了一种新的货币,你染成红色,它红色币,这就是一个你自己的新的货币,黄色,那它就是黄色币,所以它的协议递归的将其他的UTXO定义成与交易输出UTXO相同的颜色。所以就是说它是什么呢?就相当于在比特币的这个基础上。搭建了一个可以发行子货币的系统,有点像我们在以太坊上构建一个合约,然后发自己的子货币,对吧,但是它的实现就就会更加的就是底层一点,就是只能依赖,就是相当于就是在比特币基础上做了一个改进,做了一个改善。而且它的功能也只能发行子货币,这是彩色币,彩色币之前其实还是很有名的一个,一个就是早期的一个区块链数字货币。另外就还有一个是这个原币,就是说原币的话,它就是在比特币的基础上可以有新的协议了,就是说你的状态状态转移,我的这个交易可以利用比特币的交易来保存,但是它可以有不同的状状态转换函数,也就是说我这里可以多加一些别的判断条件。
40:22
然后来定义我自己的交易怎么样是合法的,怎么样是可以生效的,所以大家可以看到就是呃,它的这个原币协议有一个问题呢,就是它不能阻止比特币区块链上无效的原币交易,所以增加了一个呃,如果这个返回错误的话,这个默认协议它就会把这个自己的状态制回为原来的状态,相当于有一个回退机制,这是原币的一个,就是一个做法,所以大家可以想到就是以太坊应该也是借鉴了这样的一种想法的,对吧,假如说。你这里这个交易我判断的时候不合法,不能就是这不是一个有效的我的这个一个一个交易,那我就要去回退状态,要回退到之前,但是本身这笔交易在以太坊系统里边是合法的,就我们那笔交易还是发出去了,你的盖该扣还得扣,但是本身我调用合约那个状态就得回退,就大家看到以太港其实就是借鉴了各种各样这之前的所有的这些币的一些一些做法,对吧,包括这个呃,域民币它是有一个具体的应用,彩色币它是可以发行自己的死货币,然后原币呢,它是可以有一个交易回退,就是定义了自己规则之后,那它基于比特币,比特币上面的交易它是没办法回退的,但是它可以回退自己的交易,对吧?这就像以太坊上面,以太坊呃,本身的发送的交易不可回退,但是我可以把我内部的这个合约调用的交易,把它回退成之前的状态。
41:56
啊,所以这是以太坊借鉴的这些这些东西啊。
我来说两句