精华内容
下载资源
问答
  • 都说区块链就是一种数据库,那区块链和传统数据库到底有什么区别呢? 传统数据库拥有与其记录相关的授的客户机可以更改放在统一服务器上的部分。... 而对于区块链数据库而言,每个成员都要更新、计算和...

         都说区块链就是一种数据库,那区块链和传统数据库到底有什么区别呢?

           传统数据库拥有与其记录相关的授的客户机可以更改放在统一服务器上的部分。通过演进“ace副本,无论客户端在什么时候使用他们的PC访问数据库,他们都将获得数据库部分的更新适应。对数据库的控制仍由专人负责,需要考虑到访问权限,并同意保持专人专家的身份。

      对于区块链数据库而言,每个成员都要更新、计算和刷新进入数据库的新段落。所有的中心都在合作,以确保它们在很大程度上达成了类似的决议,为系统提供了内部制造的安全性。

    这种区别的结果是:区块链适合作为特定容量的记录安排,而集中的数据库完全适合不同的能力。

      分散控制

      区块链允许不同的、互不信任的集会,在不需要集中监管的情况下共享数据。交易所是由一个客户系统来处理的,它作为一个协议的组成部分,目的是让每个人都在同一时间做出相同的共享安排。

      分散控制的优点是消除了统一控制的危险性。使用合并的数据库,任何对该框架有足够访问权的人都可以消除或简并其中的信息。

      总的来说,一些经理赢得了人们对他们的信任。例如,个人的现金不会被记录在私人数据库中的银行窃取。更重要的是,在你需要集中控制的背后有一个连贯的动机。把控制结合起来可以成为一种名利,一种存在背后的目的。

      然而,这同样意味着那些拥有控制权的人,例如银行,需要耗费数十亿美元来保护这些半途持有的数据库,使其不被程序员或任何其他可能希望从他人的不幸中获益的个人更改。如如果我们信任的焦点管理者以这种方式保持数据的神秘性,那时候我们就输了。

      纵观历史

      大多数统一数据库最迟在一分钟内保持最新状态。它们几乎是一分钟的预览。

      区块链数据库可以保存现在可用的数据,而且还可以保存以前的所有数据。区块链的创新可以使数据库拥有自己的帐户。他们就像有规律地发展自己的历史文件,同时又提供了一个连续的表现一样。

      平衡或更改这些数据库所需的成本促使个人将区块链数据库称为永久数据库。此外,在这里我们可以开始看到数据库向记录安排的进步。

      执行

      虽然区块链可用于记录框架,并且作为交换阶段是完美的,但与我们今天在VisaPayPal中看到的计算机化交换创新相比,它们被视为与数据库一样温和。

      虽然对这种执行会有积极的改进,但是区块链创新的本质要求我们放弃一些速度。在区块链创新中使用的适当系统的方式意味着它们不共享和复合准备能力,它们各自自主地对系统有利,在这一点上,它们各自将各自工作的后果与系统中所剩的一切进行对比,直到达成某种事情发生的一致为止。

      然后,把已经存在了相当长的一段时间的数据整合在一起,并且发现它们执行是一种不断增加的bolt风险,并带来了计算机时期发展的特点:摩尔定律。

      隐私

      比特币是一种不受控制的数据库。这意味着任何人都可以在链中组成另一个正方形,任何人都可以在链中仔细阅读这个正方形。

      一个被许可的区块链,类似于一个汇集的数据库,可以被组合控制和读取控制。这意味着可以设置系统或约定,以便只允许成员编写到数据库中或读取数据库。

      然而,在以隐私为主要目标的情况下,信任不是问题,所以与合并的数据库相比,区块链数据库不代表首选的立场。

      要在区块链上隐藏数据,需要对系统中的集线器进行加密和相关的计算权重。没有比将信息完全隐藏在不需要安排可用性的私有数据库中更有说服力的方法了。

      想想伊森·亨特在《碟中谍》中的每一个数据库,你就能感受到那种在私人数据库中可以想象得到的那种分类了。

     

    作者:比特猫

    原文链接:https://www.kg.com/article/519815904964513792

    转载于:https://www.cnblogs.com/space007/p/10077050.html

    展开全文
  • Blockchain Database API 基于区块链技术的数据库架构
  • 雷锋网从如何将区块链与开源数据库,到链改、无币区块链,再到对于联盟链、公有链的架构建议,在近日2018中国区块链大会上,中国分布式总账基础协议联盟技术委员会主任、中科院博士生导师白硕分享了满满干货。...
    TB1Tn1xspYqK1RjSZLeXXbXppXa.jpg

    雷锋网从如何将区块链与开源数据库,到链改、无币区块链,再到对于联盟链、公有链的架构建议,在近日2018中国区块链大会上,中国分布式总账基础协议联盟技术委员会主任、中科院博士生导师白硕分享了满满干货。

    雷锋网AI金融评论了解到,白硕认为,中国没有成熟可用的商业数据库,一直是一大痛点,而实际上,可能有个很好的思路实现去IOE,“区块链+开源数据库,这两个结合可以大于等于商业数据库……区块链来做日志,做存储过程,做高可用支持,开源数据库做查询、做数据困难,做高性能的支持,把这两个耦合起来,相当于商业数据库的能力,但是花的钱很少,成本很低。”

    以下是演讲原文,雷锋网(公众号:雷锋网)AI金融评论作了不改变原意的编辑:

    曾经,区块链的阵营有两股力量,一股向左,一股向右,向右以公链为代表,强调平台、社区以及通证三位一体。还有另外一种,我们经常说的许可链,包括私链和联盟链,但是也是用到区块链的平台,但是更加强调它的准入和联盟,在一个封闭圈子互相可以操作和技术资源共享。

    但是有一些话题是大家共同面对的,包括效率、跨链、协议站本身的优化、提升改进的问题,是大家都要面对的。另外,在业务落地的时候,还有新的诉求,包括链的可治理,能否从技术层面做到执行;可运维,出现紧急情况时,链能否急刹车,能否定点修改一个业务参数再重新开放;隐私保护等。

    区块链+开源数据库≥商业数据库

    今天我的主题是企业区块链,就是向右的箭头,我会分析当前的态势,面临什么样的问题,以及有哪些可以带来积极因素的新技术。

    在2015年下半年到2016年上半年,中国区块链公司和机构非常踊跃地乐衷参加国际知名的联盟,然后拿着企业中边边角角的业务开始做起来。目前来看,将业务逻辑移到区块链上的努力态势总体有点冷却,虽然项目是在增多,但是项目带给我们的惊喜和期待是降低了,呈现了冷却的态势。

    为什么会冷却?因为行业曾经做过区块梦,希望能够实现一种由密码控制的资源共享,从联盟做起,希望能够在这上面做价值流通,但是真正做起来并没有想象中带来的改变那么大。业务逻辑也可以实现,但是很多业务逻辑是平移搬家,平移和搬家有没有必要,要打一个问号。

    总的来说,其实监管并没有特别的说你是无币还是有币,在这样一个指导思想下,做的事情有一些可圈可点,但有很多很平庸,或者有它也可,无它也可,或者用去区块链也可,不用区块链也可。

    商业数据库曾经是我们的一个痛,被拽在别人手里,经常用一种很不友好的方式来收我们的钱,其实这里面有一个很好的思路,区块链+开源数据库,这两个结合可以大于等于商业数据库。

    TB1K_ayswTqK1RjSZPhXXXfOFXa.png

    看看这个怎么做。有人说区块链首先是一个数据库,然后是一个分布式数据库,然后又把它等同于数据库,或者把它跟数据库放到同一台子上比这个事。当然只看表面,区块链只能追加,只能读,不及数据库能删能改。

    这里举个例子,UTXO代表比特币里面未花费的输出,可以理解成支票,这个东西其实不是数据技术。再看一个类比,MP3和MIDI,MP3是所听即所得,给你放什么是什么,它是音频信号某种压缩,MIDI是指导你怎么放音频的指令,指导乐器的指令,有点像歌谱,比歌谱稍微往物理层再走一点,但是还是信息,MP3就是物理。

    打这个比方的意思是UTXO是改变数据的指令,但是它本身不是数据库的记录,帐户的余额是数据库的记录,但是比特币上面是没有余额的,只有变更余额的这种指令。

    拿这个做比较是想说明,数据库可以篡改,是不开放的,商业模式是有一种套路,商业数据库具体体现就是贵,区块链的记录没有汇总成余额,是一条一条的指令,一条一条的指令是不便于汇总的,存储全量确实占地方,有人说它费电,有人说它慢,都是事实,怎么样把两个东西搭配起来用。商业数据库有回滚的支持,有原子性事物的支持,有高可用的同步,而开源数据库的容量、性能、可扩展性都不输于商业数据库,但是商业成本低。

    开源的数据库和区块链,用一种什么方式结合起来,能够使得它们整体上性价比低于商业数据库。可以将区块链作为一个前置的日志,因为它是可以追加的,可以读的,但是不可以改,日志也是同样的要求,所以把它当做前置的日志。你改了后面的数据库里面的东西没用,只要把日志重演一遍,你错马上又变对了。如果能够这么来用区块链,会很不一样。区块链来做日志,做存储过程,做高可用支持,开源数据库做查询、做数据困难,做高性能的支持,把这两个耦合起来,相当于商业数据库的能力,但是花的钱很少,成本很低。

    这是我个人比较推崇的一种,区块链在企业当中的应用。希望这种方式能够成为去IOE一个有竞争力的途径。跟国外的商业数据库可以比,跟国产商业数据库也可以比,有成本、技术含量以及持续支持的优势。

    把这个事情再往下扩展一下,日志难道一定是一个数据库系统的日志?可以做成一个企业的日志,企业所有的事情,跟数据库系统互动的其他系统其实都可以用同一套日志,当整个企业需要回放的时候,有可能不是一个数据库的回放,也有可能整个企业发生一段业务本身整体的回放,这个时候我们同样一个日志,关涉到多个系统,在回放的过程当中把多个系统联动回放的问题也一起解决了,何乐而不为。

    可以把刚才说的架构拓展到用区块链来支持多活、高可用的信息门户,信息门户已经不仅仅是数据库前置的日志,是整个企业前置的日志。

    链改呼声渐起

    目前“纯”联盟链的落地有点遭遇瓶颈:

    首先公链带来一部分压力,吸引走了一批人才。第二是资产上链,公链是现成的商业模式,自带激励。而企业区块链一提自带激励似乎就涉及到很多别的问题,合法、监管的问题,但是这个动力天然在这里,很多的企业自带资产,自带流量都有资产上链的冲动,这个冲动某种意义上对于重新定义企业内部的信任路径、治理路径有它正面的意义,但是我们怎么样去从架构上、从技术上、从合法性上给它应有的支持。

    很多项目,做是做了,但是换汤不换药的中心化,有它也可,没它也可。用区块链做也可,不用区块链也可。这种项目其实起来不要浪费大家的精力为好。

    链改的应有之义

    所以就有了所谓的链改。链改要干这么几件事:首先要改善治理,不只是光变生产力。引入区块链技术不是光变生产力,还是要变一下生产关系,要变更路径,激发内在的活力。

    其中首先是激励,在一个企业内部或者一个社团内部怎么样设计一个激励机制,这是一个痛点问题。第二是自证,改变信任路径其实是在改变证明的方式,或者说一方面是信任,另一方面就是证明,你信任它,它要证明给你什么,除此之外,在区块链世界上看到,证明给你一种算法的不可抗力也是一种证明,如果能把算法的不可抗力引入企业,有关方面就可以,不仅仅拿着权利向你证明,也可以拿着算法不可抗力向你证明。第三是效益,如果成本收益不合算就不要做区块链。

    无币误区

    关于“无币”“有币”其实存在一些误区。企业做区块链是不是一定要无币?我们要正面的回答,Q币也是币,但是币在一种封闭体系内流动的,而且不能公开买卖的,通俗地说不上交易所。这种Q币,像月饼票和食堂的饭票都是合法的。不交易即合法,如果不交易它哪来的流动性,我们说没有流动性拿这个东西去奖励,也是人家不接受的,所以这是两面。如果没有合适解决的途径,就不要引入这个东西。

    支付和权益也是走不通的,货币和证券的有关监管部门都在等着你。而消费是走得通,但是消费的前提要把内部的生态做大。

    那么应该怎样做大生态呢?

    TB1IriAsCzqK1RjSZFjXXblCFXa.png

    对策一,流程拆解。引入激励的一个方面要把合适的流程点进行拆解,拆解成可以“挖矿”,这个挖矿带引号。其实在程序世界和现世界,一些难题求解难,但是验证简单,所以企业做不过来,可以承包给别人干,自己负责检验,检验做得好就给他激励。

    二是商圈互联。我曾经给商业地产收益分享项目做过咨询,收益分享本身是一个资产证券化行为,但是通过收益分享,大家有积分衡量贡献度什么样的。商圈本身有入驻的商户,商户打折是不是可以使用这样一个积分,就帮他想这样一个点,让积分从一个抽象的东西变成一个可以流通的东西,在商圈的范围内流通,当然激励的意义就出来了。

    三是服务衍生。即使提供的是基础服务,但是基础的服务本身会积累数据,会积累资源,把这些资源这些数据在第二次放出去,环节里面出现一些服务衍生,就会产生价值。

    TB1aimEssfpK1RjSZFOXXa6nFXa.png

    所有这些可以把它画成一个图。也就是说会把联盟链、私链和公链是结合起来。虚线下方是各个合法的联盟链,内部有流程拆解,可以做它的积分和激励,又可以做信息的输出。拆解出来的激励可以扩大到他的商圈,可以在N个联盟链共同使用,在外部把信息输出,这些信息这些资源作为基础发展出衍生的服务,这些衍生的服务有它外部的受众,也有内部的受众,外部和内部的受众可以通过这样的方式去打通,把公链假设在联盟链上面的一种生态。

    TB1WxGMsxYaK1RjSZFnXXa80pXa.png

     如果不是简单把生产关系搬家搬到区块链,而是借这样一个机会优化生产关系和重新定义生产关系,那么在建设链的同时,就要做一些权利重新的调整,比如记帐权,监督权和使用权,这三权到底怎么分配,在新建区块链的时候,是一个调整的时机,在重新调整的时候不仅仅做一个技术的项目,一个IT的项目,同时也是在重新定义企业流程的生产关系。

    有的联盟链动辄号称自己有多少万的用户,但这些用户只是有着使用权,他们压根没有见过区块链是什么东西,也压根感觉不到已经在享受区块链的成果。如果只有使用权,这些人其实跟区块链一毛钱都没有,你把它拿来凑数有什么意思。剩下的两个记帐权和监督权同样如此,如果这些东西就是你自己在那玩,你不证明给别人,区块链有什么意思?然后有人可以据此来检查你看做的对不对,这才有意义。现在很多项目记帐权和监督权是重合,就是这些人在这里玩,值得商榷。

    自证的四个层次

    引进区块链,同时也引进了区块链技术目前的局限,你想改错,对不起改不了,已经达成共识,只能分叉,但如果要分叉何苦不用中心化。

    TB1S3u1syLaK1RjSZFxXXamPFXa.png

    保护数据资产,逻辑调整,改错,运维控制,这些我们需要改进,需要改进要引入自证,自证是有层次的。最外层的自证是晒Hash,通过Hash检验。第二晒关系,等式关系和不等式关系,即使原来一笔账目没有公开,但是可以检验所涉及的等式关系和不等式关系,不等式关系有没有透支,花的钱是不是大于我有的钱。等式关系是我原有的钱等于我花出去的钱加上我剩下的钱。再进一步是晒账本,更进一步源码是不是公开。

    今天讲这个问题特别强调源码公开的事情。即使做联盟链,源码是不是公开也是一个重要的考量因素,因为区块链跟别的东西不一样,它卖的是信任,信任靠什么东西来建立?有人拿一个黑盒子说这里面是信任,我能接受吗?他说黑盒子里面凝聚了院士的成果,凝聚什么样高级团队发了多少国际顶级杂志,我能信吗?可能前面都是真的,院士确实在团队里,团队成员也确实发了顶级论文,但是盒子里头的东西跟那些真的有关系吗?

    所以,千万不要把强项变成减分项。这个事本来是一个好事,就是因为不公开,一下子变成减分项。反而有一些没藏着没掖着,我用Hyperledger,Hyperledger都是公开,弱项变成强项,所以这个事情一定要公开。

     一个可自证的生态,拓扑是什么样的?有一个建议,记帐权和监督权如果可能分离,给记帐者自证这么一个环节,给一个监督权去检查记帐自证对不对的环节,使用权这一方其实你也要有一些东西晒给他们,让他们能够在使用的当中建立信任感,而不是说像使用一个中心化系统一样去使用一个区块链。

    求同存异,殊途同归

    联盟链和公链不完全是排斥的,联盟链其实有大量的共性的基础服务,这些共性的基础服务尤其为小企业,是以云的方式由一个基础公链提供信任服务,也就是BaaS的模式。那么是不是又中心化了?其实它的集中程度可能并不比矿池的集中程度更强,所以应该不是问题。需要注意的是,敏感数据和存证数据之间要有一个区分,联盟链自身本地私有部署这一部分,存敏感数据。在基础公链上的数据是脱敏的存证数据。

    TB1x01wsxTpK1RjSZR0XXbEwXXa.png

    说了这么多链圈的事,隔壁币圈也在进行币改。他们改的方向是从无政府到有效自律到监管到位。链改是从原有的业务逻辑,原有生产关系简单的搬家到能够对业务逻辑生产关系信任路径进行调整和优化,再到能够重新定义,其实目标是一样的,是殊途同归。中间这个圈不是链圈,也不是币圈,可以管它叫用圈,用好但是合法的用,这是大家共同的追求。

    更多资讯,请关注雷锋网AI金融评论

    展开全文
  • 念佛区块链源码,带数据库,无后门,可自行检查,内有简单搭建教程!! 有什么不懂的请留言 不可商用,仅供学习参考!!!!!!!!!! 谢谢支持!
  • 【引言】 最近对区块链技术有一些兴趣,区块链技术估计这个名字已经被大家所熟知了,但区块链数据库估计还没几个人知道。目前国内有两种数据库RepChain(中科院研发)和CovenantSQL...区块链数据库什么开头有这样的想

    【引言】

    最近对区块链技术有一些兴趣,区块链技术估计这个名字已经被大家所熟知了,但区块链数据库估计还没几个人知道。目前国内有两种数据库RepChain(中科院研发)和CovenantSQL ,本文讲重点讲解CovenantSQL 这一新兴区块链数据库。
    区块链数据库的优势主要体现在信任、溯源、数据共享、数据交易、数据交换上。

    不懂? 接着往下看。

    以下文章转自如下链接,根据本文理解做了适当调整。

    https://zhuanlan.zhihu.com/p/42517534​

    区块链数据库为什么开头有这样的想法?因为我们相信传统应用中对区块链是有诉求的,不管是信任、溯源、数据共享、数据交易、数据交换,相信这些都是有应用点的。所以把区块链技术和分布式数据库进行结合,希望做出新一代的数据库系统。
    CovenantSQL 是应用区块链技术构建的去中心化 SQL 云数据库,

    结合了区块链、共享经济、分布式数据库的优势,保障了用户隐私及对数据的所有权。
    CovenantSQL 具备以下特点:
    SQL接口: 支持 SQL-92 标准,传统 App 几乎0修改即可数据上链
    去中心化: 基于独有的高效拜占庭容错共识算法 Kayak 实现的去中心化结构
    不可篡改: CovenantSQL 中的 Query 历史记录是可追溯的
    隐私: 如果 Bitcoin 是人们的私人钱包,那么 CovenantSQL 就是是人们的去中心化的私密数据库
    相信在下一个互联网时代,每个人都应该有完整的数据权利。
    CovenantSQL 原理
    CovenantSQL 是一个运行在 Internet 上的开放网络,主要有以下三种角色组成:
    主链节点:

    通过去中心化的架构,DPoS 模式的共识机制对矿工和用户进行撮合、协调、仲裁
    侧链矿工:
    所有人都可以通过运行 Covenant Miner 来提供数据库服务来赚取奖励
    通过 ETLS 传输层加密、应用层签名、落盘加密、端到端加密来保证用户数据隐私
    数据库用户:
    用户通过一个私钥就可以创建指定数量节点的分布式数据库,存储自己的结构化数据
    数据矿工的分布和地址仅对数据库用户可见,防止用户数据被嗅探
    通过 去中心化的高可用的架构 和 Miner 押金机制,用户的数据可以在成本和可靠性、可用性上达到平衡可控
    image.png

    第一层:全局共识层(主链,架构图中的中间环):
    整个网络中只有一个主链。
    主要负责数据库矿工与用户的合同匹配,交易结算,反作弊,子链哈希锁定等全局共识事宜。

    第二层:SQL 共识层(子链,架构图中的两边环):
    每个数据库都有自己独立的子链。
    主要负责数据库各种事务的签名,交付和一致性。这里主要实现永久可追溯性的数据历史,并且在主链中执行哈希锁定。

    第三层:数据储存层(支持 SQL-92 的数据库引擎):
    每个数据库都有自己独立的分布式引擎。

    主要负责:数据库存储和加密;查询处理和签名;高效索引。

    做点有意思的事情

    很喜欢Jeff Hammerbacher说过的一句话:
    The best minds of my generation are thinking about how to make people click ads.

    作为One of the best minds,当你不再需要为了生计而去努力,你最想去做点什么呢?也许人的一生应该办一点事,留一点痕迹。

    2017年冬天,freebsd来北京,约我在知春路撸串,还是那个当年一起吃着火锅鄙视着MongoDB用BSON做存储的学长给我描述了一个有意思的想法。又想起了他河畔签名上的那段中二的话:“西天取完了经,东边应该还有,伙伴们好不好让我们再拯救地球……”

    这个想法大致就是:
    把闲置的计算机利用起来,通过一套Code Law组成一个分散的,支持SQL查询的数据库,用户和数据库矿工可以在Code Law的限制下完成撮合和价值交换。

    经历了刚接触Bitcoin这个idea时候的兴奋,把全部身家买了比特币,起起伏伏,最后失望清盘……
    经历了Blockchain概念被单独提出时,甚至想过用Blockchain的idea重新写一版Boinc(Berkeley的Volunteer computing框架,能让用户电脑在闲置的时候用于各种科学计算,包括“寻找外星人计划”),但最后还是没能下定决心……

    经历了Ethereum横空出世,但现在看来最大的用途竟然是割韭菜……

    无奈这个时代,人人都想布局未来,一夜暴富。但思想的碰撞需要时间、理论的成熟需要时间,编码落地需要时间。互联网热潮催生了一波.com泡沫,照目前自媒体的发达程度来看区块链离真正落地,至少还差三波泡沫……
    但这一次,我决定为了一个idea全力以赴一次,即使失败了,也希望后世踏着我们倒下的身躯冲上更高的地方。拿着烤串的我当即决定离职,做点有意思的事情……

    现在想来,选择去做这么底层的东西,可能部分源自于我们对数据库的中二执念,更多的则是改变数据&隐私混乱现状的愿望:
    下一代的互联网,所有人都应该拥有自己数据的完整权益(Data Rights)

    Data Rights
    数据放在自己的电脑里固然比较安全,但也容易意外丢失,也不方便查阅。无论是Facebook还是微信、各种云盘,用户的数据几乎都是存储在大佬控制的数据库里。数据是你的也是互联网大佬的,但最后还是互联网大佬的,而且还是你自己确认了使用条款的。
    网上的各种数据,大致可以分为两类:
    个人数据

    例如:个人的身份&账号信息;各种私人财产;个人发布的各种内容;在各种应用、网站的历史数据。
    现状:隐私泄露,被数据挖掘,被侵犯数字版权。
    愿望:每个人都应该拥有个人数据的读取、修改的控制权,以及盈利、授权的权利。

    公共数据

    例如:Wikipedia等各种共同创作的作品;人类文明沉淀下来的知识;各种被作者分享给所有人的数据。
    现状:各种wiki被恶意篡改失去公信力,各种论文、文献被挟持用来盈利,有价值数据的生产者得不到任何好处,有时连署名权都不能保证。
    愿望:知识的生产、积累是一个共同创作的过程,每个人的贡献应当被记录。

    《硅谷》里Richard描述了一个“去中心化的互联网”,其中必不可少的就是一个去中心化的数据库。传统数据库遇到了区块链,数据的Insert、Update、Delete变成了Append,“追加而不是覆盖”让数据的历史可以被完整记录。
    image.png

    Blockchain的很多设计和Git有相似之处,比如:Merkle Tree

    Read-Only
    为了改变现状,有很长的路要走,一个去中心化的数据库,为用户控制自己的数据至少提供了可能性。
    举一个简单的例子:未来我们的个人数据,都可以存储在去中心化的云端数据库,像比特币一样,我们可以通过一个密钥完全的控制自己的数据。我们可以制定一个类似信用卡行业PCI DSS的标准,我们暂且叫做GDSS(General Data Security Standard),核心是要求厂商对于用户的数据严格执行 限定用途、用后删除 的原则。例如假设Facebook是我们可信的厂商,遵循GDSS,我们可以给Facebook一个我们授权仅可以读取我们姓名、年龄、朋友列表的密钥。同时,Facebook对于我们数据的每次读取都会被记录,如果我们发现Facebook用我们的数据做了一些我们不希望的事情,可以随时吊销这个密钥并进行追责。
    再比如:大数据行业的创业公司或者研究机构最为头疼的事情莫过于没有数据,普通的用户可以通过收费的形式对这些研究机构进行数据授权。这样就可以形成一个双赢的局面,避免存储了大量我们数据的巨头的 数据霸权。
    目前欧盟的GDPR是一个在这方面非常领先的标准,非常值得借鉴。
    Team Up
    做过了无数的大大小小项目,都明白程序开发是个非常复杂的工作,有很多相似经验教训让我们有了共识:
    项目开发一定要有清晰、可以量化的细粒度的目标。
    不要进行全盘推翻式的重构,重构一定要分模块进行,并且保证接口一致。
    项目早期,尽量少写代码来完成功能,而不是写更多代码去面向未来编程。
    想到的太多,很乐意在讨论区一起聊聊经历过的项目给你带来的各种感悟……
    2018年4月,CovenantSQL开始了第一行代码。创建github项目的时候没啥灵感,就临时取了ThunderDB这个名字。后来才通过引经据典想到了Covenant这个生僻的词,翻译成中文应该叫“契约”。最近这个词被提到还是因为这部电影:Alien: Covenant (2017)
    Architecture

    熟悉分布式系统原理的同学知道,从CAP theorem的角度出发,Blockchain是一种最终一致性算法。
    Bitcoin为典型的Blockchain 1.0使用的PoW主要是为了应对非可信网络、节点的问题。从通俗的角度出发,几乎我们都有这样一个经验:“参与的人越多,决策效率越底下”。
    似乎也是意识到同样的问题,以EOS为首的新一代Blockchain系统都采用了类似“内阁制”的DPoS。CovenantSQL在设计之初就考虑到这个问题,采用了下图所示的分层架构:

    image.png
    CovenantSQL Architecture

    CovenantSQL的架构主要分为三层:
    结算共识层(主链,架构图中中间的环):
    整个网络只会存在一个主链。

    主要负责:数据库Miner和使用方的合约撮合、交易结算,反作弊,侧链的锁定哈希等全局共识事务。

    SQL共识层(侧链,两侧的环):

    每个数据库都会有自己独立的侧链。
    主要负责:数据库各种Transaction的签名、传递和一致性的达成,永久可追溯的数据历史主要在这里实现,并在主链进行哈希锁定。

    数据库层:

    每个Database有自己的独立分布式引擎。
    主要负责:数据库的存储&加密,查询处理&签名,高效索引。
    三层的设计互相进行哈希锁定保证数据的不可篡改,由顶向下依次根据需求的不同,采用不同的共识算法和更小的共识范围,达成更高的共识效率和性能。
    How We Work
    观察CovenantSQL的commit history可以发现,CovenantSQL的构建是一个Bottom Up的过程,首先是各个独立的模块,测试工具,经历了4个多月的密集开发,我们才正式构建出一个主程序。这么做的好处是显而易见的:CovenantSQL的模块单测覆盖率基本都在75%以上,很多CovenantSQL的模块可以单独被使用。

    image.png
    CovenantSQL Coverage Statistics

    CovenantSQL/GNTE
    image.png

    GNTE

    为了模拟CovenantSQL节点遍布全球的情况下的网络环境,做了一个叫GNTE(Global Network Topology Emulator)的小工具,只要写一个YAML配置,运行一条命令,就可以模拟一个中国到美国的网络容器,比如:1Mbps带宽、延迟1200ms、1%概率 ±10ms。

    这个项目发布两个月,已经171 Star了,Github传送门:CovenantSQL/GNTE

    CovenantSQL每个版本的发布都会进行:
    接近80%行覆盖率的自动化单元测试
    包含线性一致性测试在内的各种集成测试
    GNTE模拟全球网络环境进行集成测试

    CovenantSQL/HashStablePack

    HSP是我们构建的另外一个小工具,可以根据我们定义的golang的各种类型、Struct,自动生成序列化的接口func(v *Type) MarshalHash() ([]byte, error),并且无论多复杂的Struct,只要存的内容是一样的,生成的[]byte都是内容一致的。

    主要原理就是分析golang代码,生成AST(抽象语法树),根据AST上不同类型生成不同的MarshalHash函数。这样就避免了运行时用Reflect反射造成的大约两个数量级的程序变慢。CovenantSQL主要用这个工具在生成计算区块哈希的代码。

    当然,甚至单元测试代码都是自动生成好的。更详细的使用方式可以看这里:CovenantSQL/HashStablePack

    DH-RPC

    这部分的文档和示例还没有完全准备好,先简单介绍一下,后面单独写篇文章介绍它。DH-RPC是一套利用DHT替代传统的CA证书,进行去中心化P2P加密通信的RPC框架。

    详细介绍可以看这篇文章:https://zhuanlan.zhihu.com/p/43888213
    文档和Demo,请移步Github:https://github.com/CovenantSQL/CovenantSQL/tree/develop/rpc

    目前CovenantSQL的主要功能大致已经开发了90%,测试网也正在搭建中,可以在Github上关注我们的进展:
    https://github.com/CovenantSQL/CovenantSQL

    转文至此。

    欢迎关注个人微信公众号“一森咖记”
    image.png

    展开全文
  • Catena是基于区块链的分布式数据库,可使用SQL进行访问。 Catena在彼此不信任或不相互信任的节点之间以分散的方式对数据库事务(SQL)进行时间戳记,同时强制执行先前已达成共识的修改权限(“授予”)。 卡特纳...
  • 从狭义上来说,区块链就是一种分布式的数据库,数据结构上就是按时间顺序将数据区块相连的一条链表,链上的每个节点就是一个区块,区块一般通过二叉树(如Merkle Tree)将每笔交易数据打包在一起,形成一个汇总的哈希...

    从狭义上来说,区块链就是一种分布式的数据库,数据结构上就是按时间顺序将数据区块相连的一条链表,链上的每个节点就是一个区块,区块一般通过二叉树(如Merkle Tree)将每笔交易数据打包在一起,形成一个汇总的哈希值,再加上时间戳,就是一个区块的唯一标识。

    5311384a8a7a4d92ab81714d6a9d437b

    区块链(英语:blockchain 或 block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络。

    从狭义上来说,区块链就是一种分布式的数据库,数据结构上就是按时间顺序将数据区块相连的一条链表,链上的每个节点就是一个区块,区块一般通过二叉树(如Merkle Tree)将每笔交易数据打包在一起,形成一个汇总的哈希值,再加上时间戳,就是一个区块的唯一标识。

    从广义上来说,区块链是结合了分布式数据存储、点对点传输、共识机制、加密算法等多种技术的一种分布式基础架构模式。

    9a0190588ece4a1ab196bf71cdc9b6de

    首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

    其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

    207a9f906b2c487ebbc2f18751b2e24b

    用一种形象的比喻来说,区块链技术就指一种全民参与记账的方式。

    所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。那么谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿里在记。

    但现在区块链系统中,系统中的每个人都可以有机会参与记账。在一定时间段内如果有任何数据变化,系统中每个人都可以来进行记账,系统会评判这段时间内记账最快最好的人,把他记录的内容写到账本,并将这段时间内账本内容发给系统内所有的其他人进行备份。这样系统中的每个人都了一本完整的账本。这种方式,我们就称它为区块链数据库分布式共识机制。

    转载于:https://my.oschina.net/u/3985214/blog/2878778

    展开全文
  • #资源达人分享计划#
  • 传统数据库区块链之间的区别始于架构,或者说是如何来协调这些技术。运行在万维网上的数据库通常使用客户端服务器的网络体系结构。具有与其帐户关联权限的用户(客户端)可以更改存储在中央服务器上的条目。 通过...
  • #资源达人分享计划#
  • 可以将区块链视为相对较慢,非常昂贵的数据库,可提供出色的抵御黑客攻击和破坏的能力。这是一次写入一次,经常读取的系统。 是绝对可以将所需的任何数据存储在区块链中的。实际的情况是,由于效率问题,大家都不想...
  • 区块链与分布式数据库的区别

    千次阅读 2018-08-22 13:57:52
    应对互联网条件下大规模数据的增删改查需求,解决传统数据库面临的通信开销大、性能差、容量可扩展性差和可靠性低的问题 通信开销大:假设只有一个数据库,并且放在北京,那么纽约的用户就需要等待网络从纽约到北京...
  • CovenantSQL是一个分散的,历史不可变的,众包数据库,支持区块链上的DApps以及传统的应用程序。 CovenantSQL旨在构建一个高性能基础架构,允许用户完全控制他们的数据。 通过提供标准数据库驱动程序和SQL API,可以...
  • 区块链(blockchain)这一概念正因比特币等虚拟货币的兴盛而变得火热起来,实际上,...传统数据库传统数据库使用客户端-服务器网络架构。在这种结构中,用户(或称为客户端)可以修改存储在中央服务器中的数据。数...
  • IBM是最早介入区块链研发的国际大公司之一,例如去年大家熟知的IBM和三星的区块链合作项目以及Linux/IBM联合项目。作为IBM区块链技术中国区的负责人和专利评审委员会的联合主席,我和团队也在去年10月就提交并获得...
  • #资源达人分享计划#
  • 区块链(blockchain)这一概念正因比特币等虚拟货币的兴盛而变得火热起来,实际上,这种技术因为特殊的设计思路也可以应用于很多其他领域中。作为一种容错率很高的分布式数据存储模式,区块链与...传统数据库使用...
  • 以太坊区块链的关系数据库架构 一般信息 这是有关如何进行操作的分步指南 设置一个OpenEthereum(以前称为Parity)存档节点 使用将区块和交易数据提取,转换和加载到PostgreSQL数据库 查询数据 下面列出了经过测试的...
  • 本指南介绍了将比特币区块链导入Neo4j图形数据库的基本步骤。 image 整个过程只是从一种格式(区块链数据)中获取数据,并将其转换为另一种格式(图形数据库)。唯一能使这件事比典型的数据转换稍微复杂一点的是...
  • 各个区块链平台最大的差异集中体现在对共识算法的优化和变革,而区块链与传统分布式数据库的共识层决定了两者的上层应用,区块链中大多以BFT共识算法来解决各个节点在互不信任的情况下达成共识,而传统的分布式...
  • 到为止我们已经实现了一条能够进行pow的区块链,距离实现一条正真意义上的区块链还有很长的路需要走。我们可能已经发现每当我们关闭程序后重新只能重新创建新的链,之前的数据都会不存在了。原因就是我们目前的链...
  • 区块链对比数据库

    万次阅读 2019-05-10 10:55:05
    区块链可以被认为是一种新型的数据库。这种数据库可以直接被分享,通过一群非信任节点,无中心化管理的方式运作。它不同于传统的SQL和NoSQL数据库被一个单一实体控制,即使是在防火墙后的分布式架构的数据库。 在...
  • 针对数据库访问控制中存在的问题,提出将区块链技术应用于数据库访问控制的思想。从区块链层次结构、访问控制过程的逻辑层次结构、访问控制的实现原理、访问控制的共识认证原理以及访问控制区块链体系的构建机制几个...
  • 区块链数据库都是什么

    千次阅读 2019-03-01 12:35:09
    个人认为区块链只能借鉴传统的数据库技术,而无法将数据库改造成区块链。首先我们简单理解下区块链和传统数据库区块链技术是一种不依赖第三方、通过自身分散式节点进行网路数据的存储、验证、传递和交流的一种技术...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,373
精华内容 12,549
关键字:

区块链使用什么数据库