标签 区块链 下的文章

HashiCorp CEO 称硅谷将不会再有开源公司

之前,我们报道过,HashiCorp 将其 Terraform 等产品从开源的 MPL 许可证改为 MariaDB 的 BSL 许可证,新的许可仅限于 “非生产使用”。尽管开源的拥护者抨击了 HashiCorp 的许可证转换,并成立了 OpenTF 基金会,但 HashiCorp CEO 戴夫·麦克简内特 Dave McJannet 却用 “太好了” 来形容其最大客户的反应,他声称很多反馈都是“我们希望你们早点这么做”。他还补充说,他们宣布之前已经与主要云计算厂商进行了讨论,“在过去的三四年里,每一个达到一定规模的厂商都得出了同样的结论。”他认为,历史上的开源基金会模式已经被打破,因为它们被传统供应商所主导。“它们是大公司保护自己不受创新影响的一种方式,”一旦某个项目流行起来,“克隆厂商就会开始抢占这些东西”。他批评了 Linux 基金会接纳 OpenTF 基金会的做法,“这对开源创新来说是个悲剧。……那样硅谷就不会再有开源公司了。”

消息来源:The Stack
老王点评:我想说,这就是得了开源的利,而砸开源的锅。一开始开源得到了社区贡献和支持,壮大后就嫌弃黄脸婆了。但是,公平的说,为什么会有大量的项目会在壮大后抛弃开源?是开源模式无法持续,还是新的形势下,开源模式也需要新的进化呢?

攻击者在 Binance 区块链上托管恶意软件

通常,被攻击者入侵的网站会向访问者分发恶意软件,而这些恶意软件在被发现后会被清除。但安全专家发现,攻击者开始通过将恶意文件托管在去中心化的、匿名的区块链上,使这些恶意软件不被安全专家或执法部门清除。攻击者在 Binance 智能链(BSC)上创建一个新的智能合约,包括一个由攻击者控制的区块链地址,以及一组定义合约功能和结构的指令。当被攻击的网站查询该合约时,它会返回一个被混淆的恶意有效载荷。由于区块链的可公开访问性和不可更改性,这些恶意代码无法被清除,攻击者从而获得一种免费的、无跟踪、稳健的方式来下载恶意有效载荷,而且不会留下痕迹。

消息来源:Krebs on Security
老王点评:我是真没想到区块链被用在这个用途上,还好 BSC 不够去中心化,尚有一定手段可以缓解,但是这反而有点让人哭笑不得。

KeePass 被攻击者用国际化域名编码钓鱼

安全公司警告,攻击者正通过谷歌广告引诱用户访问开源密码管理器 KeePass 的钓鱼网站。攻击者使用国际化域名编码(Punycode)注册了 KeePass 的钓鱼网站 ķeepass[.]info,它和 KeePass 官方域名在视觉上的差异非常小,无疑会让很多人上当。

消息来源:Malware Bytes
老王点评:国际化域名用的很少,但带来的麻烦却很多。不过,这种钓鱼手段应该可以被浏览器很好的防御。

马自达封杀了业余爱好者的智能汽车 API 工具

上周之前,马自达汽车的车主如果同时安装了“Home Assistant”应用,就可以为自己的汽车创建一些方便的连接。比如根据能源的动态价格控制充电器;再比如还可以在早晨通勤前检查油量,在天气预报下雨前提醒他们车窗是否已关好,以及在寒冷条件下远程解锁和启动汽车等等。这些功能可以扩展的范围非常大,据称已经超出了马自达官方应用程序的功能范围。然而,马自达向 GitHub 发出了下架该仓库的要求,指控该软件包含 “侵犯版权所有权” 的代码;使用 “某些马自达信息,包括专有 API 信息来创建代码和信息”;包含提供与目前马自达应用程序中“相同功能”的代码。该软件作者出于“即使我相信我所做的事情在道德上是正确的,在法律上是受保护的,但法律程序仍然需要付出经济代价”的考虑,向“Home Assistant”核心项目提出了拉取请求,删除了马自达集成。

消息来源:Ars Technica
老王点评:重施甲骨文故技,我的 API 就是不能给别人用,模仿都不行。

高通发布首款面向大众市场的 RISC-V 安卓 SoC

