快讯:
8月16日,据北京市海淀法院官网消息,国内首例因比特币“分叉”所产生的比特币现金争议案近日审结。法院判决乐酷达公司向冯先生注册账户发放比特币现金38.7480个,驳回了冯先生要求赔偿16万余元价格损失的诉讼请求。据悉,冯先生去年在OKCoin币行网上购买比特币,在进行比特币现金提取时发现领取失败,经协调未果后,冯先生将北京乐酷达网络科技有限公司诉至法院。
8月16日,据TheNextWeb消息,加密货币分析公司Invest in Blockchain调查发现,在全球市场份额排名前100的加密货币公司中,有60个实际没有任何公开的工作产品(能够真正运行的产品)。
据etherscan.io数据显示,当前ETH未确认交易数量为79937笔,较昨日同比下降6.09%,市场活跃度有所下降。
8月16日,据北京市海淀法院官网消息,国内首例因比特币“分叉”所产生的比特币现金争议案近日审结。法院判决乐酷达公司向冯先生注册账户发放比特币现金38.7480个,驳回了冯先生要求赔偿16万余元价格损失的诉讼请求。据悉,冯先生去年在OKCoin币行网上购买比特币,在进行比特币现金提取时发现领取失败,经协调未果后,冯先生将北京乐酷达网络科技有限公司诉至法院。
8月16日,据TheNextWeb消息,加密货币分析公司Invest in Blockchain调查发现,在全球市场份额排名前100的加密货币公司中,有60个实际没有任何公开的工作产品(能够真正运行的产品)。
据etherscan.io数据显示,当前ETH未确认交易数量为79937笔,较昨日同比下降6.09%,市场活跃度有所下降。
8月16日,据北京市海淀法院官网消息,国内首例因比特币“分叉”所产生的比特币现金争议案近日审结。法院判决乐酷达公司向冯先生注册账户发放比特币现金38.7480个,驳回了冯先生要求赔偿16万余元价格损失的诉讼请求。据悉,冯先生去年在OKCoin币行网上购买比特币,在进行比特币现金提取时发现领取失败,经协调未果后,冯先生将北京乐酷达网络科技有限公司诉至法院。
8月16日,据TheNextWeb消息,加密货币分析公司Invest in Blockchain调查发现,在全球市场份额排名前100的加密货币公司中,有60个实际没有任何公开的工作产品(能够真正运行的产品)。
据etherscan.io数据显示,当前ETH未确认交易数量为79937笔,较昨日同比下降6.09%,市场活跃度有所下降。

图解比原链Tensority算法:如何让POW做到人工智能友好

比原链 2018-05-24 11:01 5451

共识算法说起

区块链系统首先是分布式系统,而一致性是分布式系统的基础问题,要保证系统满足不同程度的一致性,则就要用到共识算法。

现在主流的算法有POW、POS、DPOS等等,比特币采用的POW共识算法运行9年之久,已被证明稳定可靠,然而因为巨大的硬件和能源消耗而饱受诟病,特别是专用矿机,在被淘汰之后就变成了废铁。

POS和DPOS为了避免资源的浪费,直接采取抛弃计算的方式,通过持有证明和选举来进行共识,牺牲了一定准入性和去中心化。而比原链从另一个角度来切入和解决POW资源浪费的问题。

比原链共识算法Tensority设计思路

首先我们基于以下思路来设计共识算法:

  • 计算是一种权力,不能因为能源消耗而抛弃计算的方式,为了维持系统的稳定能源消耗是必要的,而且POW已经被证明稳定可靠,同时准入门槛低。(CPU、GPU、ASIC矿机皆可进入,同时也不需要持币或者选举)
  • 矿机功能单一是原罪,只能进行哈希运算造成矿机的极大浪费,如果能够将矿机功能多样化将更有利于发展。
  • 人工智能技术的迅猛发展,AI智能加速市场需求量增大。
为此我们设计了AI友好型的共识算法Tensority。矩阵乘运算与卷积运算是人工智能常用的两种算法,相比后者,前者的应用范围更广。

为了使得比原链共识算法对人工智能友好,同时兼容所有主流的AI加速设备,比原链在算法选型上采用了矩阵乘运算。算法确定之后需要选取参与运算的数据类型,选取的标准有二:

第一,选取的数据类型需目前所有主流AI加速设备都能支持。

第二,神经网络推理的主力数据类型均要支持。

综合来看,int8数据类型满足条件。

比特币POW共识算法回顾

在说到比原链的POW共识算法Tensority之前,我们回顾一下比特币的POW共识算法:

图片1

我们知道比特币的POW共识算法是通过不停的迭代计算区块头的哈希值,不断修改参数,直到哈希值匹配的过程。

比原链POW共识算法总览

那么让我们看一下比原链的共识算法总体过程:

图片2

整个Tensority算法过程中,区块头的哈希的选取和难度值的比较仍然作为头尾衔接的步骤,但是中间穿插了很多涉及到矩阵的运算过程,而这些运算在AI计算中比较常见,所以支持比原挖矿的矿机就有能力提高AI加速服务。

下面我们来进一步细化每个过程:

种子生成

我们在总览图中可以看到Tensority有两个输入,一个是和比特币相同的哈希头,另外一个就是种子seed,那么种子是怎么来的? 我们可以看到论文中对于种子的描述:种子是一个由一段时间内的区块历史决定的32位的字节数组。种子来自于每256块的第一个块的区块头,一般来说每256个块会更换一次seed,在256块以内都会使用相同的seed。

 

Cache Calculation

这个步骤主要使用种子通过一定的变换获得一个矩阵。我们首先通过一定次数的哈希将种子进行扩展,以满足Scrypt的输入要求,然后使用Scrypt函数生成一个32x1024x128的矩阵。值得注意的是,我们使用的Scrypt算法就是使用在莱特币中的算法。

图片3

 

Matrix Construction

该步骤会将上一步产生的矩阵变成一个更为规整的矩阵从而适合后续的处理,具体过程将会比较复杂,请参考论文。

图片4

 

 

 

Martix Operation

该步骤比较复杂,也是最有意思的步骤。采集的区块头哈希分割为四份,每份做一次哈希生成一个新的哈希值,新的哈希值的每一个比特作为Matrix Construction生成矩阵切片的索引值,从而切片获得一个矩形。经过上述步骤后将获得128个矩形,对这些矩形进行矩阵相乘最后得到一个矩阵。

算法图更换

 

Work Generation

这个步骤是输入上一步生成的矩形变成一个32位的哈希值,从而进行最后的难度比较。首先将256x256的矩形变形位256x64的矩形,然后通过FNV函数转换为一个32位哈希值。

 

图片5

 

我们将得到的哈希值和难度值做比较,看是否满足条件,这一轮的共识算法就结束了。

结语:

1、比原链的Tensority共识算法比比特币的算法复杂很多,对于单次的计算过程肯定需要耗费更多的资源,但是可以通过难度值来调整计算的难度。

2、Tensority共识算法的特色在于算法过程中穿插了很多的矩阵生成,矩阵变换,矩阵乘法等运算,而这些能力在AI加速中也会频繁使用。

3、基于上一条,如果想要做比原矿机,那么这些矿机就必须得有能力支持矩阵运算,这些矿机就可以用来做AI的加速服务,从而提高了矿机的资源利用率。

评论
登录 账号发表你的看法,还没有账号?立即免费 注册