链资讯 链资讯
Ctrl+D收藏链资讯

EOS创始人BM:为什么说每家企业的安全都要靠区块链?

作者:

时间:

写在前面:本文作者为EOS创始人Daniel Larimer。他在文章中分析了传统互联网中的数据库等基础架构和设计的缺陷并指出区块链是最好的解决方案:诸如EOSIO之类的区块链开放式框架使得开发者无需为了构建安全的应用程序而重新创建“数据库”,因为所有用户使用私钥对自己的行为签名,可追溯和查证。未来B1的一个目标是添加工具和接口,促使在区块链上部署业务的过程和传统互联网上部署业务相似(甚至更简单)。

传统的网页应用程序基础结构在设计时将安全性作为事后考虑事项,在过去的25年中,许多公司一直在试图修补一个根本不安全的架构。这种架构在设计时就预设服务器是可以被信任和保护的,但是多年的经验告诉我们,没有服务器是安全的,更不用说内部的攻击了。换句话说,服务器基本上是中心化的。

我们过去认为“问题”在于用户和服务器之间的连接,因此我们引入了SSL和HTTPS。但后来我们发现,黑客会破坏数据库并窃取密码。所以我们开始存储密码的哈希值,但后来我们发现黑客会在盗取哈希值后强行破解密码。然后,我们引入了密码切换机制,以便在暴力破解时更改密码,诸如此类的措施还有很多。

为了保护服务器和数据库,企业需要花费数十亿美元,尽管付出了所有努力,但仍然没有简单的方法来审查系统并确保企业按预期运行。

Block.one正在构建区块链软件,以保持数据库和用户账户的安全,防止未经授权的访问和未予解释的修改。有了区块链,用户可以使用高度安全的私钥,这些密钥存储在安全的硬件中,用于对每个用户交互进行签名,而不是简单地进行服务器连接的身份验证。区块链创建了一个不可更改的记录,建立了接收用户输入的绝对和确定性的顺序,而智能合约提供了确定性的业务逻辑,确保了所有系统之间的一致性。

彭博社资深ETF分析师:SEC可能批准比特币期货ETF:彭博社资深ETF分析师EricBalchunas表示,SEC将很可能以保护投资者的名义批准比特币ETF。投资者每年将增加5%-10%的成本来进行期货展期。期货展期与$GBTC充满了变量,并将会给投资者带来混乱和增加成本。这也就是为什么EricBalchunas认为在《证券法》及《投资公司法》的框架下批准ETF是值得的。《证券法》及《投资公司法》两个法案都赋予SEC监管投资信托和投资顾问的权力,最终的目的是保护投资者。[2021/8/18 22:21:39]

未来的Block.one正在消除密码和昂贵的审计,为企业节省数十亿美元,防止身份盗窃,并提供更高的可靠性和可审计能力。

多年来,我一直认为每个多用户网站都可以从区块链后端中获益。和很多人的认知不同,区块链不必是缓慢、低效的数据库,也不必在抗审查、开放的基础上运行。区块链可以在安全性、审计能力、透明度和业务流程的完整性方面提供重要的改进,即使区块链完全由公司自己操作,其中的所有内容都不会公开。本文旨在揭示区块链在企业环境中的真正价值,并为区块链行业的发展指明方向。

在区块链行业中,许多人认为区块链只有在将互不信任的参与方连接起来时才会创造优势。他们认为,传统的数据库技术已经可以完成确保业务所需的所有工作。换句话说,他们认为传统的数据库复制和“数据完整性”保证就足够了。在这个过程中,他们要么忽视要么无视区块链所提供的完全不同的安全性和完整性保证:

1. 对全局事件序列的承诺

2. 业务逻辑的确定性执行

3. 业务逻辑和数据完整性的紧密耦合

4. 消除密码