去年,谷歌宣布在安卓系统中正式支持 RISC-V,并计划将其打造成与 Arm 同等重要的一级平台。而在硬件方面,高通宣布推出有史以来第一款面向大众市场的 RISC-V 安卓 SoC,它计划 “在全球(包括美国)商业化基于 RISC-V 的可穿戴设备解决方案”。RISC-V 架构是开源的,因此比 Arm 架构更便宜、更灵活,也是回避 Arm 存在的各种问题的一种方法。

消息来源:Ars Technica
老王点评:有望摆脱 Arm 对移动计算的统治。

Reddit 正在逐步停止基于区块链的社区积分

Reddit 社区积分于 2020 年首次推出,奖励给积极参与特定子区的用户,以激励更好的内容和对话。这些积分本质上是以太坊通证,存储在 Reddit 的加密货币钱包中。Reddit 称,他们“看到了社区积分未来的一些机会,但不幸的是,所需的资源配置过高,无法证明其合理性。” Rdddit 正在转而优先考虑那些不那么难以扩展的奖励项目。

消息来源:Tech Crunch
老王点评:对区块链的美好幻想逐一破碎,生不逢时。

澳证交所宣告用区块链改造其核心交易系统失败

澳大利亚证券交易所(ASX)在 2017 年曾宣布用基于区块链的替代品取代其核心交易系统 CHESS,但一直到 2022 年都 未曾完工,并在去年 11 月 “暂停” 了该工作,因为外部审查发现该软件在开发了七年后必须进行大量的返工。ASX 表示它正在考虑再次尝试重建这个有 30 年历史的软件的方案,但不会涉及区块链或相关的分布式账本技术。

消息来源:路透社
老王点评:这原本是世界上最引人注目的概念用例之一。在区块链技术被热捧时,似乎什么都应该用区块链来重新写一下。当热潮退去,另外一个热潮来临时,一切都打回了原形。但是我依然认为区块链有其价值,在褪去那些炫目的光环后,它本质的东西才能剩下。

英特尔研究开发仅支持 64 位的 x86S 架构

自 Windows 7 以来,大部分 PC 用户运行的 Windows 操作系统都是 64 位,搭载的内存也超过了 4GB,64 位应用和游戏都逐渐成为了主流。对英特尔而言,简化 x86 指令集架构,只支持 64 位显然有诸多好处。英特尔发表了一份白皮书,探索了仅 64 位的 x86S 架构。在新的架构中,用 64 位的简化分段模型分段支持 32 位应用,移除了 16 位寻址支持。64 位的 x86S 芯片仍然支持 32 位应用,但不再支持 32 位操作系统。

消息来源:英特尔
老王点评:是时候考虑全面转向 64 位了,就像当时从 8 位、16 位升级到 32 位一样。抛掉历史包袱,显然更好。虽然这一天来的不算早,但是依然有点意外。

大量恶意项目导致 PyPi 暂停新注册两天

上周六,官方的 Python 软件包第三方注册机构 PyPI “暂时停止了新用户的注册和新项目的上传”。PyPI 称,在过去的一周里,在其上创建的恶意用户和恶意项目的数量已经超过了应对能力,“特别是在多个 PyPI 管理员休假的情况下”。现在,PyPI 表示“暂停服务已被解除”,但没有提供更多细节。

消息来源:Bleeping Computer
老王点评:在第三方软件库越来越成为基础设施的重要一环时,其承担了太多原本没有预料的压力。也许是该考虑在新的形势下,如何改进已经用了数十年的第三方中心化的软件库的机制、架构和流程了。

懒人程序员们可以付费使用 AI 代写“作业”了

GitHub 宣布它的 AI 编程助手 Copilot 将开放付费使用,开发者可支付月费 10 美元或年费 100 美元。核实过的学生和流行开源项目的维护者可免费使用。Copilot 使用公开的代码库进行训练,在开发者写代码时根据函数名等上下文自动补完后续代码。很多时候 Copilot 补充的是公开代码库中代码片段的拷贝,在设置中提供了一个选项可以关闭来自公开代码库的代码补充建议。

消息来源:GitHub
老王点评:作为一个有 20 多年编程经验的人,我觉得这对编程人员来说可能并非好事。虽然它可能帮你更快、更轻松地编程,但是也可能导致你的编程基础技能进一步被削弱。最终,Copilot 的进一步强大和程序员越来越弱的编程能力,导致最终失业的是那些依赖 Copilot 的程序员们。

开源代码项目平均有 49 个漏洞

