二维码

8.3 Sawtooth Lake项目 - 数据结构 - 机器学习

1149 人阅读 | 时间:2021年01月15日 01:19
8.3 Sawtooth Lake项目 - 数据结构 - 机器学习 #daohang ul li t,.reed .riqi,a.shangg,a.xiatt,a.shangg:hover,a.xiatt:hover,a.shang,a.xiat,a.shang:hover,a.xiat:hover,.reed-pinglun-anniu,span.now-page,#daohangs-around,#caidan-tubiao,#daohangs,#daohangs li,#btnPost{background-color:#D10B04;} .dinglanyou1 h3{border-bottom:3px solid #D10B04;} #dibuer{border-top:2px solid #D10B04;}.cebianlan .rongqi h3{border-bottom:1px solid #D10B04;} #edtSearch{border:1px solid #D10B04;} #daohang .zuo ul li{border-right:1px solid #;} #daohang ul li t a{border-top:1px solid #;border-right:1px solid #D10B04;} #daohang ul li t a:hover{border-right:1px solid #;} #daohang .you ul li a:hover,#daohang .zuo ul li a:hover,.reed-pinglun-anniu:hover{background-color:#;} a:hover,.reed h6 a:hover,#dibuer a:hover,.reed .riqiding,.cebianlan .rongqi li a:hover,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.shu a,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.huifuliuyan a:hover,.reed-biaoti h6 span{color:#D10B04;} .reed .kan a{color:#0A0AF5;}.reed .kan a:hover{color:#D10101;} @media screen and (max-width:1492px){a.shang,a.xiat{background:none;} a.xiat:hover,a.shang:hover{background-color:#f9f9f9;background-image:none;text-decoration:none;}} var _hmt = _hmt || [];(function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2d748c9763cfc72fb7d1ccab29f0770d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f6d451f3f1be23f3abf240c64c469c1b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

当前位置:首页 » 区块链精品文章 » 正文

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646201", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646162", container: s }); })();

8.3 Sawtooth Lake项目

1322 人参与  2018年09月30日 14:15  分类 : 区块链精品文章  评论

Sawtooth Lake(锯齿湖)是由超级账本联盟成员英特尔(Intel)公司发起的分布式账本平台试验项目,最初发布的时候称为intelledger,在进入超级 账本项目后,更名为“锯齿湖”,该名称来源于美国爱达荷州锯齿山上著名的高山湖。Swatooth Lake是第2个进入超级账本孵化状态的提案。在超级账本中同时孵化功能相近、设计和实现不同的多个项目,目的是促进更深入地探索各类问题需求和各项目的 适配场景。因此,在这些项目的后期,不排除有互相合并或集成的可能。

8.3.1 项目概述

锯齿湖提供了一个构建、部署和运行分布式账本的高度模块化平台,功能上有其独特的地方。如,锯齿湖分离了账本和交易,使两者成为松耦合的关系;提出了交易家族的概念,能够扩展到不同的商业领域;适合权限或无权限区块链的可插拔共识算法。

在锯齿湖项目中的分布式账本包括3个组件:

·代表账本状态的数据模型;

·改变账本状态的交易语言;

·在参与者之间建立交易结果共识的协议。

其中,数据模型和交易语言的实现称为“交易家族”(Transaction Family)。尽管用户根据自身账本的需要,可在锯齿湖的基础上开发出定制化的交易家族,锯齿湖项目还是提供了适合构建数字资产市场的3种交易家族,足 以用来创建、测试和部署这类市场应用。这3种可直接使用的交易家族分别为:注册账本服务(EndPointRegistry)、测试部署账本 (IntegerKey)和数字资产买卖交易系统(MarketPlace)。前两种交易家族内置在锯齿湖的代码内核中,MarketPlace交易家族 则是作为应用示例,包含了几乎所有数字资产交易所涉及的元素,如账号、资产、债务、出价等。用户根据已有的交易家族,能够开发更多的特定领域的交易家族。

8.3.2 项目架构

锯齿湖的设计中包含3个主要的架构层次:账本层、日志层和通信层,如图8-5所示。

1.账本层

账本层从概念上讲是交易类型的数据模型层次。因为其实现基本上通过延展日志层和通信层的功能来完成。例如系统内置的 Endpoint Registry和IntergerKey Registry两个交易家族,以及作为范例的MarketPlace交易家族,都是通过扩展底层功能而来的。

