月亮链 月亮链
Ctrl+D收藏月亮链

区块链:BM:为什么区块链是更好的应用服务器/数据库架构?_区块链是什么工作

作者:

时间:1900/1/1 0:00:00

(夜晚,梵高)

前言:传统web应用架构存在安全性问题,为了确保更高程度的安全,企业耗费巨资,不过依然无法从根本上解决问题。而本文作者Daniel Larimer(也就是众所周知的EOS的BM)则认为要解决这个问题,需要采用区块链的架构来确保数据库和用户账户的安全,可以防止未经授权的访问和防篡改,同时可以为采用区块链技术的企业节省费用。BM认为区块链是更好的应用服务器/数据库架构,未来会成为很多企业的必备技术,这会是超级大的潜在市场吗?大家如何看?本文由蓝狐笔记的社群“DoTi”翻译。

传统的web应用基础架构在设计时考虑了安全性,并且二十五年来,公司一直在试图修补根本上存在不安全的体系架构。该架构设计的假设是服务器可以被信任和保护,但多年的经验告诉我们,没有服务器可以免受外部攻击,更不用说内部的危险了。换言之,服务器从根本上是中心化的。

我们曾经把“安全问题”归结为用户和服务器之间的连接,因此,我们引入了SSL和HTTPS。但是,后来我们发现,黑客会破坏数据库并窃取密码。因此,我们开始存储密码的哈希值,但接下来我们又发现,在窃取哈希值后,黑客可以使用暴力破解密码。随后,我们引入密码轮换,这样在黑客进行暴力破解时,密码会发生更改。如此这般的攻防,不断上演。(蓝狐笔记:SSL是为网络通信提供安全的协议,SSL协议位于TCP/IP协议和应用层协议之间,对网络连接进行加密。而HTTPS则是在HTTP的基础上加入SSL。)

金色晨讯 | 深圳晚报:区块链让彩票行业自证清白;BM:在发布Voice之前仍有很多需要解决的问题:1.国税总局司长饶立新:运用区块链技术创新行政管理;

2.深圳晚报:区块链让彩票行业自证清白;

3.IMI副研究员:如果政策上允许可能近期就会推出数字货币 央行在技术上已经做好了储备;

4.诺贝尔经济学奖获得者:区块链是交易市场的里程碑;

5.近200名开发者正评估围绕Taproot和Schnorr的“比特币改进提案” 以增强隐私和可扩展性;

6.天津滨海新区将区块链作为核心技术自主创新的重要突破口;

7.重庆市医疗保障局提出了医疗保障与区块链技术深度融合的研究课题;

8.BM:在发布Voice之前仍有很多需要解决的问题;

9.外媒总结2019年5个接受比特币的商业领域行业;

10.澳大利亚区块链代表:澳大利亚希望成为中国在区块链领域的重要合作伙伴;

11.深圳高交会闭幕 展示区块链等高新技术项目逾万项;

12.浙江省副省长高兴夫:浙江将加快“区块链+实体经济”等方面的融合应用;

13.?BitMEX等交易所交易量骤减 或预示比特币价格将出现大幅波动;

14.江苏省司法厅探索区块链五大应用场景;

15.内蒙古司法厅厅长毕力夫:探索区块链技术推进执法监督和监狱计分考核公开公正。[2019/11/18]

企业花费数十亿美元,试图保护其服务器和数据库,尽管付出这些努力,但依然没有简单方法来审计系统,且能确保企业按他们的意愿运行。

Block.one正在构建区块链软件以确保数据库和用户账户的安全,防止未经授权的访问和未经说明的修改。使用区块链时,用户采用高度安全的私钥,这些私钥存储在安全硬件,且私钥用于签名每个用户交互,而不是简单验证与服务器的连接。(蓝狐笔记:Block.one是开发EOSIO软件的公司)

声音 | BM:PoW链最大程度去中心化必须使用大量 PoW 算法在每次出块中随机切换:今日 BM 在推特上转发了 Coinbase 的一篇文章《Coinbase 如何看待 PoW 机制的安全性》,并留言表示:对于任何 PoW 链,想要最大程度去中心化,就必须使用大量 PoW 算法在每次出块中随机切换。铭记帕累托法则(二八分布)![2019/11/14]

区块链创建不可篡改的日志,它构建绝对和确定性的顺序,接收用户输入,而智能合约提供确定性的商业逻辑,以确保所有系统的一致性。

