
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
1 迁移学习的直观理解人类容易在类似的任务上利用先前的经验,比如学过自行车就很容易学会摩托车,学会打羽毛球也能帮助学习打网球,学过小提琴也会对学习二胡有帮助。也就是把一个领域上学习的知识迁移到另一个领域上,目的也是让计算机有举一反三的能力(大概是实现AGI的一个重要的坎),或者是去尝试充分利用已经训练过的某个领域的知识来解决当前的任务(这样可以解决数据少的问题)。在迁移学习中要强调源域(Sourc
每个交易执行完会得到一个收据,记录这个交易的相关信息,以太坊把这些收据也组织在一起形成了一棵收据树。收据树和交易树上的节点是一一对应的,有利于智能合约快速查询交易的结果。
因为一方面A的公钥代表A的身份,B要知道转账的是谁,另一方面是为了验证比特币交易中A的签名(私钥签名公钥验证),也就是说所有结点都需要知道A的公钥才行。这里肖老师举了一个例子,比如央行要发行数字货币,如果直接为货币的面额等信息,用央行的私钥签名,然后使用的时候,用户直接拿央行的公钥验证签名,就这样用是行不通的,因为完全可以用这个数字货币再去买东西了,这叫。最后C将所得的7个货币全部给E。如B的同伙
比特币系统中有两种节点,一种是全节点,一种是轻节点。轻节点假设矿工(全节点)大多是有理智的,即假设矿工们不会沿着不合法的链一直挖下去。比特币网络中大部分节点都是轻节点,如果只是想转账,而不是去挖矿的话,只用轻节点就可以了。当在挖矿过程中发现新发布了一个区块,那么应该停止挖矿,重新从UTXO中取出一系列合法交易组成候选区块,在刚发布的这个区块后面开始挖矿。因为一方面这个区块中的交易可能和刚刚在挖的那
因为修改了某个区块的内容,会导致它前面的区块(相较它新产生的)区块保存的哈希值对不上了,那个哈希值就也要改,然后再往前的就也要改,就像多米诺骨牌一样。例如,在下图中,天蓝色数据结点是待证明存在的交易,这里轻结点只有一个根哈希值是不够的,要向全结点请求下图中标红的三个哈希值,然后就只需在本地为交易的数据结点向上一步步计算和拼接计算哈希值,最终和根哈希值对比,来知晓这个交易是不是真实存在这个Merkl
GHOST协议解决的是state fork的问题,即对当前的区块链的状态出现的临时性的意见分歧,推动尽早地达成最长合法链的一致,也是保障区块链防篡改机制的重要组成。而那些对于区块链运行的协议出现意见导致的分叉,GHOST协议是无能为力的。比如之前学习比特币里有一个CHECKMULTISIG的动作,检查多重签名。这个操作有一个bug就是会多弹出一个元素,所以每次要先压入一个元素。为什么不把这个bug
比特币区块的块头里有指向前一个区块的哈希指针,所谓的哈希指针实际上就是哈希值。那么是怎么串起来的?对于全节点,会维护一个kv数据库,key就是哈希值,value就是区块内容,常用的就是levelDB。哈希指针没有哈希只有指针,或者也可以理解成哈希就是指针。有些节点只保存最近的几千个区块,如果需要前面的区块的内容可以找全节点要。
比特币被称为区块链1.0,以太坊被称为区块链2.0,它在设计的时候针对比特币系统的一些问题进行了改进。比特币是BTC,以太坊是ETC,以太坊的币一般通俗的叫做以太(Ether)或者以太币。比特币的最小单位是1聪(Satoshi,为了纪念中本聪),以太坊中叫一伟。
1 Redis主从架构的分布式锁失效问题1.1 问题描述在Redis主从架构中,写入都是写入主Redis实例,主实例会向从实例同步key。一个业务线程A通过向主Redis实例中写入来实现加分布式锁,加锁后开始执行业务代码。这时如果主Redis实例挂掉了,会选举出一个从Redis实例成为主的,如果刚刚加锁的key还没有来得及同步到从Redis中,那么选举出来的新的主Redis实例中就没有这个key,
这个0越多显然值就越小,也就是挖矿难度越大了。







