区块链网络中新区块是怎么产生的



  • 相信很多人都已经习惯使用指纹作为手机锁屏和支付验证的手段了。但是,智能手机的指纹识别器其实并没有我们想象中的那么安全。

    近日,纽约大学和密歇根州立大学的研究人员发明了一种万能指纹(MasterPrint),可以解锁任何手机。

    0_1492409771610_upload-846b6496-5d1b-45cb-9929-8c3ff51e688e

    研究人员把万能指纹与上图中的真实指纹进行了对比。重黑框代表万能指纹被识别为那个真实指纹

    人类的指纹是为了增加我们的触觉敏感度和摩擦力进化出来的。众所周知,每个人的指纹都是独一无二的,世界上没有两人会拥有完全相同的指纹。

    但是,所有人的指纹都可以归纳为三种类型:弧形纹(arch),箕形纹(loop),以及斗形纹(whorl)。世界上60%至65%的人有着箕形指纹,30%至35%的人拥有斗形纹,5%的人拥有弧形指纹。

    0_1492409798417_upload-a5d90555-e132-4712-8480-05b940d095c6

    万能指纹正是由这三大种类的指纹拼凑出来的。这种被研究人员创造出的指纹,解锁手机的成功率高达65%。

    万能指纹背后的工作原理不只是利用了人类手指上常见的指纹,它还利用了手机指纹识别器的一个漏洞。由于手机指纹识别器会受到体积的限制,其拍摄出来的指纹图片会非常小。为了确保指纹记录的完整,它必须对你的手指拍摄数张照片才能完全记录那根手指的指纹。这一点,使用指纹识别的人都深有体会。

    此外,手机一般都允许用户记录多个手指的指纹。

    但是,在验证时,只要给出的指纹符合存储的任何一根手指中的任何一张指纹图片,验证就会成功。这,就是指纹验证系统中最大的漏洞。

    纽约大学教授Nasir Memon表示道:“这就像你有30个密码,而入侵者只需要猜对一个。”

    指纹识别器被大量的使用在最新的安卓手机,以及苹果iPhone 5以上版本中。苹果公司表示,在只存储一根手指的情况下,其指纹识别出错率为五万分之一,即0.002%。

    此外,苹果公司的发言人表示,iPhone还有其他的安全功能来保障没有人可以轻易破解你的iPhone。比如在重启或开机之后,iPhone需要用户首先输入密码才能开启指纹验证。



  • BYOD,自带设备(Bring Your Own Device)



  • 谷歌揭秘其分层访问模型实现,讲述其全球员工设备安全防护措施。

    0_1493013127968_upload-37db24fb-f13f-408b-a884-8ce1f74c7a02

    访问控制最简单的解决方案是二元的:网络访问要么放行,要么拒绝。这办法太粗糙了,无法适应现代商业文化中最大化用户生产力和创造性的需要。细粒度的访问控制,可以让用户在需要的时候访问需要的东西,是更适应现代商业的一种模式。

    谷歌自己约6.1万人的全球员工身上,就用的是此类访问控制模型——分层访问( Tiered Access )。4月20号发布的一份白皮书及博客文章中,谷歌解释,其创新之处在于,将多种不同设备连接到多种不同资产与服务上的自由与灵活性。这是许多现代公司都会与之产生共鸣的一种看法。

    分层访问的实现,是要为谷歌极度异构的环境提供恰当的访问模型。分层访问既能确保公司资源安全,又能让用户在访问与安全控制之间做出明智的取舍。

    很多公司都允许员工在自己使用的设备上拥有一定的灵活性——尤其是施行BYOD策略的情况下。

    实现分层访问,首先要分析客户群设备和数据源,分析将被访问的服务,选择某种能评估策略并对客户群和服务之间的访问,做出决策的网关/访问控制技术。

    0_1493013172040_upload-3bfbd95e-fa5c-42a7-ac0f-cbaabe32c845

    谷歌使用其内部开发的工具收集设备数据,但申明其他公司可以使用安全报告系统(日志)、补丁管理系统、资产管理系统和集中式管理面板。目的是将设备属性和设备状态,收集到中央资料库中。

    设备属性可以基于厂商、操作系统、内置安全特性等,定义出设备基准线。持续监视的设备状态,则可凸显出偏离设备基线的情况。这二者都能用于将设备关联到不同的层级。

    举个例子,如果是“全托管”下的安卓设备,就可以在更高信任层级访问更多敏感数据,也就是提供完整设备控制与对具体系统和网络日志的访问。低信任层级则对有工作许可的BYOD设备开放。

    设备与服务之间,是访问控制引擎,按请求对企业应用提供服务级授权。它需要中央资料库来对访问授权做出决策——这是安全团队定义和管理策略的地方。

    分层访问模型中的“层”,是应用到公司不同服务上的敏感层级。谷歌只分了4层:不受信任的;基本访问;特权访问;高特权访问。选4层是一种在太多(让系统过于复杂)和太少(又回到了分层方法试图改进的二元访问控制状态)之间的权衡。

    0_1493013194398_upload-60afd233-a4c8-4268-8eba-8e6940eb7daf

    目前谷歌对其现场和移动工作人员的分层访问解决方案就是这样了,但该方案仍在发展过程中。有4个方面正在考虑。

    首先是在确保用户理解安全要求的同时,提升访问决策精准度,增加系统细粒度。

    其次,考虑用户行为与机器分析得出的正常行为间的异同,在设备属性之上添加用户属性。这将让访问授权不仅基于设备还基于当前用户行为。

    第三,鼓励用户实时自愿跨越信任层,驱动信任层的自主选择。比如说,只在接下来的2小时里选择处于“完全信任”层。

    最后,谷歌希望改善该服务的加载过程。因为总是有服务被添加或更新,它们都需要根据风险和敏感性进行分类。“想要扩展,服务拥有者必须要能够自己做出正确的层次分配,而这个过程是不断改进的。”

    谷歌希望,通过共享其自身在开发和部署分层访问上的经验,IT和安全管理员能够感觉自己可以开发灵活有效的访问控制系统,更好地适应当前业务。谷歌分层访问项目与BeyondCorp计划携手共进,挑战私有或“内部”IP地址代表比互联网上地址“更可信”设备的传统观念。BeyondCorp在基础设施安全设计概述中有部分讨论。

    原文转载来自:http://mp.weixin.qq.com/s/hKQE7oUWYWVUGZqgQXcJuw



  • 2017年4月24日 区块链大学技术日报

    区块链开发:Truffle开发入门
    以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架,这是我们第一篇区块链技术文章介绍truffle的原因,实战是最重要的事情,这篇文章不讲原理,只搭建环境,运行第一个区块链程序(Dapp)。

    如何优雅地关闭Go channel

    在使用Go channel的时候,一个适用的原则是不要从接收端关闭channel,也不要在多个并发发送端中关闭channel。换句话说,如果sender(发送者)只是唯一的sender或者是channel最后一个活跃的sender,那么你应该在sender的goroutine关闭channel,从而通知receiver(s)(接收者们)已经没有值可以读了。维持这条原则将保证永远不会发生向一个已经关闭的channel发送值或者关闭一个已经关闭的channel。

    反爬虫和抗DDOS攻击技术实践

    互联网有很多业务或者说网页,是不需要用户进行登录的(不记名的票),你可以简单的认为这其实是一个“不需要记录http状态的业务场景”(注意这里是简单认为,但其实并不是无状态的),那这些不需要登录的页面,往往又会包含大量的聚合信息,比如新闻门户网站、视频门户网站、搜索引擎,这些信息是公开的,其实是可以可以被爬虫抓取的,站长甚至还要做SEO(搜索引擎优化)让搜索引擎或其他网站更多更经常的去收录自己的整站,以便推广。因为通过程序进行 URL请求去获得数据的成本是很低的,这就造成大量低质量网页爬虫在网络横行,对业务方的服务器造成不必要的流量浪费和资源消耗。

    区块链大学每早 9 点分享区块链相关技术和新闻,加入区块链大学交流群请加微信: isLishude .



  • 各单位有关领导:
    2016年12月27日,国务院印发了《“十三五”国家信息化规划》,其中强调了需加强区块链等新技术的创新、试验和应用,以实现抢占新一代信息技术主导权。2016年爆发的区块链受到了前所未有的关注,区块链作为下一代全球信用认证和价值互联网基础协议之一,越来越受到政府机关和国际组织的重视,全世界各国金融主管机构和主要金融机构都在全力研究和实践区块链技术。数字货币作为区块链技术在金融领域最广泛、最成功的应用,也受到了中国人民银行的重视。目前,央行发行法定数字货币的原型方案也已完成两轮修订,呼之欲出。
    国内各地都在大力推广和布局区块链产业,2016年四季度就有多个地方和政府部委相继发布了区块链发展白皮书,指导当地和相关领域的区块链发展方向。在可以预见的2017年,区块链技术将从中央到地方得到大力推广和实践,从金融行业到非金融行业都会出现创新的区块链实践项目和应用。
    为了更好地在金融和相关领域从业人员中提升区块链关键技术的掌握和应用能力,特地邀请多位区块链行业研究和实践专家来召开本次区块链关键技术研讨会。

    2017年第二届区块链关键技术研讨会
    指导单位:中国新金融发展联盟
    主办单位:北邮在线网络科技集团、北邮在线互联网金融学院
    承办单位:邮系移联(北京)教育科技有限公司,大数据应用案例中心
    协办单位:中国互联网金融企业家俱乐部,中国科学院计算机网络信息中心
    研讨会日期:2017年5月19日全天
    研讨会地址:北京(会议前一周对参会人员通知会议地点)
    09:30-10:15 超级账簿实战操作演示 (嘉宾:徐鹤军)
    10:15-10:30 茶歇
    10:30-11:30 实用拜占庭共识算法(PBFT)在超级账本系统的实现(嘉宾:贺海武)
    11:30-14:00 午餐和午休
    14:00-14:45 超级账本系统测试实务 (嘉宾:殷舒)
    14:55-15:25 开源区块链软件项目的安全测试方法 (嘉宾:王伟)
    15:25-15:45 茶歇
    15:45-16:30 区块链互联网金融实践项目报告 (嘉宾:殷舒)
    16:30-17:00 区块链实践圆桌研讨
    17:00 会议结束
    18:00 晚餐及自由交流
    专家简介
    贺海武 (Haiwu HE)中国科学院计算机网络信息中心 (CNIC/CAS), 百人计划 研究员 (100 Talents Professor)、巴黎第13大学客座教授
    贺海武于2005年在法国国立里尔科学技术大学(USTL)获得博士学位,在INRIA完成博士后研究,后作为研究工程师在该研究院参加研究工作,其后在法国知名学府里昂高等师范学院(ENS-Lyon)任职。 目前在中国科学院计算机网络信息中心(CNIC),担任“百人计划”研究员,从事云计算及大数据处理技术方面的研究工作。 旅法10多年来,参加过多项法国国家科研署(ANR)及欧盟科研项目(FP6, FP7),研究工作多次发表Supercomputing, CCGrid等业界知名会议,及Journal of Network and Computer Applications,Journal of Grid Computing等知名国际学术期刊上。他还获得了法国国家副教授资格认证,及法国国家高性能专家资格认证,同时担任多个业界知名国际会议重要职务,受邀多次在国际会议及论坛上作大会报告或特邀报告。从2013年起,入选教育部“春晖计划”,成为教育部“春晖学者”。2014年起,成为中国计算机学会CCF会员,CCF YOCSEF中国计算机学会青年计算机科技论坛委员。2015年成为卡塔尔基金会项目国际评委。2015年5月入选成知名SCI期刊FCS青年AE。2015年8月当选成为中国计算机学会CCF协同计算专委会委员,2015年11月当选成为中国计算机学会CCF高性能计算专委会委员,服务计算专委会委员。
    王伟,目前任北京交通大学计算机与信息技术学院、国家保密学院副教授,博士生导师,信息安全系副主任。2005年获西安交通大学工学博士学位。2005-2006年在意大利Trento大学做博士后研究;2007-2008在法国布列塔尼电信学院及INRIA做博士后研究;2009-2011在挪威科技大学及卢森堡大学以欧洲ERCIM Fellow身份从事研究工作。主要研究移动互联网安全及区块链安全等。在国内外学术期刊或国际会议上发表论文50余篇,其中SCI检索论文20余篇。英文论文总被引750余次。2009 和2010 年连续两年获欧洲ERCIM“Alain Bensoussan”研究学者奖 (ERCIM Fellowship)。2009 年获由教育部与科技部联合主办的第四届“春晖杯”留学人员创新创业大赛二等奖(独立完成)。2008 和2009 年分获国际会议ICIMP2008 最佳论文奖及ECG2009 最佳应用论文提名奖。是国家“242”信息安全计划项目答辩评审专家,卡塔尔国家基金评审人。是中国计算机协会(CCF)高级会员;CCF 青年计算机科技论坛(YOCSEF)会员;CCF 计算机应用专委会通讯委员。中国保密协会会员;隐私保护专委会委员;ACM及IEEE 会员;是通信领域权威刊物IEEE Network 的客座编辑(GuestEditor);目前担任SCI 期刊Frontiers of Computer Science 的青年AE。是AsiaCCS 2016,GlobeCom 2016 等40 余个国际会议的程序委员会委员。为IEEE Trans. Dependable and Secure Computing,IEEE Trans. Signal Processing,IEEE Trans. SMC,ACM Trans. TAAS,Computer & Security等30 多种不同的期刊审稿。
    徐鹤军:二十年多年长期IT行业工作经历,从技术专家到企业高级管理。积累了丰富的技术开发,产品和市场开拓和管理经验。曾经创造到岗2个月就签订任职公司国内第一份销售订单,从零组建销售,市场,技术支持和开发的市场部,实现企业年销售额10倍增长的佳绩。特别擅长市场营销大数据挖掘和实践,DevOps专家,网络安全社会工程学和预防网络及电信欺诈的研究和实践,拥有网络安全发明专利,为解放日报和复旦大学提供网络安全支持和咨询。曾经担任《中国信息安全技能竞赛组委会》秘书长,目前是《大数据应用案例中心》执行长,中国新金融发展联盟专家委员会委员,北邮在线互联网金融教育学院学术委员会委员,区块链黑客行项目创始人;当前主要从事区块链金融科技和物联网技术的研发和商业模式的探索和实践。
    殷舒:2009年获得北京邮电大学硕士学位,现就职于联动优势科技有限公司(002537,海立美达全资子公司),担任高级软件架构师职务,拥有10年金融领域分布式高可用服务研发经验。曾参与中国移动非接支付行业标准的制定和系统研发工作,已申请国家专利16项。目前担任联动优势区块链研发团队负责人,拥有区块链技术研发和应用场景落地经验,参与工信部数据中心联盟可信区块链标准的编制工作。
    继2017年3月24日成功举办第一届《区块链关键技术研讨会》后反响良好,本期研讨会继续面向金融及其相关领域从业机构骨干管理人员或业务岗位,自愿参加,额满为止。研讨会结束统一由北邮在线互联网金融教育学院颁发“区块链关键技术高级研修班”结业证书。带钢印,可在北邮在线官网查询。

    会务费用
    2017年5月19日单日会务费4998元/人(含午餐和晚餐,交通费与住宿费用自理)。2017年5月1日前报名八折优惠,两人报名七折优惠。
    2017年5月19日单日高校特优会务费 2998元/人(含午餐和晚餐,交通费与住宿费用自理),会议签到时需提供高校教师证或者学生证,如果无法提供,需现场补全正常会务费。
    缴费方式:转帐
    开户公司:邮系移联(北京)教育科技有限公司
    开户银行:中国工商银行股份有限公司北京学院路支行
    账号:0200 0255 0920 0079 946
    会务咨询和联系人
    1、电话:010-82051209,15810310367(白老师)
    2、咨询QQ:897832768 或者 微信 zhangquan1107 (张权老师)
    如有意者可电话联系
    加入互金交流微信群,加微信:zhangquan1107,申请加入“互联网金融交流”微信群,备注:姓名+公司+职务
    在线报名
    点击下方的链接填报名表;
    http://cn.mikecrm.com/32div9l
    请已通过其它方式报名者,请尽快填写在线报名表,最终需经会务组审核通过后通知为准
    报名对接:
    添加微信联系人
    (请注明“研讨会报名”)

                            区块链报名对接人:张老师 微信号:zhangquan1107


  • Docker想要让容器而不是操作系统成为数据中心系统运行的基本构建模块。这家公司近日推出了两个新的开源项目,以便系统组装商使用Docker和第三方组件,自行组建基于容器的模块化系统。

    0_1492601030232_upload-f5bcf8d7-a71a-4639-b1b5-fabefdbe5180

    Docker的 IT负责人帕特里克·查尼森(Patrick Chanezon)在接受The New Stack的采访时表示:“为了可以充分利用我们整个生态系统汇集起来的所有创新成果,我们需要开始在组装层面进行合作。”该公司在本周于奥斯汀举行的年度用户大会Dockercon上展示了这些工具。

    一个名为LinuxKit的项目是一套工具包,用于为容器组装操作系统。第二个项目名叫Moby项目,它为可互换组件方面的合作奠定了基础,让第三方可以利用组件库和参考蓝图,构建基于容器的系统。

    LinuxKit提供了一种基于容器的方法来为每种类型的容器构建一种定制的、精简的Linux子系统,这对于希望为专门的硬件或部件组装自己选择的Linux功能特性的系统组装商来说可能很有用。基于containerd,每个LinuxKit子系统都会有各自的Linux内核,每个系统守护程序或系统服务都得到各自的容器。

    子系统一旦打包成ISO映像文件,就可以在裸机上启动,或在虚拟化环境中启动。Docker将负责维护作为其自己的Docker解决方案一部分来使用的所有Linux子系统组件。

    “Linux是Docker的一个组件”―――帕特里克·查尼森

    容器可以为运行数据中心的所有操作提供一个自然而灵活的基础,因为容器允许用户轻松组装各组件,另外尽量减少对操作系统的依赖程度,尽管拥有随之而来的种种安全漏洞。通过将操作系统精简至只剩下所需的组件,Docker本身已将自己的容器操作系统精简至比较小的系统:大小在35Mb到100Mb之间。

    查尼森说:“我们的许多客户要求我们并不仅限于Linux。Linux是Docker的一个组件。借助LinuxKit,我们让你可以以一种安全、可移植的方式来组装该组件。”

    Docker本身就已经在使用LinuxKit中的技术,为Docker桌面(Docker Desktop)和云企业版(Cloud Enterprise Edition)SKU构建定制的操作系统。为了做好这项工作,Docker已与Linux基金会合作,并得到了ARM、IBM、英特尔和微软的大力支持。

    比如说,英特尔可以使用LinuxKit,在其自己的用芯片保护的Clear Containers技术上构建基于容器的系统。HPE可以使用这项技术,为其自己的硬件构建定制的容器化系统。

    叫我以实玛利

    Moby项目旨在对基于组装方法的系统日益笨拙的过程进行一番规范,这个过程通常涉及来自Docker和第三方提供商的多个组件。

    查尼森说,Moby“是自最初的Docker问世以来Docker推出的最重要的开源项目。”

    该公司在2014年左右开始将其系统的各部分(比如Notary)实行组件化,正是这项工作孕育了后来的Moby。Docker开发人员“需要组装不同配置的组件,所以我们总是试图充分利用或重复使用我们已有的任何资源,”查尼森如是说。

    Moby将为容器厂商和服务提供商提供一种框架、某种共同的协作平台,并且提供一套通用的工具和最佳实践,用于构建和增强基于容器的系统,涵盖诸如监控、编排、联网之类的方方面面。

    0_1492601113719_upload-c2478a9d-8b28-4917-baf3-2b64dc401f53

    到目前为止,Docker已经拥有80多个容器化组件组成的庞大库,包括Swarm、containerd、Docker Build,甚至LinuxKit。许多第三方组件现在被整合到Linux发行版中。Docker欢迎社区成员作出更多的贡献。

    物联网设备的组装商可能需要与构建数据中心系统的公司大不一样的一套组件。有了Moby,双方都可以共享共同的组件,还可以灵活地将各自的组件连入到一个共同的组合体中。

    他说:“有很多人进入到容器生态系统,不仅仅局限于在云端运行云原生应用程序:比如物联网、台式机和许许多多不同的环境。”

    Docker正在将自己的所有组件打包成容器,还会提供一个参考组合件,这个组合件将基于Docker社区版。Moby工具本身可用于组装来自不同组件的项目。

    组合起来,这些项目旨在将Docker容器当作运行容器化应用程序的诸多技术组成的更庞大集合体的一部分,这个集合体不仅依赖Docker本身,同样依赖第三方提供商。Docker认为,构建系统方面拥有共同基础可以帮助系统组装商加快增添新功能方面的工作。

    监测公司Datadog最近对10000个用户开展了一项调查,结果发现,18.8%的用户已经采用了Docker,这比一年前增长了40%,当时还只有13.6%。可能更令人惊讶的是,一旦采用了Docker,Docker用户在10个月内将生产环境里面运行的容器数量平均增加至五倍。而这个成功现象扩大到了Docker工具的第三方提供商。Datadog还发现,40%的Docker用户正在部署某种外部编排工具,比如Kubernetes或Amazon ECS。

    据该公司声称,到目前为止,Docker组件(包括container、Swarm、libcontainer及其他部分)的下载量已超过了120亿人次。



  • 一些我们从未听说过的公司正在我们眼前启动IPO。

    0_1492599631289_upload-f938fbee-ba51-4114-88b9-6a5735c95850

    但是相反于运营几年之后才会敲钟上市,这些公司从第一天开始就开始上市,并且不同于通过出售公司股票来筹资,他们则是通过创建分布式网络和出售代币。

    这种创建公司的新方式就是Coinbase创始人Fred Ehrsam所描述的‘去中心化商业模式’。

    然而,许多现有的企业建设和投资规则并不能应用于这个新模式。那么我们能够从那些走这条道路的公司身上学到什么呢?

    代币(Tokens)

    代币众售的构成直接与发行的代币种类相关。我们确定的代币种类有三种:

    • 债务代币
    • 股权代币
    • 用户代币

    用户代币

    用户代币,或者像Naval Ravikant和Balaji Srinivasan说的‘appcoins’,是访问由分布式网络所提供的服务所需要的一种形式的数字货币。

    正如Union Square Venture任事股东Albert Wenger解释的那样,你可以将这些代币认为是你在展览会上买的乘车代币。

    例如,在以太坊,你需要用到以太币在平台上创建分布式app。就Sia这种分布式储存系统来说,你需要拥有Siacoin才能在他们的网络上存储文件。

    用户代币可以通过为这些网络提供价值来赚取。

    贡献者可以采用挖矿,就像比特币,以太坊和Sia那样,或者发布故事,像Steemit平台那样。因为用户代币是在一个区块链上的,他们能够很容易在任何地方或者使用加密货币赎回。

    股权代币

    股权代币被用来资助网络的发展,不过不需要用于访问其底层协议提供的服务。正如其名字所表示的那样,我们可以将‘股权代币’看作一个网络的加密股份。

    作为换取投资,股权代币持有者有权以收入分成或者网络交易费的形式获取‘分红’。例如,对于Sia,3.9%的成功的存储支出流向他们股权代币Siafund持有者的手中。

    在很多情况下,这些股本代币代表着一个分布式自治组织(DAO)的股份。DAO代码负责发行代币,掌控从代币出售中所收集来的资金,并承包给一家公司来开发网络。

    除了获得一种事先定好的奖励,以DAO股份形式的股权代币持有者通常有权为投资资金的使用提出建议。

    就像是Digix,一种创建在以太坊上的资产代币化平台。DCG代币持有者:

    • 从Digix黄金网络的交易费中获得一种奖励。
    • 能够提交和对DigixDAO的提案进行投票。

    债务代币

    第三种代币就是‘债务代币’。

    我们可以把这些看作是该网络的一种“短期贷款”,以换取贷款额上的利率。Steemit是少量几个拥有债务代币的网络,以Steem美元的形式发行。

    Steem美元是Steemit协议经济学所特有的。

    通过购买Steem美元,人们能够投资网络来获得足够的流动性,无需承诺Steem Power持有人所承担的两年等待期。

    我们看到网络具有多种组合。

    这些包括网络与:

    • 用户和股权代币(Sia,Digix)
    • 用户代币(比特币,以太坊)
    • 股权代币(Golem,SingularDTV)
    • 用户,股权和债务代币(Steemit)

    这些组合取决于网络的独特动力学和经济学。

    众售

    代币的类型通常会决定它的众售的结构。

    用户代币预售

    为了出售用户代币,企业倾向于:

    • 发布白皮书,对网络进行详细说明,明确未来发展路线图。
    • 公开宣布代币,并在创建第一个代币之前发布源代码。
    • 部署网络并通过挖矿来保护用户代币。另外,分配一部分预售代币给创始团队作为对网络概念的形成和开发的一种奖励。
    • 对该网络进行推广并向所有人,所有地区出售用户代币。
    • 努力增加使用,在该网络上创建app以及维护该网络的人数。

    随着该网络的发展,对代币的需求增加,进而引起用户代币价格上涨。这就是我们所说的‘中本聪商业模式’。中本聪的比特币不是通过预挖矿获得的奖励,而是作为比特币网络的第一个信徒和支持者而获得的。

    Steemit同样遵循了中本聪商业模式。该公司编写代码为Steemit分布式网络提供动力,并向公众宣布,通过挖矿来保护大约80%的初始STEEM。该项目计划保持20%,出售20%用于筹资,赠送40%以此吸引用户/引荐者。

    以太坊的情况有所不同。它的预售由分配私钥给买家作为一种软件访问代币在未来的网络中使用。以太坊通过创建6000万ETH代币的形式筹集了超过价值1800万美元的比特币,其中1200万ETH(20%)被开发团队保留。

    当以太坊发布时,随着第一批区块被挖出,买家收到他们的以太币。

    股权代币众售

    对于股权代币,企业倾向于:

    • 发布白皮书,对网络进行详细说明,明确未来发展路线图。
    • 为一个DAO编写一个智能合约,同时预先确定好数量的股权代币被分配给公司创始人。
    • 让公司成为DAO的供应商,负责开发网络以换取支付费用。
      推广DAO众售,并向所有人,所有地区出售股权代币。用这笔钱支付公司的开发工作。
    • 努力让网络发展以此提升股权代币的价值,并收集基于网络使用量增加的奖励。

    Digix通过遵循上述步骤,在12小时内就筹到了550万美元资金。

    因为DigixGlobal就是那个形成网络概念,发布白皮书,编写DAO以太坊智能合约并持有相当数量的股权代币的公司,他们成了DigixDao默认的服务提供商。

    对代币众售的监管

    管理加密代币发行和销售的法律取决于这些事件发生的司法管辖区。

    像新加坡和瑞士这样的国家,虚拟货币不被认为是证券,也不被认为是合法的。

    在美国,Howey测试被用于评估证券的出售。

    在Howey测试中,如果一种投资工具A)涉及货币投资或者其他用于B)普通企业的有形的或可定义的思考并且具有C)一种合理的预期利润,并且主要来自他人的创业或管理的努力。

    向美国公民公开出售证券是受到SEC的监管的,未经许可执行这样的行为是违法的。

    行业的思想领袖,例如非盈利宣传团体Coin Center和哈佛大学伯克曼学院的Primavera de Filippi建议用户和股权代币的发行可以包含在Howey测试的证券出售中。但是事实上,这些代币的力量超出了我们对传统证券的理解。

    我们也知道,SEC正在研究方法将区块链规定为转账代理人。这种对代币发行的监管的实际影响仍旧未知。

    将代币与传统世界相连

    我们看到可以使用四种不同的方式用于开展合法的合规的代币众售。

    位于瑞士的股份有限公司(GmbH)和基金会

    以太坊的代币预售是由位于瑞士的非盈利组织以太坊基金会执行的,该基金会唯一的目标就是管理以太币出售所获得的资金,以此最好地服务以太坊生态系统。

    为了让美国公民在不受SEC规定下购买以太币,他们将用户代币预售设计成为加密燃料的出售——ether(ETH)——这些燃料用于运行以太坊开源平台上的分布式应用。

    该软件的最初开发由以太坊瑞士GmbH执行。

    新加坡公司和DAO

    对于Digix,DigixDAO的智能合约是由新加坡公司DigixGlobal编写的。这家公司然后被DigixDAO所雇佣,开发Digix网络。出售的股权代币代表着DigixDAO的股份。

    尽管新加坡金融管理局(MAS)不认为代币是证券,向美国公民合法的出售取决于SEC在Howey测试下对代币的解释。

    ‘CODE’

    第三种试验方式就是Singular-DTV 所使用的——一种区块链娱乐工作室——是一种‘集中组织的分布式实体’。

    ‘CODE’是一个以瑞士GmbH为形式的集中组织的(CO)管理和一个以一种创建在以太坊上的代币化生态系统去中心化实体(DE)的结合。

    在这种情况下,GmbH负责消费通过去中心化实体代币出售收集的以太币来创建媒体项目并收集生成的收入。‘CODE’应受到监管并且符合征税标准的,保护了代币持有者无需承担潜在的责任。

    独立的公司

    最后一种方法是保持网络和代币发行独立于它的创建者。

    代币通过计算机算法进行分配,不指定任何特定的公共密钥来接收资金。按照中本聪商业模式,网络创建者通过成为这个公共网络的第一个矿工来保护它的代币份额。Steemit通过作为Delaware C Corp来实现这一点。

    这些实体的形成是第一批尝试合法地将新的公司创建模式与传统世界相连的方法。

    总的来说,我们见过40多家公司将基于代币的模式用于金融协议开发。我们相信它还可以扩展到其他类型的公司。



  • 0_1492511443017_u=3479435222,134376415&fm=23&gp=0.jpg

    起因:之前一直用Mac开发,换了家公司,只许用Windows下开发,说实话,一开始我是拒绝的,可自从看到了这几个工具以后……

    下文大标题说明:(Mac下的工具)VS(Windows下的工具),Mac下的工具说明会简要点,毕竟看文章的基本上都是实在受不了Windows的重度Mac开发者。

    终端工具 item2 VS Cmder

    - iterm2

    iterm2是Mac下最好用的终端工具,听说没有之一。配合oh-my-zsh,你的终端居然可以这样!震惊!!(UC震惊部)

    0_1492510740661_upload-42e32f86-dff1-4998-b9bf-3e82e1ee7efc

    池建强大大有一篇文章《终极 Shell》讲mac下的终端,讲的比较好,贴这。大家可以做取舍。

    - Cmder

    如果你用过Windows自带的cmd,简直想shi有没有!页面丑就算了!没有tab!窗口不能缩放!不能用鼠标复制文本!!@#¥%&*¥%…%¥

    Cmder绝对是一款Windows环境下的cmd替代者,支持了大部分的Linux命令。

    • 支持tab标签
    • 集成git
    • 支持绝大Unix/Linux命令
    • 但是安装之后一般都会有以下几个问题:
      • 中文乱码问题
      • 文字重叠问题
      • λ其实可以替换成$

    0_1492511056620_upload-b1826b30-c5f3-42d5-ae1f-02b7b37ab3f2

    包管理工具 Homebrew VS Chocolatey

    - Homebrew

    为什么要用Homebrew?官网讲得很露骨,一款macOS缺失的软件包管理器

    安装Homebrew:命令行输入

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    举个栗子,如果你要安装sublimeText,你可以这样:

    brew install sublime-text

    再优雅点,你可以安装Homebrew的命令行工具homebrew-cask

    brew tap phinze/homebrew-cask && brew install brew-cask

    然后你可以这样愉快地安装一堆软件

    brew cask install sublime-text skitch dropbox google-chrome

    用Homebrew安装软件有什么好处么?

    • 将软件包安装到独立目录,并将其文件软链接至 /usr/local
    • 不会将文件安装到它本身目录之外,所以您可将 Homebrew 安装到任意位置
    • 完全基于git和ruby,所以自由修改的同时你仍可以轻松撤销你的变更或与上游更新合并

    - Chocolatey

    Chocolatey官网是这么介绍自己的,The package manager for Windows.

    安装

    嘿嘿,这个时候打开上面提到的cmder命令行工具,输入:

    @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

    这个时候如果你也要装sublimeText3,你也可以这样!

    choco install SublimeText3

    是不是很酷!好处同上,具体的配置自行琢磨,这个时候已经和Mac下的体验很接近了。让我们再近一步!~

    文件浏览增强工具 Spotlight VS Listary

    - Spotlight

    自从升级到macOS Sierra后,其实mac自带的Spotlight已经很强大了,至于类似Alfred的神器,我倒觉得一般用户没必要折腾了,当然你想更Geek点,可以折腾下Alfred,毕竟那样看起来很酷!

    安利VueJs时刻!

    0_1492511077730_upload-ceae109f-8473-4ea6-ae3a-b673c065d944

    - Listary

    Listary的出现,让突然从Mac转向Windows开发的我产生的强烈排斥心理得到了一定的缓解!

    先说说效果

    经过我的配置,我想要打开某一软件或者文件,双击Ctrl,弹出Listary小窗,输入几个模糊关键字,回车!仿佛置身于Mac有没有!!

    下载安装

    官网有free版和Pro版,至于破解还是支持正版…

    界面举栗

    0_1492511095805_upload-0e771ddd-1a53-4584-99d1-5d59a06e8e01

    如果你是Mac用户,我想是无缝衔接的,配置快捷键后,效率也是极高的!

    Clover 给Windows资源管理器加上Tab标签

    • 不知道Windows用户有没有注意到,每次打开我的电脑,会弹出一个新的窗口,再打开,再弹!再打开!再弹!循环个几次,桌面上会有一堆“我的电脑”窗口,是的,一堆……一堆……堆……
    • 所以你需要一个类似chrome标签一样的工具,帮你窗口整合。这就是[Clover]唯一的作用。
    • Clover下载地址
    • 同样的,你可以将常用的地址存为标签,类似浏览器收藏夹,方便下次打开。

    0_1492511110788_upload-3eb376fb-83d1-41e4-81a8-e2ccd1cc9cf2

    继续寻觅中……

    对我来说,应该是对于绝大部分开发者来说,开发环境的舒适是很重要的,想方设法提高效率,我倒觉得折腾这些工具也是挺有必要的。

    应该会持续更新吧,毕竟Windows下坑还很多。

    0_1492511127699_upload-c1ed0ffb-923a-4916-80a5-2a6cf86184b8

    本文转发来自:http://palmerye.online/如何在Windows下像Mac一样优雅开发/



  • 印度最大的零售连锁店的母公司对区块链等创新技术下了重注,用1550万美元作为启动资金,建立了一个数字实验室。

    0_1492506620391_upload-2a82844e-fc27-447c-b048-02943c4b4103

    印度大型零售集团Future Group旗下的商店包括Big Bazaar(印度版沃尔玛),他们宣布在印度科技中心班加罗尔建立一个新的“消费者和数字实验室”。

    这个“Future C&D实验室”致力于利用新的创新技术针对消费端推出解决方案。除了区块链技术之外,人工智能(AI)、大数据分析、物联网(IoT)和机器人技术都是这个实验室的研究方向。其目标是加强支付、消费者身份认证和定制的一对一消费者交流等方面的零售体验。供应链自动化、供应商订约、分析和预测模型化也是后端零售过程的一部分。

    据印度《经济时报》报道,这一实验室将鼓励多个团队、初创公司和企业针对这些技术展开合作。测试、研究、开发活动以及运营团队都将共享这1550万美元的资金支持。

    Future Group创始人兼CEO Kishore Biyani说:

    Future C&D实验室的目标是为印度消费领域共同创建新一代技术。我们正在与印度最杰出的年轻人创造一个公开的合作环境。他们研究的新技术解决方案能够影响未来几年的零售业发展。

    值得注意的是,该实验室研发出的解决方案能够进行现实世界测试,开发者可以借助Future Group的品牌和日均消费人次过百万的零售平台进行测试。实验室中一些有发展前景的方案可以进行测试、实验,最终创建技术原型。

    实验室的团队由工程师、数据科学家、消费专家和技术人员组成。黑客马拉松、公开研讨会等能够促进技术发展的活动也会在实验室内举行。

    区块链发展、支付方案和AI研究都是全球金融科技领域的重点。今年3月,印度私人银行集团Yes Bank发起了内部金融科技加速器,其中就包括两家从事区块链技术研究的印度公司。



  • 据报道,日本金融服务局(FSA)上周已经正式宣布:日本首个包含数字货币以及承认比特币为支付方式的法案将于4月1日(明天)生效,该法案将正式上升为法律。

    0_1492505651277_upload-ad4e6a06-b807-4a9f-b394-8ac1a941b994

    比特币在日本正式成为合法支付方式

    该法案承认比特币为一种支付方式,而不是一种货币。日本交易量最大的比特币交易所BitFlyer解释说,比特币具有“类似于资产一样的价值”。BitFlyer描述说,比特币可被用作支付手段来购买或租赁商品,或者收取服务费,同时还能通过电子数据处理系统的方式来转让。

    “新的法律将比特币和其他虚拟货币定义为一种支付方式,而不是一种受法律承认的货币。比特币将继续被当作一种资产,除非未来对日本税法进行修订。”

    交易所及其客户的负担

    比特币在被正式认定为支付方式的同时,该法案还对比特币交易所施加了多项要求。交易所将被要求向日本首相进行注册登记,同时还必须满足很多其他的要求。

    例如,交易所资本规模不得低于1000万日元并且必须拥有一种足以预防盗窃和损失的IT系统。交易所还必须建立多种系统和流程,涉及到工培训,内部规定,治理,以及外包指导等。

    这个将于4月1日生效的法案还修订了《防止犯罪收益转移法案》。我们最近已经报道了这些修订将如何影响比特币交易所及其客户。为了遵循该法案中的规定,交易所正在引入更加严格的KYC程序。

    会计的不确定性

    据《日经亚洲评论》本周三报道,这项新的法案“将使日本的早期比特币采用者陷入一种会计困境”。日本目前的会计标准并不涉及数字货币,所以在如何合适地报告数字货币用于征税用途方面并没有可用的指导方针。

    因此,很多个人和企业可能不会把他们持有的数字货币记录到自己的账本中。那些报告自己持有的数字货币的人和企业通常会把这些比特币纳入到他们的资产负债表的“资产目录”。发行人通常将其称为一种“负债”。然而,标准的缺乏意味着“持有数字货币的公司可能会在估值方面出现误差或者使账面突然出现巨额损失,普华永道合伙人Chikako Suzuki这样说道。”

    《日经亚洲评论》写道:“日本会计准则委员会本周二已经决定开始考虑一种针对虚拟货币的框架,预计将会耗时6个月。”



  • ETH用户量最大的客户端Geth背后的开发团队更新了一些新功能,包括对另一种共识系统的支持。

    0_1492505513111_upload-e1cd803c-6f9a-4ce8-9785-90fc5c8cd552

    上周,Geth开发者发布了1.6版,这个版本支持另一种“插件式共识模式”,这也代表了他们对ETH从PoW转到PoS机制的期待。

    比特币等公链系统也在使用PoW。在过去的一年半时间以来,ETH一直在为从PoW转移做准备,这也是其发展路线中的一部分。近期,开发者还暗示了下一版本的ETH——大都会(Metropolis)的发布。

    而本次更新的目标就是为ETH网络中一些希望使用PoS等其它共识模式的开发者创造条件。

    该团队解释道:结果就是,Geth 1.6支持一种插件式共识模式,开发者要想创建自己的ETH系统,也就多了几种验证区块的不同方法,只需要部署一个简单的Go共识工具接口。目前支撑ETH算力的PoW共识模式只不过是这个接口的一种执行方式而已。
    值得注意的是,本次更新还包含一个名为“Puppeth”的工具,它能为ETH网络的发展提供了一个更加合理化的流程。

    Puppeth不是什么灵丹妙药。如果你自己的编排工具中已经有很多内部ETH部署,最好还是保持现有架构。

    不过,如果你要想创建自己的ETH网络,而且也不想有太多的麻烦,Puppeth可能能够帮助你更快地完成整个过程。



  • 1. 介绍

    Rancher 是一个容器管理的完整解决方案,并且即将成为一个完整的容器管理平台。了解rancher的功能可以看下官方的提供的介绍视频Rancher Overview。注意看该视频需要科学上网。

    详细的rancher使用建议查看rancher官方文档

    2. 安装

    2.1 下载镜像

    # server
    docker pull rancher/server
    

    2.2 部署mysql

    因为rancher需要使用mysql,所以需要启动mysql容器

    docker pull mysql
    docker run -d  --name mysqldb -e MYSQL_ROOT_PASSWORD=wkm  mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 
    

    首先进入mysql bash

    docker run -it --link mysqldb:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
    

    进入mysql创建用户给rancher用

    > CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
    > GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
    > GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
    

    2.2 部署 server

    使用以下方式执行容器

    # Launch on each node in your HA cluster
    $ docker run -d --restart=unless-stopped -p 8080:8080  rancher/server \
         --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle \
         --advertise-address <IP_of_the_Node>
    

    我这里实验时,将server部署到了10.45.10.32和10.45.10.33这两台上了,例如10.45.10.32这台上执行的命令如下:

    注意这里的db host使用容器本身的IP,通过docker inspect xxx来获取

    docker run -d --name rancher-server --restart=unless-stopped -p 8080:8080  rancher/server \
         --db-host 172.17.0.2  --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle \
         --advertise-address 10.45.10.32
    

    启动rancher server容器后,用docker logs rancher-server来查看是否正常启动。正常启动后效果如下:

    0_1492505205333_upload-2e2c4bc6-8d6c-41e4-baff-a0d979cba5dc

    然后就可以通过IP来访问rancher的WEB管理中心了。

    0_1492505222013_upload-25b29a64-806e-4e5d-84b7-d641f522bff9

    右下角可以换成中文

    0_1492505245080_upload-d807e997-9849-4a7f-9440-fa91de561dba

    3. 集成管理swarm

    rancher功能十分强大,能集成各种第三方,当然也包括swarm。虽然该功能还处于experimental,不过swarm这么流行,相信很快就能发布正式版。这里作为测试使用,我们直接用该特性。

    PS: 经过我试验发现,使用swarm最好有个5台及以上的机器,要不然似乎几个swarm相关的容器会频繁重启

    3.1 创建swarm环境

    0_1492505260130_upload-7124ee1e-563f-4488-b886-1541cfe57fc2

    然后再点击下方的add environment

    0_1492505272391_upload-d0a5dc69-508d-439e-a6c4-2f3f60cb02ca

    创建一个swarm环境

    0_1492505283855_upload-325ab468-e358-4dae-9534-639f6c401d48

    切换到该环境,我创建的swarm环境名字为rancher_swarm

    0_1492505296683_upload-fe39f365-1803-4c1f-a9ea-f8446de04699

    3.2 添加主机

    PS: 注意每个环境有自己对应的主机集群。默认是default环境。上面切换到我们创建的SWARM集群,所以在新环境添加主机。注意SWARM集群至少需要3台主机。

    点击基础架构里面主机来添加主机:

    0_1492505315769_upload-e28d5005-0a1a-49de-af61-2aecf149fd71

    设定需要加入的HOST IP,根据图形界面提供的提示操作即可。主要操作就是在各个node上启动rancher/agent容器,按照图形界面上的提示启动

    0_1492505330287_upload-e9462fb6-a6b9-4de2-ba8c-4c09fc6ef855

    3.3 将主机加入swarm集群

    虽然前面创建了主机,不过将node加入集群的操作,仍然需要命令解决。首先在swarm manager所在节点上查看JOIN集群的命令,然后在需要被加入的节点上执行命令。

    PS : 在rancher上使用swarm的时候注意有一个坑。就是有时候会发现 swarm-swarmkit-mon-1这些容器一直无法启动。这个可能是这些node加入了错误的swarm manager。这时候在有问题的节点上执行docker swarm leave -f可以进行恢复。

    4. 更多功能

    rancher功能非常多,可以轻松部署企业级应用。各种图形展示也十分友好。例如可以展示容器之间的拓扑这点就非常好。更多功能读者可以自己参考官方文档了。

    0_1492505344328_upload-57c2f12e-5905-455b-920d-5f211f4ae332



  • 1. 开启docker metrics API特性

    注意使用的docker版本必须为1.13

    编辑docker daemon启动选项

    vim /etc/docker/daemon.json
    该文件修改内容如下:

    {
      "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
       "insecure-registries":["10.45.10.31:5000"],
       "experimental": true,
    "metrics-addr": "0.0.0.0:4999"
    }
    

    解释:

    第一行指明了第三方docker hub mirror,加速访问。这里采用中国科学技术大学mirror
    第二行指明注册的私人registry
    第三第指明开启试验性特性
    第四行指明docker metrics的访问端口

    2 创建服务(会自动下载镜像)

    在swarm manager node上创建如下服务:
    
    #1. 设定overlay网络,用于跨节点的容器网络访问
    docker \
      network create --driver overlay monitoring
    
    #2. cadvisor服务,用于提供容器的资源使用率、性能等监控指标
    docker \
      service create --name cadvisor \
      --mode global \
      --network monitoring \
      --label com.docker.stack.namespace=monitoring \  
      --container-label com.docker.stack.namespace=monitoring \
      --mount type=bind,src=/,dst=/rootfs:ro \
      --mount type=bind,src=/var/run,dst=/var/run:rw \
      --mount type=bind,src=/sys,dst=/sys:ro \
      --mount type=bind,src=/var/lib/docker/,dst=/var/lib/docker:ro \
      google/cadvisor:v0.24.1
    
    #3. node-exporter服务,暴露节点相关的内容给prometheus,用于监控
    docker \
      service create --name node-exporter \
      --mode global \
      --network monitoring \
      --label com.docker.stack.namespace=monitoring \
     --container-label com.docker.stack.namespace=monitoring \
      --mount type=bind,source=/proc,target=/host/proc \
      --mount type=bind,source=/sys,target=/host/sys \
      --mount type=bind,source=/,target=/rootfs \
      --mount type=bind,source=/etc/hostname,target=/etc/host_hostname \
      -e HOST_HOSTNAME=/etc/host_hostname \
      basi/node-exporter \
      -collector.procfs /host/proc \
      -collector.sysfs /host/sys \
      -collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" \
      --collector.textfile.directory /etc/node-exporter/ \
      --collectors.enabled="conntrack,diskstats,entropy,filefd,filesystem,loadavg,mdadm,meminfo,netdev,netstat,stat,textfile,time,vmstat,ipvs"
    
    #4. docker-exporter服务,用于将docker metrics API得到的监控指标暴露给prometheus。注意下面的172.18.0.1是桥接容器的网关地址。默认一般都是这个。
    docker \
      service create \
      --mode global \
      --name docker-exporter \
      --network monitoring \
      --publish 4999 \
      -e IN=172.18.0.1:4999 \
      basi/socat:v0.1.0
    
    
    #5. alertmanager用于对监控指标进行告警
    docker \
      service create --name alertmanager \
      --network monitoring \
      --label com.docker.stack.namespace=monitoring \
      --container-label com.docker.stack.namespace=monitoring \
      --publish 9093:9093 \
      -e "SLACK_API=https://hooks.slack.com/services/TOKEN-HERE" \
      -e "LOGSTASH_URL=http://logstash:8080/" \
      basi/alertmanager \
        -config.file=/etc/alertmanager/config.yml
    
    #6. prometheus是监控系统,内含时序数据库,能接入各种metrics,用图形展示。
    docker \
      service create \
      --name prometheus \
      --network monitoring \
      --label com.docker.stack.namespace=monitoring \
      --container-label com.docker.stack.namespace=monitoring \
      --publish 9090:9090 \
      basi/prometheus-swarm \
        -config.file=/etc/prometheus/prometheus.yml \
        -storage.local.path=/prometheus \
        -web.console.libraries=/etc/prometheus/console_libraries \
        -web.console.templates=/etc/prometheus/consoles \
        -alertmanager.url=http://alertmanager:9093
    
    #7. prometheus的图形展示比较渣,用grafana整合下,更加美观
    docker \
      service create \
      --name grafana \
      --network monitoring \
      --label com.docker.stack.namespace=monitoring \
      --container-label com.docker.stack.namespace=monitoring \
      --publish 3000:3000 \
      -e "GF_SERVER_ROOT_URL=http://grafana.${CLUSTER_DOMAIN}" \
      -e "GF_SECURITY_ADMIN_PASSWORD=yourPassword" \
      -e "PROMETHEUS_ENDPOINT=http://prometheus:9090" \
      -e "ELASTICSEARCH_ENDPOINT=$ES_ADDRESS" \
      -e "ELASTICSEARCH_USER=$ES_USERNAME" \
      -e "ELASTICSEARCH_PASSWORD=$ES_PASSWORD" \
      basi/grafana
    

    我这里五台机器,创建成功在swarm manager查看服务如下:

    0_1492504904315_upload-6f676b87-e42d-41e1-80a4-1bce2e6b9f45

    3. 查看prometheus

    0_1492504919428_upload-e4f3ec9c-9e87-42a2-a286-79c080dda283

    发现需要监控的目标都已经被prometheus管理即可:

    0_1492504934108_upload-1caff682-9c42-4645-bbac-93692985f600

    点击graph按照如下操作

    0_1492504953524_upload-ac91614f-5dac-441b-827a-9361ef0143ba

    4. grafana

    默认的管理员账号为admin,密码由GF_SECURITY_ADMIN_PASSWORD环境变量指定。

    4.1 增加promethus数据源

    0_1492504969597_upload-dc13ebed-3367-4f40-9d94-f08ed85cf0a8

    填写具体内容,注意这里url不要填写IP,填写容器的名字。毕竟IP是可以变动的,灵活性差。

    0_1492504991084_upload-c7aa86e0-15f1-4c35-943f-b3cfcb956a86

    好了之后点击上面的Dashborads,并且点击蓝色的import,就导入了promethus的仪表盘了。仪表盘的内容是prometheus程序本身的一些监控指标。

    0_1492505008197_upload-399209e2-8430-4581-a2eb-c35393567602

    4.2 增加docker metrics仪表盘

    非常幸运的,basi/prometheus-swarm的作者提供了grafana的配置模板,直接导入即可用。下载地址:Docker Engine Metrics

    在grafana里面选择导入新的仪表盘:

    0_1492505030110_upload-5147be3b-c07a-4ca6-a4bb-52d0d9a3cc0a

    直接导入刚才下载的文件即可:

    0_1492505045274_upload-994da73d-131b-4840-bf6f-d53b4b36db82

    接下来就看到prometheus的一些监控指标就在grafana里面呈现了。自己可以增加其他ROW。

    0_1492505064543_upload-a071f025-6d61-44d4-9d98-7b762a2a5bd6

    参考资料:

    https://medium.com/@basilio.vera/docker-swarm-metrics-in-prometheus-e02a6a5745a#.r7rehktdu



  • 安全通论(20)----安全攻防的经济演化规律

    杨义先,钮心忻

    北京邮电大学信息安全中心

    公共大数据国家重点实验室

    摘要:借助进化论思想,以经济目标为量化手段,利用协同学中的现成结果,本文建立了网络空间安全攻防的演化模型,并给出了具体的安全演化行为公式,及其解析解的稳定性分析。根据本文的结果,针对具体的信息系统,如果能对相关参数值进行估计的话(在沙盘演练的场景下,这些参数肯定是能够获得的),那么,该系统的安全对抗演化轨迹将清晰可见,这对网络攻防的全面量化理解,显然是很有帮助的。另外,即使是不知道实际系统的相关演化参数,我们也可以事先针对尽可能多的参数,绘制出相应的攻防演化轨迹曲线图,以备实战中参照使用。

    (一)前言

    由于达尔文等生物学家们的杰出贡献,如今,以“物竞天择,适者生存”等为代表的进化论口头禅,早已家喻户晓;即,由于生物间存在着生存斗争,适应者生存下来,不适者则被淘汰,这就是自然选择。而且,生物们正是通过遗传、变异和自然选择,从低级到高级,从简单到复杂,种类由少到多地进化着、发展着。更进一步地,科学家们还把进化论的思想和原理,推广到其它学术领域,并获得了不少成果,比如,形成了演化金融学、演化证券学、演化经济学等多个新兴交叉学科。纵观这些进化(或演化),它们都有一个共同特点,即,生物之间、产品之间、证券之间等,都存在着充分的竞争。而正是这些竞争,才推动了相关的演化或进化。

    反省网络空间安全,其中也存在激烈的竞争(即,红客和黑客之间的对抗;这种对抗的激烈程度,一点也不亚于生物斗争),因此,很容易想到:网络安全对抗过程,其实也是一个演化(进化)过程。但是,如果仅仅到此为止,那就没什么稀奇了,因为甚至连半文盲都能作此联想,而且,进化(或演化)一词,在许多场合,早已被用滥了。

    达尔文虽然断言了动物们的演化过程,但是,从数学上看,它们到底是怎么演化的呢?至今谁都不知道,因为,生物们的斗争,实在太复杂了:有的靠利齿取胜,有的用速度躲灾;有的上九天揽月,有的下五洋捉鳖;反正,各有各的招,各耍各的刀。并且,生物之间的生存斗争,很难量化,即使是想转化为经济价值,也是几乎不可能的。

    不过,与自然界的生物斗争等相比,网络空间安全对抗,在其进化(演化)的量化分析方面,有两大优势:

    其一,斗争的形式,相对更简单,只有“攻”和“守”两招,当然每一“招”中,其手段也是千差万别(《安全通论》的最终目标,就是希望将这些“千差万别”合而为一)。而且参与斗争的人员可以很多(比如,全球70亿人都可以同时扮演着攻方(黑客)和守方(红客)的角色),而且,还可以彼此乱斗,形成海量的利益集团。

    其二,也是最重要的优势是,网络空间中的攻防斗争,无能表面上的目的如何,也无论某个阶段的目的如何,其最终目的都可以用一个字来归纳,那就是“钱”!这就为本文的量化研究,奠定了坚实的基础。(注:这是从统计角度给出的结论,也许有极个别的例外,但是,绝大部分攻防都是“能够用钱摆平的”!)

    如果投入X块钱用于攻击(称为黑客投资),虽然针对不同的攻击手段、不同的攻击者、不同的攻击对象,攻方所能够获得的经济效益(行话叫“黑产收入”)是不相同的;但是,从统计角度来看,经过一段时间的振荡后,黑产收入一定会逼近某个数值。因为,你可以将不同的攻击手段当作“商品”,经过一段时间的“竞价”后,该商品的价格(即,黑产收入的逼近值),在亚当斯密的那只看不见的手的作用下,就一定是稳定的。换句话说,投资者可以用X块钱,去“购买”最值的攻击。

    同理,如果投入Y块钱用于防守(称为红客投资),虽然针对不同的防守措施、不同的防守者、不同的防守对象,防守方所能够获得的经济效益也是不相同的,而且,还是很难知道的(若只单独观察某个固定的信息系统,甚至连信息系统的拥有者,都不知道安全防护措施到底创造了多少经济效益;实际上,从经济上看,当前全世界的安全防护都是在“跟着感觉走”);但是,从统计角度来看,经过一段时间的振荡后,该“很难知道的经济效益”也一定会逼近某个数值。因为,你可以将防守措施当作“商品”,经过一段时间的“竞价”后,该商品的价格(即,安全保障效益的逼近值),在亚当斯密的那只看不见的手的作用下,也一定是稳定的。换句话说,投资者可以用Y块钱,去“购买”最值的防守。

    当然,必须承认,无论是黑客投资X,还是红客投资Y,其最终逼近值的确定,都是非常困难的问题,但是,从理论上说,它们确实也是存在的。我们不打算探讨逼近值的求解问题,下面直接用黑客投入X和红客投入Y的值,来量化攻守各方的能力。这样做的合理性,也可以直观地理解为:投入越多,回报越大嘛。

    必须明确强调的是,1块钱的红客投资所构建的防守体系,并不能抵挡1块钱的黑客投资所产生的攻击力;反之亦然。但是,从统计角度来看,经过一段时间的振荡后,“1块钱的红客投资”与“1块钱的黑客投资”之间,一定有一个比较稳定的当量比值k,这个比值还会根据不同的网络系统、不同的攻防场景和不同的时间,而发生变化。在下面的分析中,我们假定这个比值为1,这样做仅仅是为了简化分析而已。本文中,我们还做了许多类似的假定,毕竟过多的细节会喧宾夺主;当然,这也意味着,本文还需许多后续改进,所以,欢迎所有读者积极投入《安全通论》的研究之中。

    (二)网络攻防斗争的演化模型与轨迹

    对给定的某个信息系统A(比如,全世界的网络组成的网络空间,或其某个子系统等),假定共有N个人对该系统的攻防有兴趣(这里的“人”可能是自然人,也可能是团体等)。在时刻t,记第i个人用于攻击的投资为Ei(t),用于防守的投资为Ri(t),因此,用于攻防的整体投资为Ii(t)=Ei(t)+Ri(t)。这里,攻击目标和防守目标,都是系统A的某些子系统;当然,不同的人,所攻击和防守的目标是不相同的。也许有的人是纯黑客,只攻不守,即,Ei(t)=0;也许有的人是纯红客,只守不攻,即,Ri(t)=0。再假定,每个人用于攻防的投资总额是不变的,即,Ii(t)的总预算额不变,攻击投资Ei(t)越多,防守投资Ri(t)就越少。更明确地说,必要时,Ei(t)和Ri(t)还可理解为:此人分别用于攻击和防守的投资比例。(注意:攻防开销只是网络用户的部分开销,毕竟除了攻防之外,人们还有更多、更重要的事情要做,所以,攻防之外的经费都不在本文的考虑之列)

    将所有人的攻击投资之和记为E(t),防守投资之和记为R(t),于是,用于攻防的总投资额就为I(t)=E(t)+R(t)。

    在众多的各类攻防手段中,攻防投资的比例终将稳定在一个固定的值上,即,攻击投资平均值E0(t)和防守投资平均值R0(t)。当然,由于每个人的目标不同,而且外界情况也千变万化,所以,攻防投资之间的比例一定会随着时间的变化而变化,本文就是力图找出这种比例的变化规律,从而把握整体安全趋势,展现攻防对抗的轨迹。

    由于E(t)和R(t)都围绕其平均值E0(t)和R0(t)而涨落,其涨落的幅度记为B(t),它可正可负,记E(t)=E0(t)+B(t),于是,R(t)=R0(t)-B(t),这里B(t)的变化范围满足不等式–E0(t)<B(t)<R0(t)。将攻击投资与防守投资的差额在总投资中的比例定义为“攻防结构指数”Z(t),即,

    Z(t)=[E(t)-R(t)]/[E(t)+R(t)] =[E(t)-R(t)]/I(t) (1)

    将攻防结构指数Z(t)分成其“平均值部分Z0(t)”和“涨落部分z(t)”之和,即,

    Z(t)=Z0(t)+z(t) (2)

    其中Z0(t)=[E0(t)-R0(t)]/I(t)和z(t)=2B(t)/I(t)将是我们的研究重点,它们将揭示整体的安全演化规律。

    设在t时刻攻击投资的人数为NE(t),防守投资的人数为NR(t),于是称{NE(t),NR(t)}为此刻的攻防者投资结构。由于每个人既可以为攻击投资,也可以为防守投资,所以,NE(t)+NR(t)≤2N。

    再假定不存在纯黑客或纯红客(在现实中确实也是这样,一方面,黑客他总得投资防守自身的子系统吧,所以,纯黑客不存在;另一方面,哪一个人不想去占一点别人的便宜呢,所以,纯红客不存在),所以,NE(t)+NR(t)=2N。

    由于在t时刻,攻防投资总额为I(t),所以,针对某个具体人来说,攻防的投资平均值就为i(t)=I(t)/(2N),再将其细分为攻击投资平均值e0(t)=E0(t)/(2N)和防守投资值r0(t)=R0(t)/(2N),即,

    i(t)=I(t)/(2N)=e0(t)+r0(t) (3)

    如果某人的攻防投资分别为平均值e0(t)和r0(t),那么,就称此人为“中立者”。

    如果某人的攻击投资eE(t)大于攻击平均数e0(t)(当然,其防守投资rE(t)就小于防守平均值r0(t)。注意,这里其实暗含了“投资比例”的概念,以避免某人的绝对投资额特大或特小的情况),即,i(t)=eE(t)+rE(t),其中eE(t)=e0(t)+b且rE(t)=r0(t)-b,此处b>0。那么,此人就称为攻击型人员;

    如果某人的防守投资rR(t)大于防守平均数r0(t)(当然,其攻击投资eR(t)就小于攻击平均数e0(t)。注意,这里也暗含了“投资比例”的概念,以避免某人的绝对投资额特大或特小的情况),即,i(t)=eR(t)+rR(t),其中eR(t)=e0(t)-b且rR(t)=r0(t)+b,此处b>0。那么,此人就称为防守型人员。

    由于我们已经假定了

    NE(t)+NR(t)=2N (4)

    因此,攻防投资者结构{NE(t),NR(t)}便可简化为一个变量N(t),它定义为

    N(t)=[NE(t)-NR(t)]/2 (5)

    故,攻击型人员增加一个(当然,防守型人员就要减少一个)的演化过程,就可标记为:{NE(t),NR(t)}→{NE(t)+1,NR(t)-1},也可以简化为N(t)→N(t)+1;攻击型人员减少一个(当然,防守型人员就要增加一个)的演化过程,就可标记为:{NE(t),NR(t)}→{NE(t)-1,NR(t)+1},也可以简化为N(t)→N(t)-1。

    为了方便连续化处理,将攻防投资结构用下面的“攻防者结构指数”来表示:

    x(t)=N(t)/N, -1≤x(t)≤1 (6)

    它其实就是攻击型人数与防守型人数之差的整体平均。在深入研究之前,我们先回答公式(1)中的攻防结构指数Z(t),和公式(6)中的攻防者结构指数x(t)之间的关系。

    定理1:攻防结构指数Z(t)和攻防者结构指数x(t)之间的关系,满足如下公式

    z(t)=4Nbx(t)/I(t) (7)

    证明:由于Z(t)=[E(t)-R(t)]/[E(t)+R(t)],并且E(t)= eENE+eRNR= NE(e0+b)+NR(e0-b)

    和R(t)= rENE+rRNR= NE(r0-b)+NR(r0+b),将它们代入Z(t)的定义,见公式(1),便有:

    Z(t)=(E0(t)-R0(t))/I(t) +4Nb/I(t) = Z0(t) + 4Nbx(t)/I(t)

    所以z(t)=4Nbx(t)/I(t)。证毕。

    注意到攻防的总投资是不变的,即,I(t)为常数,所以,根据定理1,攻防演化规律既可以用攻防结构指数Z(t)来描述,也可以用攻防者结构指数x(t)来描述,还可以等价地用攻防投资者结构{NE(t),NR(t),t}来描述,为简捷计,我们采用攻防投资者结构来展开后续分析。

    虽然每个人的攻防资金总额是固定的,但是,分别用于攻或防的资金比例分配却是随机的(至少外人是不知道的,甚至,经常是当事人自己也不一定清楚其分配理由),故只能研究t时刻具有攻防投资者结构{NE(t),NR(t),t}的概率分布P(NE(t),NR(t),t),记它为P(n,t)。该概率分布当然满足如下归一化条件,即,

    ∑n=-NNP(n,t)=1 (8)

    如果在单位时间内,某个防守型人员转变成了攻击型人员,将此事件发生的概率记为PE←R[NE,NR],或更简捷地记为P↑(n);相反,如果在单位时间内,某个攻击型人员转变成了防守型人员,将此事件发生的概率记为PR←E[NE,NR],或更简捷地记为P↓(n)。

    由于事件{NE,NR}→{NE+1,NR-1}(即,攻击型人员增加一个,当然防守型人员就减少一个)发生的概率等于单个防守型人员转变成攻击型人员的概率P↑(n)乘以可转移的防守型人员数目,即,该概率为

    W↑(n)=NRP↑(n)=(N-n)P↑(n) (9)

    同理,由于事件{NE,NR}→{NE-1,NR+1}(即,攻击型人员减少一个,当然防守型人员就增加一个)发生的概率等于

    W↓(n)=NEP↓(n)=(N+n)P↓(n) (10)

    于是,攻防的演化规律可以由概率P(n,t)随时间变化的情况来刻画,即有如下微分方程,

    dP(n,t)/dt=[W↑(n-1)P(n-1,t)+W↓(n+1)P(n+1,t)]

    -[W↑(n)P(n,t)+W↓(n)P(n,t)] (11)

    分别考察此式中的各个分项,将它们展开便知

    W↑(n-1)P(n-1,t)= W↑(n)P(n,t)-(Δn)ð[W↑(n)P(n,t)]/(ðn)

    +[(Δn)2/2]{ð2[W↑(n)P(n,t)]/ðn2} (12)

    (注:由于所用编辑器的限制,此文用ð来代表偏微分符号)同样有,

    W↓(n+1)P(n+1,t)=W↑(n)P(n,t) + (Δn)ð[W↓(n)P(n,t)]/(ðn)

              +[(Δn)2/2]{ð2[W↓(n)P(n,t)]/(ðn2)}              (13)
    

    将展开后的分项公式(12)和(13),代回原来的公式(11),便有

    dP(n,t)/dt=-ð[(W↑(n)-W↓(n))P(n,t)]/(ðn)

    +{ð2[(W↑(n)+W↓(n))P(n,t)]}/(2ðn2) (14)

    记x=n/N,则可记W↑(n)=Nω↑(x)和 W↓(n)=Nω↓(x),将它们代入公式(14),便有,

    dP(x,t)/dt= -(1/N){ð[N(ω↑(x)-ω↓(x))P(x,t)]}/(ðx)

       +(1/2)(1/N2){ð2[N(ω↑(x)+ω↓(x))P(x,t)]}/(ðx2)
    
       = -ð[(ω↑(x)-ω↓(x))P(x,t)]}/(ðx)
    
        +(1/2)ε{ð2[(ω↑(x)+ω↓(x))P(x,t)]}/(ðx2)
    

    将此式简记为

    dP(x,t)/dt =-ð[K(x)P(x,t)]/(ðx) + (ε/2)ð2[Q(x)P(x,t)]/(ðx2) (15)

    其中,K(x)=ω↑(x)-ω↓(x)和Q(x)=ω↑(x)+ω↓(x),以及ε=1/N。用x乘以公式(15)的左右两边,并对x积分(积分的上下限分别为+1和-1),于是,得到均值方程如下,

    d<x>/dt=<K(x)> - (ε/2)[Q(x)P(x,t)]│x=-1x=1 (16)

    在公式(16)中,忽略边界贡献,因为,在边界x=1或x=-1处,所得的概率值P(x,t)都很小,所以,便可得到

    d<x>/dt=<K(x)> (17)

    若P(x,t)只有一个峰值,那么,可将K(x)在<x>附近展开为泰勒级数

    K(x)=K(<x>)+K’(<x>)(x-<x>)+ (1/2)K’’(<x>)(x-<x>)2+……

    只取该式的第一项,则公式(17)变为d<x>/dt =K(<x>),如果假设平均径迹就是实际径迹,那么,该式又可重写为

    dx/dt = K(x(t)) (18)

    结合攻防投资结构的具体模型,可写出函数K(x(t))=ω↑(x)-ω↓(x)。又由于ω↑(x)和ω↓(x)可以写为

    ω↑(x)=v(1-x)exp(δ+kx)和ω↓(x)=v(1+x)exp[-(δ+kx)] (19)

    其中,δ表示相关人员对攻击或防守的偏好,称为“互变因子”。当δ为正时,表示此人喜欢攻击;当δ为负时,表示此人喜欢防守。当然,这种偏好也会随着时间的变化而变化。

    公式(19)中的k值,表示某人追随别人,在攻击型和防守型之间转换的速度(即,此人是否喜欢赶时髦,随大流)。当k值较大时,若x>0(即,多数人为攻击型),则促进了大家向攻击型人员转变;若x<0(即,多数人为防守型),则不利于大家向攻击型人员转变。所以,

    K(x,δ,k)=2v[sh(δ+kx)-xch(δ+kx)] (20)

    V=[2v/K2][kxsh(δ+kx)-(1+k)ch(δ+kx)] (21)

    于是,公式(17)变为

    dx/dt = 2v[sh(δ+kx)-xch(δ+kx)] (22)

    这便是攻防斗争的演化方程,它显示了网络空间安全对抗中,攻击型人员与防守型人员之间相差值的变化情况。归纳上述论述,便有如下结论。

    定理2:在网络空间安全对抗中,在t时刻,攻击型人数与防守型人数之差的平均值(即,除以总人数2N)x(t)的演化规律,由微分方程dx/dt = 2v[sh(δ+kx)-xch(δ+kx)]来描述。

    该定理给出了一个很明晰的安全对抗演化轨迹。当然,针对实际的网络系统,我们很难确定其中的参数v,δ和k等,但是,在某些特殊情况下(比如,沙盘演练),经过充分的统计和测试,还是可以在一定误差范围之内,给出这些参数的估计值,从而可以明确地把握攻防对抗的演化轨迹。即使是在无法确定这些参数的情况下,定理2的价值也仍然存在,比如,可以罗列尽可能多的各类参数组合,事先绘制出各种情况下,攻防对抗的演化轨迹图,那么,对把握实战过程中的趋势情况也是有帮助的。定理2还有其它潜在的应用价值,此处就不赘述了。

    由于公式(22)中的δ更形象,它代表了相关人员在攻击型和防守型之间的来回“跳槽”情况,所以,我们对δ进行单独的深入分析。由于这种转变率也是随时间而变化的,所以,我们将它记为δ(t),并给出δ(t)的演化规律。

    我们有理由(“反馈+微调”机制,或“阻尼”现象)假定,当攻击型和防守型人员一样多(即,x=0)时,δ(t)将最终朝着没有任何偏好的方向变化,即,当时间t趋于无穷大时,δ(t)→0。同时,当x<0,即,防守型人员更多时,δ(t)应趋向于朝攻击型转变,即,当时间t趋于无穷大时,δ(t)→δ0;反之,x>0时,即,攻击型人员更多时,就该向防守型转变,即,当时间t趋于无穷大时,δ(t)→-δ0。据此,可写出δ(t)的方程

    dδ(t)/dt= μ[δ0-δ(t)]exp[-βx(t)]-μ[δ0+δ(t)]exp[βx(t)] (23)

    其中μ>0,β>0,δ0>0。于是,公式(23)又可变为

    dδ(t)/dt=L(x,δ,k) (24)

    其中,L(x,δ,k)=-2μ{δ0sh[βx(t)]+[δ(t)-δ1]ch[βx(t)]},这里的δ0称为战略决策幅度,它其实就是攻、防互变的因子,它的大小是可变的,变化范围限于δ的允许值;β是趋向反转的速度因子,它反映了δ随x变化的速度的快慢;μ是攻防的灵活性参数,描述了相关人员在攻击和防守之间变换的灵活程度;δ1表示整体人员对防守型的偏好程度。

    综上,我们有如下定理。

    定理3:在网络空间安全对抗中,在t时刻,在攻击型和防守型人员之间来回“跳槽”情况δ(t),可由如下微分方程来描述

    dδ(t)/dt=-2μ{δ0sh[βx(t)]+[δ(t)-δ1]ch[βx(t)]}

    其中各参数的定义如前面所述,此处不再重复了。同样,关于此定理的理解和应用,也与定理2类似,此处略去。

    到此,由定理2和定理3(或由公式(22)和(24)构成的耦合方程),就决定了攻防投资者结构的演化规律,也就是网络空间安全对抗中,红客和黑客力量对比的演化规律。只要能够通过实测等手段,确定了这些公式中的相关参数值,那么,安全对抗的演化过程就被清楚地用量化方法刻画出来了。

    (三)攻防斗争演化的稳定性分析

    在一般情况下,网络空间安全攻防斗争演化方程(即,公式(22)和公式(24))是不能求出精确解的,只能进行数值计算。下面在δ1=0的假定下(即,整体人员对防守型的偏好程度为0),证明对任何k值,都存在定态解,并对该解进行线性稳定性分析。

    根据公式(22)和(24),定态方程为

    2v[sh(δ+kx)-xch(δ+kx)]=0 (25)

    -2μ{δ0sh[βx]+[δ-δ1]ch[βx]}=0 (26)

    令δ1=0,则公式(26)变为

    -2μ{δ0sh[βx]+δch[βx]}=0 (27)

    由公式(27)可见,对任意k值,(x0,δ0)=(0,0)满足公式(25)和公式(27)。为了看清该定态解的线性稳定性,我们先将定态方程中的有关函数展开如下,

    Sh(δ+kx)=(δ+kx)+1/(3!)3+1/(5!)5+…… (28)

    ch(δ+kx)=1+1/(2!)2+1/(4!)4+…… (29)

    sh(βx)=βx+1/(3!)3+…… (30)

    ch(βx)=1+1/(2!)2+…… (31)

    若使零解x0、δ0受一小扰动x(t)→x0+a(t),δ(t)→δ0+b(t),由公式(28)、(29)、(30)和(31),以及公式(25)和公式(27),得到线性化的零解扰动方程为

    da/dt=2v[b+ka-a]=2v(k-1)a+2vb (32)

    db/dt=-2μ[δ0βa+b]=-2μδ0βa-2μb (33)

    将公式(32)和公式(33)写成矩阵形式,便是dQ/dt=LQ,其中Q=(a,b)T是2维列向量;L=[Lij]是2X2阶方阵,并且L11=2v(k-1),L12=2v,L21=-2μδ0β,L22=-2μ。所以,它的本征方程就是LQ=λQ,其本征值为

    λ=[v(k-1)-μ]+{[μ+v(k-1)]2-4μvδ0β}1/2

    λ=[v(k-1)-μ]-{[μ+v(k-1)]2-4μvδ0β}1/2

    于是,关于网络安全对抗的攻防斗争演化的稳定性,就有如下定理4,

    定理4:按照上述的术语和定义,我们有如下结论:当μ+v(k-1)<(4μvδ0β)1/2且k=kc=1+μ/v=1+r(其中r=μ/v)时,定态(c,0)失稳,将分岔出极限环,即,产生稳定的时间周期解。也就是说,当k<1+r且μ+v(k-1)<(4μvδ0β)1/2时,(0,0)解是稳定的焦点;当当k>1+r且μ+v(k-1)<(4μvδ0β)1/2时,(0,0)解是不稳定的焦点,此时,即使k还不是很大时,就可能出现极限环。

    (四)结束语

    现在回顾一下本文的几个基本要素:

    要素1,用达尔文进化论(演化)的眼光去看待网络空间安全对抗,其实并不意外。因为,随着进化论的普及,当我们回过头去,重新看待世界上所发生所有事物时,都不难“事后诸葛亮”般地发现:原来这个世界,根本上就是进化(演化)的世界,而且,进化的核心原理就是“反馈+微调”!虽然关于进化论还有争论,但那是生物学家们的事,与本研究无关。虽然进化和演化其实是有区别的,但是,这种差别在我们眼里可以忽略不计,因为,我们只关心量化的动态变化规律。所以,在我们眼里生物在进化,潮汐在进化,山水大气也在进化;星球在演化,社会在进化,网络空间更是在进化。其实,网络的硬件、软件、应用程序等的兴衰存亡,无不依赖于进化。只可惜,嘴上说说“进化”很容易,但是,要搞清楚“到底是如何进化的”就难了,要想量化就难上加难了。幸好本文发现的“网络空间安全对抗的进化规律”是量化的。

    要素2,用经济学的眼光去看待网络空间安全对抗,也不意外了。因为,在《安全通论》的前面几章(比如文献[18]和[19]等),我们已经这样做过了。当然,这种直白的“向钱看”观点(即,安全攻防的最终目标是追求经济利益),会使个别道德感特强的黑客和红客很不服气,因为,他们都坚称:“自己追求的是正义事业,与钱无关”。我不想对此做任何辩解,但是,幸好安全攻防能够转化为经济指标,否则就无法进行量化研究了。能够有如此幸事的领域并不多(比如,随便就可举一个无法量化研究的例子:请问互联网将如何进化,其进化的量化轨迹是什么?)否则,进化论的许多应用就不会被认为是“滥用”了。

    要素3,用统计学的眼光去看待网络空间安全对抗,还是不意外。其实,网络空间的本名,叫“赛博空间”。而赛博学(过去被误译为《控制论》,见文献[22])的核心世界观之一就认为“赛博世界是不确定的,它会受到周围环境中若干偶然、随机因素的影响”;赛博学的核心方法论之一就是“统计理论”,因此,用统计指标去凝练网络空间安全对抗的相关概念的做法,既合理也自然。不过,客观地说,在当今全球的信息安全界,也许大家过于忙着应对各种紧急事件,对统计的威力还认识不够,总喜欢纠结于具体的攻防手段,而对整体的宏观规律重视不够,所以,常常是“只见树木,难见森林;甚至是只见树叶,未见树枝”。希望《安全通论》能够适当改善此种状况。

    要素4,用协同学方法去建立和分析本文中的模型,仍然不意外。其实,熟悉协同学的读者,也许会发现:本文的模型和数学推导基本上只是“小儿科”,最多可算做“一道普通的练习作业题”而已。实际上,对只有两种“力量”推动的协同系统,其协同规律基本上都可以照此办理(见文献[21])。不过,遗憾的是,在网络安全领域,人们还来不及重视《协同学》、《系统论》、《控制论》、《突变理论》、《耗散结构理论》等动力学理论,甚至只拿它们当作某种新的哲学观而已,没有深入研究它们与网络空间安全的紧密联系。换句话说,本文“没有生产矿泉水”,而只是当了“大自然的搬运工”。

    总之,如果单独考察以上四个要素,个个都平淡无奇。

    本文唯一出人意料的是:所有这四个平淡的要素,刚好都能在分析网络空间安全对抗的演化规律中排上用场,而且还“严丝合缝”!这就像将一堆普通珍珠,串成了精美的项链一样;或者像是用普通的食材,烹调出了一份可口的四川回锅肉。

    客官,请慢用!

    (五)参考文献

    [1]杨义先,钮心忻,安全通论(1)之“经络篇”,见杨义先的科学网实名博客(http://blog.sciencenet.cn/blog-453322-944217.html)

    [2]杨义先,钮心忻,安全通论(2):攻防篇之“盲对抗”,见杨义先的科学网实名博客,(http://blog.sciencenet.cn/blog-453322-947304.html

    [3]杨义先,钮心忻,安全通论(3):攻防篇之“非盲对抗”之“石头剪刀布游戏”,见杨义先的科学网实名博客,

    http://blog.sciencenet.cn/blog-453322-948089.html)

    [4]杨义先,钮心忻,安全通论(4):攻防篇之“非盲对抗”之“童趣游戏”,见杨义先的科学网实名博客,(http://blog.sciencenet.cn/blog-453322-949155.html)

    [5] 杨义先,钮心忻,安全通论(5):攻防篇之“非盲对抗”收官作及“劝酒令”,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-950146.html

    [6] 杨义先,钮心忻,安全通论(6):攻防篇之“多人盲对抗”,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-954445.html

    [7]杨义先,钮心忻,安全通论(7):黑客篇之“战术研究”,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-956051.html

    [8] 杨义先,钮心忻,安全通论(8):黑客篇之“战略研究”,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-958609.html

    [9] 杨义先,钮心忻,安全通论(9):红客篇,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-960372.html

    [10] 杨义先,钮心忻,安全通论(10):攻防一体的输赢次数极限,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-984644.html

    [11]杨义先,钮心忻,安全通论(11):信息论、博弈论与安全通论的融合,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-989745.html

    [12]杨义先,钮心忻,安全通论(12):对话的数学理论,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-993540.html

    [13]杨义先,钮心忻,安全通论(13):沙盘演练的最佳攻防对策计算,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1000428.html

    [14]杨义先,钮心忻,安全通论(14):病毒式恶意代码的宏观行为分析,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1001684.html

    [15] 杨义先,钮心忻,安全通论(15):谣言动力学,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1003586.html

    [16] 杨义先,钮心忻,安全通论(16):黑客生态学,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1005963.html

    [17] 杨义先,钮心忻,安全通论(17):网络安全生态学,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1007253.html

    [18]杨义先,钮心忻,安全通论(18):网络安全经济学(1):攻防一体,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1040388.html

    [19]杨义先,钮心忻,安全通论(19):网络安全经济学(2):安全熵论,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-1042638.html

    [20]杨义先,刷新你的安全观念,见杨义先的科学网实名博客,http://blog.sciencenet.cn/blog-453322-983276.html

    [21] 吴大进等著,协同学原理和应用,1990.10,华中理工大学出版社出版,武汉。

    [22]杨义先,正本清源话“赛博”,见杨义先的科学网实名博客,

    http://blog.sciencenet.cn/blog-453322-994330.html

    转载本文请联系原作者获取授权,同时请注明本文来自杨义先科学网博客。
    链接地址:http://blog.sciencenet.cn/blog-453322-1049099.html


登录后回复
 

与 区块链大学 | qkldx.net 的连接断开,我们正在尝试重连,请耐心等待