未来的Block.one正在创建消除密码和昂贵审计的方法,可为公司节省数十亿美元,防止身份被窃取,并为所有人提供更高的可靠性和审计能力。我多年来坚定地认为,每个多用户网站都可以因为采用区块链后端而受益。与流行观点相反,区块链并不一定是缓慢的低效的数据库,也不必一定在抗审查和开放访问的基础上运行。

即使区块链完全由公司本身运营,且区块链的所有内容都不公开,区块链也能为公司在安全、审计能力、透明度以及业务流程完整性上提供巨大改进。本文旨在阐明区块链在企业环境中的真正价值,并为区块链行业指明前进方向。

常见的误解

在区块链行业中,很多人的看法是,只有当区块链将彼此不信任的各方连接起来时,区块链才能带来好处。他们认为,传统数据库技术已经可以完成确保业务完整性所需的一切。换句话说,他们认为有了传统的数据库复制和“数据完整性”保证就已经足够。在此过程中,他们要么忽略要么不了解区块链提供的根本不同的安全性和完整性保证:

声音 | BM:团队正在努力开发EOSIO 3.0:BM刚刚在推特上发文表示,我们的团队正在努力开发EOSIO 3.0,它将专注于扩展RAM,并极大地增强了数据库API和数据库性能。这里取得了巨大的进步。[2019/10/11]

对全球时间顺序的承诺

业务逻辑的确定性执行

业务逻辑&数据完整性的紧耦合

在传统的业务应用架构中,业务逻辑跟数据库是分离的。通常有应用服务器,例如Node.js或J2EE,其提供了修改数据库的密码。Node.js服务器的作用是通过密码或多因素身份验证机制来实现对用户的验证。一旦应用服务器进行用户身份验证,它将发起会话令牌,该会话令牌用于验证未来的用户交互,直至会话超时或会话(如IP)的某些元素发生改变为止。

很显然,这种传统的设计通过由应用服务器管理的单个登录名/密码来执行所有数据库操作。应用服务器负责用最终的终端使用来执行其自身的身份验证方案。同样,也很显然,通常有多方可以访问用户名和密码。数据库管理员可以对多个不同的应用服务器和/或个人分配和撤销凭证。

先进的系统确保,在水平扩展的系统中每个应用服务器都有其自己的用户名/密码,且在某些情况下,它甚至可以使用公钥基础设施(PKI)和硬件安全模块(HSM)。

然而,即使在这里,数据库也仅对与应用服务器的连接进行验证。为了提供审核日志,它必须记录安全连接的整个数据流。然而,即使这个日志仅记录应用服务器请求的“读取和写入”,该应用服务器已经丢失关于原始用户意图的所有信息。

BM:1.0.2发布 所有节点都需要升级:BM在电报群表示,主链还未启动,因此会利用这一机会做一些调整,这次升级1.0.2修复了之前一些bug,所有节点都需要更新升级。今日上午9点,将再度进行是否启动主网的投票。[2018/6/9]

审查这种系统的审核员无法知道应用服务器(如Node.js)是否遵循了正确的业务逻辑且正确验证了终端用户。Node.js进程可以将用户操作“记录”到数据库中,便于审核员可以尝试重现相同的计算,但这种记录本身并非不可篡改,且并不附带独立可验证的身份验证,无法验证最终用户是否实际上授权了其记录的操作。

可以尝试记录每个用户的连接,但由于用户经常通过这样的连接传输密码,因此,这些记录最终会创建可能会导致泄露用户身份凭证的蜜罐。(蓝狐笔记:蜜罐意为黑客喜欢攻击的丰盛之地)更负责的系统可能会对这些日志进行加密,以便只有审核员才能读取。

假设审核日志没有被篡改,审核员必须通过应用逻辑跑出相同的操作序列,以验证结果数据库状态是否匹配。这意味着应用服务器必须以确定性的方式来实现。

确定性计算是不容易的

尽管写确定性代码看起来“容易”,实际上,所有通用计算机语言都是非确定性的,因为它们允许开发者访问存在数据库中的外部数据。这可能是一些简单的数据,如时间戳、内存地址、环境变量、IP地址、或其他更微妙的数据,例如硬件上的浮点行为或哈希表的插入顺序。

在很多情况下,只是简单地访问长时间运行的应用服务器的内存中的变量就足以引入不确定性。启动/停止应用服务器的实际操作必须被记录和重现,否则在重放过程中每个本地内存访问都可能是非确定性的。