在最新《开源安全状态》报告中发现,一个开源的项目平均有 49 个漏洞和 80 个直接依赖项。修复开源项目漏洞所需的时间也在稳步增加。早在 2018 年,修复安全漏洞平均需要 49 天,而 2021 年则需要 110 天。该报告称,只有 49% 的组织制定了开源软件开发或使用的安全策略,对于大中型公司来说仅为 27%,甚至大约 30% 的组织中没有人直接负责和解决开源安全问题。

消息来源:SNYK
老王点评:开源软件从非主流变成主流,其原本的一些小问题也逐渐形成了大问题。在所有人都开始拥抱开源的时候,反而要审慎地应用开源,要对进入严肃应用场合的开源软件进行管理,使之可以避免一些固有的缺陷和风险。

研究发现区块链的中心化风险

近日,美国国防高级研究计划局(DARPA)发布了一份名为《区块链真的是去中心化吗?》的报告,发现区块链的关键漏洞有可能危及其所谓“去中心化”理念。根据该报告,至少在过去五年中,60% 的比特币流量仅通过三个互联网服务供应商,而 55% 的比特币流量是通过 Tor 进行的。这意味着这些供应商有可能拥有“改写历史”的能力,限制某些交易。此外,大约 21% 的比特币节点正在运行一个容易受到攻击的旧版本的比特币核心客户端。

消息来源:SecurityBoulevard
老王点评:毕竟区块链也是运行在网络上的,算法上的安全并不能解决基础设施不安全的问题。值此区块链暴跌的时机,这一报告又将雪上加霜。

回音

  • Cloudflare 解释 说 20 日的 事故 是网络配置错误导致的。Cloudflare 称它修改网络配置本意是增加弹性,结果却导致其 4% 的网络受到影响,进而影响到它处理的大约 50% 的 HTTP 请求。

AI 机器船“五月花”号航行五周后到达了北美

一艘曾试图追溯 1620 年“五月花”号海上航行的无人驾驶的机器船,在五周之后,从英国到达了美国马萨诸塞州的普利茅斯岩。IBM 负责该项目的的一位主管说,“构成自主系统的技术工作得非常完美,毫无瑕疵”,但是“在机械上,我们确实遇到了问题”。这并不是它的第一次航行,去年它曾经因为故障而折返,而今年的航程也出现过一些故障,不过,好歹是到达了目的地。

消息来源:apnews
老王点评:AI 在帮助自动驾驶机器了解其周围环境和自我驾驶方面越来越好,但当硬件出现问题时,大多数机器人没办法自己解决。不过,我在想,如果有一天他们连硬件故障也能解决的话……

谷歌研究在 Chromium 上安全使用 C++

谷歌 Chrome 安全团队在最近的一篇博文中说,“C++ 允许编写高性能的应用程序,但这是有代价的,安全……”。虽然如此,他们讨论了使用堆扫描技术来提高 C++ 的内存安全的历程,并提出了一些思路,基本的想法是把明确释放的内存放入隔离区,只有在达到一定的安全条件时才让它可用。在微软改用基于 Chromium 的浏览器之前,也曾在其浏览器中推出了这种缓解措施的版本。

消息来源:谷歌
老王点评:我倒是觉得,这或许给浏览器漏洞又打开了一道大门,为什么不用内存安全的语言呢。

让区块链管理能源使其不再浪费能源

区块链技术最被人诟病地方之一是其能源浪费,大多数区块链需要计算机反复进行无意义的计算。明显的解决方案是将区块链建立在有用的计算之上,该解决方案必须难以计算,但容易验证。本周发布的一篇论文提供了一种选择。优化问题在计算方面是出了名的昂贵,但解决方案的质量相对容易评估。这里被优化的系统是小型电网,在能源分配中存在需要优化的地方:供应与需求相匹配,找出最经济的发电源组合。随着能源市场逐渐分散化,管理复杂性也在相应增加,而小型子电网可以通过区块链的计算优化进行自我管理。

消息来源:Arstechnica
老王点评:这倒是一个有趣而值得探索的道路,不但可以部分解决能源浪费问题,而且有助于利用区块链的其它去中心化特性。

DAML 智能合约语言是一种专门设计的 特定领域语言 domain specific language (DSL),用于编码应用的共享业务逻辑。它用于区块链环境中分布式应用的开发和部署。

