Concrete v2.6 版本发布,引入了近似可编程引导启动(PBS)、输入压缩、增强的函数组合以及更快的模拟,以及 ternary-if, Relu, 和 Sign 函数。近似 PBS 通过不精确的舍入加速 TLU 运算;输入压缩通过种子加密进一步优化带宽和磁盘空间;增强的函数组合通过模块实现更灵活的加密数据处理。此外,仿真速度也得到了显著提升。
/
2024年4月8日
-
Quentin Bourgerie
Concrete v2.6 引入了近似可编程自举 (programmable bootstrapping, PBS)、输入压缩、增强的函数组合以及更快的模拟、三元 if、Relu 和 Sign 函数。这些改进通过增强 Concrete 的性能、效率和功能,为用户带来显著价值。
在 Concrete Python 中,非线性操作被转换为查找表 (table-lookup, TLU),然后在 TFHE 框架中使用 PBS 执行。
PBS 是 TFHE 中最昂贵的操作。PBS 的计算复杂度取决于密码参数的大小,而这些参数的大小随着要自举的加密消息的位数而增长。随着消息大小的增加,自举的计算成本呈指数级增长。为了减轻这种影响,round 和 truncate 运算符在之前的版本中被引入。在自举之前应用这些运算符可以通过忽略消息的最低有效位 (least significant bits, LSB) 中的信息来减少消息的位宽,从而大大提高 TLU 的速度。
Concrete v2.6 引入了一种更激进的舍入模式,可以使 TLU 的速度提高 2 到 3 倍,但代价是不精确的舍入。此功能可以大大提高对不精确舍入具有容忍度的应用程序的性能。例如,它在 Concrete ML 中对于深度学习任务非常有益。
有关更多详细信息,请查看我们关于近似舍入的文档。
之前的 Concrete v2.5 引入了压缩,它将评估密钥的大小减少了 4 倍。在此版本中,Concrete v2.6 通过新的输入密文压缩增强了压缩功能,以进一步优化带宽和磁盘空间利用率。输入密文压缩在底层使用种子密文。虽然压缩因子取决于各种因素,但压缩后的输入密文通常比未压缩的版本小数百到数千倍。
启用输入密文压缩只需设置选项即可,如下面的代码示例所示:
from concrete import fhe
@fhe.compiler({"x": "encrypted"})
def f(x):
return x // 2
circuit = f.compile(fhe.inputset(fhe.tensor[fhe.uint8, 1000]),
compress_input_ciphertexts=True)
在 Concrete v2.5 中,自组合函数 允许你使用函数的加密输出作为其输入之一。这非常酷,但存在局限性。在此版本中,我们在函数可组合性方面更进一步,并引入了函数集组合的 beta 版本,称为 模块 - 你可以在你的 FHE 模块中定义一组函数,并按照你想要的任何顺序调用它们。
此功能通过使开发人员能够在纯 Python 中编写任何非加密控制流,并让不同的参与方处理加密数据,从而扩展了 Concrete 的更多可能性。
from concrete import fhe
@fhe.module()
class MyModule:
@fhe.function({"x": "encrypted"})
def inc(x):
return x + 1 % 20
@fhe.function({"x": "encrypted"})
def dec(x):
return x - 1 % 20
inputset = list(range(20))
my_module = MyModule.compile(
{"inc": inputset, "dec": inputset},
)
x = 5
x_enc = my_module.inc.encrypt(x)
x_inc_enc = my_module.inc.run(x_enc)
x_inc = my_module.inc.decrypt(x_inc_enc)
assert x_inc == 6
x_inc_dec_enc = my_module.dec.run(x_inc_enc)
x_inc_dec = my_module.dec.decrypt(x_inc_dec_enc)
assert x_inc_dec == 5
for _ in range(10):
x_enc = my_module.inc.run(x_enc)
x_dec = my_module.inc.decrypt(x_enc)
assert x_dec == 15
⚠️ 请注意,此功能目前处于 beta 阶段。密码参数的优化受到一定的限制,可能会导致编译失败或执行时间变慢。此外,可能存在 API 崩溃的可能性。
对于下一个版本,该团队将致力于改进优化、更精细的函数关系规范以及稳定的 API。非常欢迎你的反馈和建议,它们将帮助我们塑造 Concrete 的未来。点击此处参与我们的开发者调查。
借助模拟,开发人员可以在开发阶段快速微调他们的函数或模型,而无需 FHE 的计算限制。例如,Concrete 模拟在 Concrete ML 中被大量使用。在 Concrete v2.6 中,Zama 团队已将模拟速度提高了高达 100 倍。无需从用户端更改 API 或用法,你已经可以利用更快的模拟,而无需在代码中进行任何更改。如果你还没有使用过模拟,现在是时候查看文档并尝试一下了。
最后,我们显著提高了这些函数的速度
此外,Concrete v2.6 还包括一些其他的细微改进,你可以在 GitHub 或 发行说明 中找到。这些改进不需要更改 API,因此我们鼓励你测试我们的最新版本,并在无需任何额外努力的情况下享受这些改进带来的好处。
[视频教程] 使用 Concrete 在 FHE 中计算 XOR 距离 \ 在本教程中,Zama 团队成员 Benoit Chevallier-Mames 向你展示如何使用 Concrete 在 FHE 中计算 XOR 距离。 2024年5月28日\ \ Benoit Chevallier-Mames
Concrete
教程
[视频教程] 使用 Concrete 通过近似舍入加速神经网络 \ 在本教程中,Zama 团队成员 Rudy Sicard 向你展示如何使用 Concrete 通过近似舍入加速神经网络 2024年5月16日\ \ Rudy Sicard
Concrete
教程
Zama 产品发布 - 2024 年 4 月 \ 随时了解 Zama 2024 年 4 月的产品发布,其中包括 TFHE-rs、Concrete、Concrete ML 和 fhEVM 的进展... 2024年4月9日\ \ Zama 团队
公告
TFHE-rs v0.6:GPU 上的零知识支持和有符号整数运算 \ TFHE-rs v0.6 引入了零知识证明、GPU 增强和其他加密功能。 2024年4月8日\ \ Jean-Baptiste Orfila, Arthur Meyre, Agnes Leroy
公告
TFHE-rs
Concrete ML v1.5:加密的 DataFrames 和更快的神经网络 \ Concrete ML v1.5 引入了一个新的 DataFrame API 和一个加速神经网络的新选项。 2024年4月8日\ \ Andrei Stoian
公告
Concrete ML
fhEVM v0.4:新的加密类型和异步解密 \ fhEVM v0.4 引入了新的加密类型、新的异步解密 API 和标准的 fhEVM 合约库。 2024年4月8日\ \ Clément Danjou
公告
fhEVM
Concrete ↗ Concrete ML ↗ FHEVM ↗ TFHE-rs ↗
博客 文档 ↗ GITHUB ↗ FHE 资源 ↗ 研究论文 ↗ 漏洞赏金计划 ↗ FHE STATE OS
与专家交谈 联系我们 X Discord Telegram 所有社区频道
隐私对于电子时代的开放社会是必要的。隐私不是秘密。私事是不想让全世界知道的事情,但秘密是不想让任何人知道的事情。隐私是选择性地向世界展示自己的力量。如果双方有某种交易,那么双方都会记住他们的互动。每一方都可以谈论他们自己对这件事的记忆;谁能阻止呢?可以制定法律来禁止它,但是言论自由,甚至比隐私更重要,对于开放社会来说是根本的;我们不寻求限制任何言论。如果许多方在同一个论坛中一起发言,每一方都可以对所有其他人发言,并将有关个人和其他方的知识汇总在一起。电子通信的力量使这种群体言论成为可能,并且它不会仅仅因为我们可能希望它消失而消失。既然我们渴望隐私,我们必须确保交易的每一方只了解该交易直接需要的知识。由于任何信息都可以被谈论,我们必须确保我们尽可能少地透露。在大多数情况下,个人身份并不重要。当我在商店购买杂志并向店员支付现金时,没有必要知道我是谁。当我要求我的电子邮件提供商发送和接收消息时,我的提供商不需要知道我在与谁说话或我在说什么或其他人对我说什么;我的提供商只需要知道如何将消息发送到那里以及我欠他们多少费用。当我的身份被交易的底层机制揭示时,我就没有隐私。我不能在这里选择性地展示自己;我必须总是展示自己。因此,开放社会中的隐私需要匿名交易系统。到目前为止,现金一直是主要的此类系统。匿名交易系统不是秘密交易系统。匿名系统使个人能够在需要时并且仅在需要时透露自己的身份;这就是隐私的本质。开放社会中的隐私还需要密码学。如果我说了一些话,我希望只有我打算让其听到的人才能听到。如果我的言论内容对全世界都是可见的,我就没有隐私。加密就是表明对隐私的渴望,而使用弱密码学加密则表明对隐私的渴望程度不高。此外,当默认设置为匿名时,为了有保证地揭示自己的身份,需要密码签名。我们不能期望政府、公司或其他大型的、没有面孔的组织出于仁慈而赋予我们隐私。对他们来说,谈论我们是有利的,我们应该期望他们会谈论。试图阻止他们的言论就是与信息的现实作斗争。信息不仅仅是想要自由,它渴望自由。信息会扩展以填满可用的存储空间。信息是谣言的年轻、更强大的表弟;信息比谣言的脚步更快,眼睛更多,知道的更多,并且理解得更少。如果我们希望拥有隐私,我们必须捍卫自己的隐私。我们必须团结起来,创建允许进行匿名交易的系统。几个世纪以来,人们一直在用耳语、黑暗、信封、关着的门、秘密握手和信使来捍卫自己的隐私。过去的技术不允许强大的隐私,但是电子技术可以。我们密码朋克致力于构建匿名系统。我们正在使用密码学、匿名邮件转发系统、数字签名和电子货币来捍卫我们的隐私。密码朋克编写代码。我们知道必须有人编写软件来捍卫隐私,并且由于我们无法获得隐私,除非我们所有人都这样做,因此我们将编写它。我们发布我们的代码,以便我们的密码朋克同伴可以练习和使用它。我们的代码可供所有人免费使用,在全球范围内。我们不太关心你是否不赞成我们编写的软件。我们知道软件无法被销毁,并且一个广泛分散的系统无法被关闭。密码朋克谴责对密码学的法规,因为加密从根本上说是一种私人行为。实际上,加密行为将信息从公共领域移除。甚至反对密码学的法律也只能触及一个国家的边界和它的暴力行为。密码学将不可避免地传播到全球,并随之传播它使之成为可能的匿名交易系统。为了使隐私得到广泛传播,它必须成为社会契约的一部分。人们必须共同努力部署这些系统,以实现共同利益。隐私的范围仅限于社会中同伴的合作程度。我们密码朋克寻求你的问题和疑虑,并希望我们可以与你互动,以免我们欺骗自己。但是,我们不会因为某些人可能不同意我们的目标而改变我们的路线。密码朋克正在积极参与使网络更安全,以保护隐私。让我们一起快速前进。前进。埃里克·休斯(Eric Hughes)撰写。1993年3月9日。
- 原文链接: zama.ai/post/concrete-v2...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!