IBM:区块链是一项真正的基础性的改变世界的重要技术:国际商业机器公司(IBM)全球市场高级副总裁Martin J. Schroeter表示,区块链是一项非常重要的技术,它将改变世界的运作方式;IBM已经与沃尔玛和沃尔玛的合作伙伴建立了食品安全区块链,它将缩短世界处理全球供应链中食品安全问题的时间;IBM也将与马士基集团联手成立一家专攻于区块链技术的合资企业。[2018/3/5]

事实真相是,对于在通用陷阱中受过训练并积极寻找非确定性的最佳开发者来说,编写确定性的代码是具有挑战性的。典型的商业应用开发者会发现以确定性方式编写代码很难或不切实际。

如果我们走得更远,并且假设应用代码是确定性的,那么,应用忠实记录用户事件,我们依然还要面临跟踪在任何特定时间部署的代码版本的挑战。应用是动态的且频繁更新的,因此,应用代码自身也必须是数据库状态的一部分,且其更新必须跟用户操作一样以同等的安全性和可审计进行管理和记录。之后,审核员需要所有应用服务器代码的版本的拷贝,并需要根据每个版本的升级重放用户输入(并在过去每次重启时重启代码)。

即使单个应用服务器在其实现和部署方面都能够以确定性的方式运行,它仍然会面临重大的可扩展性问题。应用服务器仅有一个实例能运行在数据库上。通过复杂锁来实现并行访问,但即便是锁上的竞争条件也必须被记录和重现,否则具有不同本地变量的应用逻辑的两个实例可能会产生非确定性的输出。

在这一点上,人们可能会试图完全抛弃确定性,但是,如果缺乏确定性,那么些许的差异就会随时间推移而加剧,并最终导致数据集产生巨大差异。审核员将被迫使用模糊逻辑和近似匹配,并且每个人将不得不相信这个“模糊逻辑”足够好。当然,否定编写和部署确定性代码的所有努力的唯一方法是,数据库管理员直接修改代码且神不知鬼不觉。

在某些情况下,用户输入日志和状态的仔细更新可能会创建出两个不同的数据库状态,每个都通过确定性测试,然而仍具有不同且不可调和的输出。

例如,假设教授将一位学生的分数F提交到系统,然后该学生通过黑客入侵或贿赂方式进入数据库,并更改其成绩以及教授提交的日志。

更换密码

任何关心完整性的多用户系统的最终目标是确保用户输入不会被伪造。用户名/密码的使用,甚至其他多因素身份验证(如SMS或谷歌双重验证)的使用都依赖于服务器得出这种结论:密码匹配或输入了正确的SMS码/邮件链接/双重验证码。很显然,这对于系统的完整性来说是巨大的问题,我会提供一个真实案例,来说明这些系统的严重程度。

2016年,我在一个加密交易所的账户被黑客入侵,它允许黑客窃取数万美元价值的比特币。从我的视角,这种黑客行为先是显示有一封“密码重置”的电子邮件发送到我的电子邮箱,然后另外一封邮件显示密码已被成功重置。随后,收到一封邮件,要求确认提取比特币(附有代码/链接)。最后,收到通知说提现已经完成。

乍一看,似乎是电子邮件被黑客入侵,但考虑到我在电子邮件中采用了多重因素登录,不太不可能被入侵。快速浏览我的电子邮件安全页面显示,并没有未经授权的访问。我知道是因为谷歌记录并显示了所有访问我电子邮件的IP/设备。

而这其中发生的事情是,攻击者在邮件抵达我的邮箱之前截获了交易所发送的邮件。应用服务器无法知道邮件已被拦截,因此只是基于攻击者拥有应用服务器生成的一次性代码,实现密码重置和提现的授权。

针对SMS或其他任何依赖于非用户控制私钥的技术,都可能被相同方法利用。归根结底,保障用户账户安全的唯一方法是让所有用户都采用基于硬件的私钥作为其登录凭证,并且结合稳健且耗时的过程,以在硬件密钥丢失时便于安全的重置。

在这一点上,多用户业务应用现在可以使用用户私钥签名每个用户请求,将该签名的请求记录在数据库中,并使用确定性代码进行处理。即使这样,也没有提供人们期望的完整性,因为整个用户请求依然可以被删除也有副作用。想象一下,破解警察数据库并删除由警察在提交用户票证时签署的请求。

说到此处,精明的工程师会声称,每个我提出的问题都可以通过改变程序逻辑来解决。他说得没错,经验丰富的应用开发者可以使用“传统数据库”、“传统应用服务器”以及“通用加密原语”,并构建相对安全和可审计的系统。基于同样的逻辑,精明的工程师可以声称数据库是完全不必要的,相反,所有内容都应该直接构建在文件系统上。