在传统的业务应用程序架构中,业务逻辑与数据库是分离的。通常有一个应用服务器,如Node.js或J2EE,提供了修改数据库的密码。Node.js服务器的作用是通过密码或多因素认证机制对用户进行身份验证。一旦应用服务器对用户进行了身份验证,它就会发出一个会话令牌,用于对未来的用户交互进行身份验证,直到超时或会话的某些元素(如IP)发生更改。

BTC跌破35900美元关口:火币全球站数据显示,BTC短线下跌,跌破35900美元关口,现报35899.52美元,日内涨幅达到0.47%,行情波动较大,请做好风险控制。[2021/1/18 16:23:52]

显然,这种传统设计通过应用服务器管理的单次登录/密码执行所有数据库操作。通过最终用途,应用服务器负责部署身份认证机制。显然,通常有多个用户可以访问用户名和密码。数据库管理员可以向许多不同的应用服务器或个人分配和撤销凭据。

高级系统确保在横向扩展的系统中,每个应用服务器都有自己的用户名和密码,在某些情况下甚至可以使用公钥基础设施(PKI)和硬件安全模块(HSM)。但是,即使在这里,数据库也只认证应用服务器的连接。为了提供审计日志,它必须记录安全连接的整个数据流。但是,即使这个日志也只能记录应用程序服务器请求的“读写操作”,而应用程序服务器已经丢失了最初用户意图的所有信息。

审查这样一个系统的审计师无法知道应用服务器(例如Node.js)是否遵循正确的业务逻辑,是否正确地验证了最终用户的身份。Node.js进程可以将用户操作记录到数据库中,方便审计师复制同样的计算,但这样的记录并非不可篡改,而且没有独立认证验证,无法了解终端用户真的授权了某一行为。

可以尝试记录每个用户的连接,但是由于用户经常通过连接传输他们的密码,这些记录最终会成为一个泄露用户信息的蜜罐。更复杂的系统可以对这些记录进行加密,这样只有审计人员才能读取它们。

假设审计日志没有被篡改,审计人员将不得不通过应用程序逻辑运行相同的操作序列,以验证最终数据库状态是否匹配。这意味着应用服务器必须以确定性的方式实现。

虽然编写确定性代码似乎很简单,但实际上所有常见的计算机语言都是非确定性的,因为它们允许开发人员获取存储在数据库以外的数据。可以是一些简单的东西,如时间戳、内存地址、环境变量、IP地址,也可以是一些更微妙的东西,如硬件上的浮点行为或哈希表的插入顺序。在许多情况下,访问长时间运行的应用程序服务器的内存变量就足以引入不确定性。启动/停止应用程序服务器的动作必须被记录和复制,否则在重放期间每个本地内存访问可能是不确定的。

Stellar提醒用户警惕网络钓鱼:Stellar官方刚刚发推称,“请注意,SDF绝不会要求提供密钥。SDF无法重置帐户,并且永远不会发送有关用户帐户的通知。如果你收到提示上述内容的电子邮件,则表明它是网络钓鱼的一种尝试,我们目前正在调查中。”[2020/11/30 22:31:13]

事实是,编写确定性代码对于受过常见误区培训、积极寻找非确定性的最佳开发人员来说是一个挑战。典型的企业应用程序开发人员会发现以确定性的方式编写代码是困难的或不切实际的。

如果我们进一步假设应用程序代码是确定性的,应用程序如实记录用户事件,那么我们仍然面临跟踪部署的代码版本的挑战。应用程序是动态的,并且经常更新,因此应用程序代码本身也必须是数据库状态的一部分,并且其更新的管理和记录与用户操作的安全性和可审计性相同。然后,审计人员需要拥有应用服务器代码的所有版本的副本,并根据需要通过每次版本升级来重放用户输入(以及重启代码)。

即使单个应用程序服务器在安装和部署方面都能够以确定的方式进行操作,它仍然会遇到一个主要的可扩展性问题。只有一个应用服务器实例可以在数据库进行操作。并行访问可以通过复杂的锁实现,但是即使锁上的竞争条件也必须被记录和复制,或者两个具有不同本地变量的应用程序逻辑实例也可能产生不确定的输出。