2.日志层

日志层是锯齿湖实现区块链核心功能的层次,实现了共识算法、交易(transaction)、区块、全局存储管理器和数据存储(块存储和键值存储)。其中的区块和交易概念与其他区块链项目比较类似。

8.3 Sawtooth Lake项目 - 数据结构 - 机器学习

图8-5 锯齿湖项目架构

交易是指可以更改账本状态的一组操作,操作通常要依照数据模型和表示形式的定义。例如,在IntegerKey的交易家族中,数据模型是键值对(key/value pair)存储,交易的操作可用设置(set)、增加(inc)和减少(dec)来表达。

区块则是一组交易的集合,是写入账本的单位。在锯齿湖日志的每个区块中,允许有不同类型的交易混合在同一个区块中。

日志层在所有节点之间复制区块数据,采用共识算法确定每个区块的顺序、块内交易顺序以及交易内容。

3.通信层

通信层主要通过聊天(gossip)协议实现节点之间的通信,主要包括了协议层连接管理和基本的流控制。节点之间的互 相发送消息来交换信息,信息通常要封装在不同类型的消息中传输,如交易消息、交易区块消息、连接消息等。和许多分布式系统一样,在整个架构中,需要在节点 之间通过聊天协议发送大量的消息,为此,通信层实现了Token Bucket的机制,以控制数据包的传输速度。

4.共识算法

锯齿湖项目使用的共识算法有两种:时间消逝证明(Proof of Elapsed Time,PoET)和法定人数投票(Quorum Voting)。

PoET和比特币的工作量证明(Proof of Work,PoW)一样都属于彩票算法,即按照一定规则随机地选取出“赢家”节点,由该节点作为区块的主记账者,其他节点则负责验证和确认该节点的结果。 PoET比PoW明显的优势是不需要消耗大量的算力和能耗,但是需要CPU硬件支持SGX(Software Guard Extensions)特性。Intel处理器在Skylake微架构上新增了一组CPU指令集,可以产生一个称为“飞地”(enclave)的代码隔离 运行环境,甚至对操作系统内核也可隔离。在这个可信的运行环境中,可以生成公平且可验证的随机等待计时器,在计时器等待结束之后,能够对等待的时间进行签 名认证。各个节点间根据退出计时器等待的时间,就可确定哪个节点作为主记账人。目前在锯齿湖里面实现的是飞地模拟环境,并不是一个真正的可信运行环境,因 此,暂时不适合在生产环境中使用PoET共识算法。

法定人数投票算法是从Ripple和Stellar的共识算法修改而来的,主要用于需要满足交易即刻最终性(finality)的应用。

8.4 本章小结

超级账本是目前最大的区块链开源项目,集结了众多科技和金融界的巨头,目标是建立面向商业应用的分布式账本基础技术。 本章介绍了超级账本项目的产生背景和管理方式,并详细介绍了两个孵化期的项目Fabric和Sawtooth Lake的架构原理。Fabric和Sawtooth Lake都提供了分布式账本的实现,两者都采用了可扩展和可插拔的模块化设计,以适应不同场景的需求。Fabric侧重于权限控制、私密性保护和交易性能 提高,Sawtooth Lake则注重于提供完整的交易家族和节能的共识算法。超级账本成立时间较短,孵化期的项目发展过程中可能会有较大的变化,同时新的提案和项目也会不断增 加。本章主要描述超级账本项目设计的总体原理和技术要点,旨在起到抛砖引玉的作用。

参考资料

[1]超级账本项目:https://www.hyperledger.org/ .

[2]超级账本孵化项目Fabric:https://github.com/hyperledger/fabric .

[3]超级账本孵化项目Sawtooth Lake:https://github.com/hyperledger/sawtooth-core .

[4]PBFT共识算法,Miguel Castro and Barbara Liskov:http://dl.acm.org/citation.cfm?id=296824 .

[5]Ripple共识算法:https://ripple.com/files/ripple_consensus_whitepaper.pdf .


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=1007

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646186", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646175", container: s }); })();
搜索

网站分类

标签列表

最近发表

    (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!

jQuery(document).ready(function($){ /* prepend menu icon */ $('#daohangs-around').prepend('
'); /* toggle nav */ $("#caidan-tubiao").on("click", function(){ $("#daohangs").slideToggle(); $(this).toggleClass("active"); }); });

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×