而其他工程师可能会指出,可以通过从头开始编写所有代码来提升性能,而不是依赖于诸如Node.js和J2EE这样的应用服务器框架。几乎所有东西都是由较低层级的技术构建的,我们不妨为实现最佳性能设计晶体管。(蓝狐笔记:此处意为这些解决方案的成本极高)

我提出这一极端建议,是因为它突出了更高层级框架在加速和确保新应用开发安全方面的真正作用。很少有人编写自己的密码学库或算法,而真正编写的人要么是专家,要么是当系统被黑客入侵时充当警戒尾巴。从头开始开发/重构一切会导致每个应用比基于成熟框架构建的应用成本更高。

区块链应用程序/数据库服务器的好处

诸如EOSIO这样的区块链和开发框架之所以存在,是为了将应用开发者从不得不重新发明“数据库”以构建安全应用中解放出来。安全性和确定性很难,这就是为什么将技术构建在抽象细节的层上的原因。

EOSIO在同一进程中将确定性执行环境(WebAssembly)和快速数据库结合起来。所有用户操作均由其私钥签名,并记录在复制的分布式的数据库中,且具有向区块头做出公开承诺的能力。

像EOSIO这样的框架达成传统系统这般强大和易于开发,只是时间的问题。通过将应用逻辑(Web Assembly)放在与内存数据库相同的处理空间中,EOSIO的体系结构在很多方面已经比传统系统性能更高。

在未来几年中,Block.one旨在添加工具和界面,以使得在区块链上部署业务应用跟在传统业务应用架构上部署应用一样容易(或更容易)。

显而易见,区块链技术的采用将会是有责任防止欺诈和进行财务报告的政府机构、上市公司和企业的优先事项。我的看法是,未来不采用区块链技术就像是现在的银行不采用SSL技术一样,一旦区块链技术广泛可用,不采用区块链技术就可能被认为是过失。

今天到了该采取行动的时候了。如果没有对当今应用构建方式的根本改变,业务和用户是不安全的。每耽搁一天,业务面临可能有被欺诈和被黑客入侵的风险。

------

风险警示:蓝狐笔记所有文章都不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

标签:区块链EOS比特币POW区块链是什么工作FarmEOS比特币牛市什么时候到powr币和谁合作了

欧易okex官网热门资讯
区块链:金色前哨丨促进国际交易 港交所计划在北向交易结算系统中引入区块链技术_BTC中国官网下载

金色财经讯 2月4日晚间,港交所总裁李小加透露,计划在北向交易结算系统中引入区块链技术,目前还在测试阶段。“沪港通”是国际投资者直接交易中国股票的唯一方式.

1900/1/1 0:00:00
ETH:生产性资产代币的质押获利模型_PepeCoin Cryptocurrency

这篇文章将探讨出现生产性资产代币模型的缘由。所谓生产性资产代币模型,就是用户以协议原生代币的形式在系统中质押资本,继而凭借他们对系统的贡献来赚取外生资产形式(比如 ETH、BTC 或 DAI)的.

1900/1/1 0:00:00
区块链:金色趋势丨BTC重回10000美元 延续涨势还是诱多陷阱?_SEA

比特币:今日早间BTC价格站上17年顶点拐头回落的下降趋势后,短时迎来快速拉升,当前价格再次突破10000美元大关,这是继10月24日政策喊话100多天之后再次站上10000美元关口.

1900/1/1 0:00:00
比特币:金色前哨丨比特币期货未平仓头寸破$40亿 牛市号角已吹响?_USDT

金色财经 区块链2月3日讯  比特币期货正在迅速成为机构投资者的“宠儿”,自2020年初至今,未平仓期货合约数量已经飙升了60%.

1900/1/1 0:00:00
数字货币:“数字美元”最新细节:或与中国央行数字货币类似_CFT

CFTC前主席克里斯托弗·吉安卡洛表示:数字美元将和中央银行货币一样享有美国政府的全部信仰和信誉;Facebook支持的Libra稳定币项目等有助于推动创新;拟议的数字美元设计或与中国的央行数字.

1900/1/1 0:00:00
加密货币:2.9早间行情:BTC大盘剑指一万美金 主流币震荡上行_加密货币市场总市值

大盘继续高位震荡整理,4小时级别,越接近1万美金,量能逐步萎缩,多跟小阳线排列,显示出走势的犹豫和小心谨慎.

1900/1/1 0:00:00