此时人们可能会完全放弃确定性,但是确定性在缺席之后,会逐步在最终数据集累积大量的偏差。审计人员将被迫使用模糊逻辑和近似匹配,每个人都必须相信“模糊逻辑”已经够好了。

当然,要否定编写和部署确定性代码所付出的所有努力,唯一要做的就是让数据库管理员直接修改数据库而不进行跟踪。在某些情况下,对用户输入日志和状态的仔细更新可能会创建两个不同的数据库状态,每个状态都通过了确定性测试,但仍然具有不同的和不可调和的输出。例如,假设一个教授向系统提交了一个学生的成绩为F,然后这个学生可以通过黑客或贿赂的方式进入数据库来更改他的成绩和教授提交的记录。

任何重视完整性的多用户系统的最终目标都是确保不能伪造用户输入。用户名/密码或其他主观的多因素认证(如SMS或谷歌验证)的使用依赖于服务器来判断密码是否匹配,或者是否输入了正确的SMS代码/电子邮件链接/验证码。很明显,这对系统的完整性来说是一个巨大的问题,我将提供一个真实的例子来说明这些系统有多糟糕。

2016年,我在一家加密货币交易所开设了一个账户,后来这家遭到黑客攻击,黑客窃取了价值数万美元的比特币。我当时一共收到了4封邮件,第一封是 “密码重置”邮件,然后是另一封表明我的密码已成功重置的邮件。然后我收到一封要求确认我的比特币提取(带有代码/链接)的邮件。然后我收到了一个通知,说我的提币手续已经办完了。

乍一看,我的邮箱似乎被黑了,但这是不可能的,因为我采用了多因素认证。我的邮箱安全页面显示,没有未经授权的访问。我也能看出来,因为谷歌会记录并显示所有访问我邮箱的IP和设备。

事实上,攻击者在邮件到达我的邮箱之前就截获了邮件。应用服务器无法知道邮件被截获,因此就算攻击者只有应用服务器生成的一次性代码,其还是能获得密码重置和提币的授权。

同样的漏洞也可用于SMS或依赖于用户控制的私钥以外的其他技术。真正安全的用户账户是为所有用户采用基于硬件的私钥作为他们的登录凭证,在硬件密钥丢失的情况下,采用一个稳健的和费时的过程来促进安全复位。

此时,多用户业务应用程序可以使用用户的私钥对每个用户请求签名,将这个签名的请求记录到数据库中,并使用确定性代码处理它。即使这样也不能提供人们所期望的完整性,因为用户请求仍然可能被删除,同时还会产生副作用。想象一下,当一名警官提交了你的罚单,然后所有的州都产出了这个请求,你就可以入侵警察数据库并删除他签署的请求。

此时,精明的工程师会宣称,我提出的每个问题都可以通过更改应用程序逻辑来解决。他是对的,一个成熟的应用程序开发人员可以使用传统的数据库、传统的应用程序服务器和常见的密码原语来构建一个相对安全且可审计的系统。根据同样的逻辑,一个精明的工程师可以声称数据库是完全不必要的,所有的东西都应该直接构建在文件系统上。也有工程师可能会指出,我们可以从头开始编写代码,不再依赖于Node.js和J2EE等应用服务器框架,这样就能提高性能。这就好像所有的东西都是由低水平的技术制造出来的,我们也可以设计出性能最佳的晶体管。

我之所以指出这个极端,是因为它强调了了高级框架在加速和保护新应用程序开发方面的真正效用。很少有人编写自己的密码库或算法,而编写这些库或算法的人要么是专家,要么在自己的系统遭到黑客攻击时成为了反面教材。从头开始开发/重新开发所有东西的成本可能会使每个应用程序都比在经过验证的框架上构建更昂贵。