区块链技术是一种安全机制,以一种使人难以或不可能修改或入侵的方式来跟踪信息。区块链整合了交易的数字账本,它被复制并发送至其网络上的每台计算机。在链的每个区块中,都有一些交易。当区块链上发生新的交易时,该交易的记录就会被添加到属于该链的每个人的账簿中。

区块链使用 分布式账本技术 distributed ledger technology (DLT),其中数据库并不保存在一个服务器或节点中。在区块链中,交易被记录在一个被称为 哈希 hash 的不可改变的加密符号中。这意味着,如果一个通道或链上的一个区块被改变,黑客将很难改变链上的那个区块,因为他们必须对外面的每一个版本的链都要这样做。区块链,如比特币和以太坊,随着新的区块被添加到链上而不断增长,这使得账本更加安全。

随着区块链中智能合约的实施,在没有任何人工干预的情况下,有了自动执行的场景。智能合约技术使得执行最高级别的安全、隐私和反黑客实施成为可能。

Figure 1: Market size of blockchain technology (Source: Statista.com)

区块链的用例和应用是:

  • 加密货币
  • 智能合约
  • 安全的个人信息
  • 数字健康记录
  • 电子政务
  • 不可伪造的代币(NFT)
  • 游戏
  • 跨境金融交易
  • 数字投票
  • 供应链管理

根据 Statista.com,自过去几年以来,区块链技术市场的规模正在以非常快的速度增长,预计到 2025 年将达到 400 亿美元。

区块链的编程语言和工具箱

有许多编程语言和开发工具包可用于分布式应用和智能合约。区块链的编程和脚本语言包括 Solidity、Java、Vyper、Serpent、Python、JavaScript、GoLang、PHP、C++、Ruby、Rust、Erlang 等,并根据实施场景和用例进行使用。

选择一个合适的平台来开发和部署区块链,取决于一系列因素,包括对安全、隐私、交易速度和可扩展性的需求(图 2)。

Figure 2: Factors to look at when selecting a blockchain platform

开发区块链的主要平台有:

  • 以太坊
  • XDC Network
  • Tezos
  • Stellar
  • Hyperledger
  • Ripple
  • Hedera Hashgraph
  • Quorum
  • Corda
  • NEO
  • OpenChain
  • EOS
  • Dragonchain
  • Monero

DAML:一种高性能的编程语言

数字资产建模语言 Digital Asset Modeling Language ,即 DAML(daml.com),是一种高性能的编程语言,用于开发和部署区块链环境中的分布式应用。它是一个轻量级和简洁的平台,用于快速应用开发。

Figure 3: Official portal of DAML

DAML 的主要特点是:

  • 细粒度的权限
  • 基于场景的测试
  • 数据模型
  • 业务逻辑
  • 确定性的执行
  • 存储抽象化
  • 无重复开销
  • 负责任的跟踪
  • 原子的可组合性
  • 授权检查
  • 需要知道的隐私

安装和使用 DAML

DAML SDK 可以安装在 Linux、macOS 或 Windows 上。在多个操作系统上安装 DAML 的详细说明可访问 https://docs.daml.com/getting-started/installation.html

你必须具备以下条件才能使用 DAML:

  • Visual Studio Code
  • Java 开发套件(JDK)

DAML 可以通过下载并运行可执行的安装程序在 Windows 上安装,你可访问 https://github.com/digital-asset/daml/releases/download/v1.18.1/daml-sdk-1.18.1-windows.exe

在 Linux 或 Mac 上安装 DAML 可以通过在终端执行以下内容来完成:

$ curl -sSL https://get.daml.com/ | sh

安装 DAML 后,可以创建基于区块链的新应用,如图 4 和 5 所示。

Figure 4: Creating a new app

在另一个终端中,新的应用被导航并安装了项目的依赖:

Figure 5: Running DAML

WorkingDirectory>cd myapp/ui
WorkingDirectory>npm install
WorkingDirectory>npm start

这样启动了 WebUI,该应用可在 Web 浏览器上通过 URL http://localhost:3000/ 访问。

Figure 6: Login panel in DAML app

研究和开发的范围

区块链技术为不同类别的应用提供了广泛的开发平台和框架。其中许多平台是免费和开源的,可以下载和部署以用于基于研究的实现。研究学者、从业者和专家们可以使用这些平台为众多应用提出和实施他们的算法。


via: https://www.opensourceforu.com/2022/05/daml-the-programming-language-for-smart-contracts-in-a-blockchain/

作者:Dr Kumar Gaurav 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出