区块链和EOSIO这样的开发框架之所以存在,是为了让应用程序开发人员不必为了构建安全的应用程序而重新创建“数据库”。安全性和确定性很难实现,这就是为什么技术构建在抽象细节的层中。EOSIO在同一过程中将确定性执行环境(WebAssembly)与快速数据库相结合。所有的用户操作都由他们自己的私钥签名,并记录在一个复制和分布式的数据库中,该数据库具有对区块头进行公开承诺的能力。

EOSIO这样的框架变得与传统的不安全系统一样强大且易于开发,只是时间问题。在许多方面,EOSIO的架构已经比传统系统具有更高的性能,这是因为它将应用程序逻辑放在与内存数据库相同的进程空间中。这就创建了确定性存储过程。

在未来的几年里,Block.one的目标是添加工具和接口,使在区块链上部署企业应用程序就像在传统企业应用架构上部署同类应用一样容易(或更容易)。

很明显,采用区块链技术应该成为政府机构、上市公司和有责任防止欺诈或进行财务报告的企业的优先事项。在我看来,未来几年不采用区块链技术就像银行不采用SSL,一旦该技术得到广泛使用,不使用区块链技术就会被认为是疏忽。

是时候开始行动了。如果应用程序的构建方式没有根本性的改变,你的企业和用户就不会安全。每耽搁一天,你的生意就会面临欺诈或黑客攻击的风险。

标签:区块链DAPPNBSCOM区块链工程专业学什么女生比较好YDAPPnbs币官网COMOS币

币安app官方下载最新版热门资讯
金色观察 | 二维码会是区块链行业的工具入口吗?

我们对二维码的使用已经习以为常。但你知道二维码是移动互联网重要的一个工具入口吗? 如今,智能手机已经成为上网的重要载体。二维码就是得益于网络的兴起以及智能手机的广泛使用。在智能手机普及后,二维码的应用,似乎一夜之间渗透到我们生活的方方面面,地铁广告、报纸、火车票、飞机票、快餐店、电影院、团购网站以及各类商品外包装上。

强强联合!BitMax与Bithumb Korea建立战略合作伙伴关系

              BitMax.io(BTMX.com)是一家在新加坡注册的数字资产交易平台,用户分布涵盖全球个人和机构投资者 。近日他们与总部位于韩国的加密货币交易所Bithumb Korea同时宣布,双方将联合各自的优势,建立战略合作伙伴关系。

美国国税局根本不认为比特币是虚拟货币

美国国税局(IRS)删除了其网站上将游戏货币作为可兑换虚拟货币示例的说法。这一澄清非常重要,因为新的税务申报要求纳税人报告自己是否有涉足虚拟货币。 2月13日,Bloomberg Tax首次报道了这一举动。IRS网站上的官方指南指出,《堡垒之夜》的V-bucks和《机器砖块》的Robux都是虚拟货币。

金色观察丨币链分家会是市场发展的必然走向吗?

2008年,全球爆发金融危机,中本聪发表了比特币的白皮书,在白皮书上中他天才的构筑了一个从发行到流通,不受任何国家约束,不受任何中心化机构操控,恒定数量为2100万个的电子现金系统。2009年,中本聪用代码把白皮书上的比特币实现了,从此拉开了区块链和数字货币大浪潮的序幕。

金色观察 | 拒绝隔岸观火 日本计划2-3年实现数字日元

由于中国央行和Facebook积极推进数字货币,日本方面压力倍增。  在过去几周,许多日本议员公开表示他们倾向于日本央行研发并控制CBDC,总体思路是应对来自中国即将发行的数字人民币。

2种经典的短线卖出技巧 告别被套

 一、三重死叉卖出法 如图所示,哈药股份(600664)股价在长期上涨后开始缓慢下跌,几乎出现5日、10日均价线、5日、10日均量线和MACD的死亡交叉点,这是股价卖出的信号。刚开始的价格回落可能是缓慢的,但这种走势最终会造成股价加速滑跌。当股价滑跌时,5日、10日均价线、量均线和MACD自然发生死亡交叉。