当前位置: 首页 > 编程日记 > 正文

区块链隐私:交易还是计算?

链客,专为开发者而生,有问必答!

此文章来自链客区块链技术问答社区,未经允许拒绝转载。
在这里插入图片描述

区块链隐私:交易还是计算?

隐私”是什么意思?在区块链生态系统中,“隐私”这个词被用于许多不同的语境中,表示着如此多的事情,以至于它的含义已经丢失或者是被混淆了。考虑到区块链项目“保护隐私”的数量,准确地对这些项目进行分类是至关重要的,这样我们才能理解、比较和评估它们。“隐私”通常可以分为两大类: 交易隐私和计算隐私。在这篇文章中,我们将深入研究这对网络、用户和分布式应用程序意味着什么。

交易隐私

当人们想到分布式应用程序和区块链的隐私时,大多数人想到的是交易性隐私。在私人交易中,某些方面对公众是隐藏的。交易的发送方、接收方和金额都可以被混淆,虽然这可能在计算上很昂贵,但是我们现在拥有支持它的工具和网络。提供交易隐私的项目有Zcash(使用zksnark)和Monero(使用环签名),这两个项目都可以用于保护交易不受公众和接收者的干扰。交易隐私是促进个人交易自由的一个关键因素,但它是一维的,因为它只允许简单的价值交换。如果我们想要一些更强大的东西——超越简单交易的东西——那么我们必须转向计算隐私。

计算隐私

分布式网络中的计算隐私有几个基本要求。首先,必须对输入数据进行加密,并对网络上运行的所有节点以及网络交易的观察者保密。其次,节点需要能够对加密的数据执行计算。最后,我们必须确保运行这些计算的节点返回的结果是正确的。

如果能够可靠地满足这些条件,计算专用网络可以保留分散的、无许可的区块链的优点,同时保持信息安全和私有;它支持通用计算(不仅仅是像交易这样简单的事情),而不需要公开网络上的所有数据。

网络隐私

想想比特币和以太坊的区别。在比特币网络上,用户可以来回传输价值,但大多数情况下,仅此而已。另一方面,以太坊能够使用智能合约在以太坊虚拟机(EVM)上执行任意(带有约束的)计算。一个是单用途网络,另一个是通用网络。

这就是 Enigma的由来。Enigma使用一套隐私保护方法来保持数据加密,同时仍然允许通用计算。这给了以太坊一个急需的升级:通过隐藏数据,以太坊的网络效应得以维持,同时防止计算本身被发现。使用计算隐私方法,开发人员可以构建真正分布式应用程序,同时仍然能够保证用户的数据隐私。

那么这些计算隐私保护方法到底是什么呢?在Enigma,我们主要研究了两个系统:安全区域(可信执行环境)和多方计算(MPC)。安全区域是属于计算机内部的物理芯片,用于保护数据不被硬件外部看到。使用远程认证等技术,网络用户可以确保提交给网络的加密数据仍然是私有的,这比纯基于软件的方法快得多。我们即将发布的Discovery使用了这项技术,并优先考虑可用性。

此外,Enigma团队正致力于在网络体系结构中使用MPC,它通过组合不可信方来模拟可信的第三方。网络中的每台计算机只能看到加密的数据,但从来看不到任何有意义的东西。要了解更多关于MPC的信息,请参阅我们的联合创始人兼首席执行官Guy Zyskind在麻省理工学院发表的关于分散隐私的基础性论文(现在已经有超过500篇论文引用了该论文),或者查看Github存储库以获得更深入的了解!

评估dApp和用户的隐私

正如我们所看到的,理解隐私对任何特定的网络或应用程序意味着什么都是具有挑战性的。因此,当您评估一个将“隐私”作为特性提供的项目时,首先要问的问题是:“这是交易性隐私还是计算性隐私?”第二个问题是,“这个项目使用了哪些方法来确保隐私?”第三个问题是,“什么东西是保密的?”如果不回答所有这些问题,就很难将项目和技术进行比较。

虽然其他区块链项目可以使用不同的技术来保护计算隐私,但是我们认为没有一个能提供Enigma所能提供的强大性和灵活性。Enigma团队正在帮助Enigma构建人们希望成为世界上最强大的通用安全计算网络——或者,正如我们所说的,为分布式Web的隐私层。

相关文章:

8 ServletContext

1 为什么需要ServletContext 技术 显示网站多少人在线,显示当前登录者是第几位登录者等信息。 2 什么是ServletContext 可以把它想象成一个服务器上的公共空间,每个用户都可以访问到它。 Web 容器在启动时,它会为每个Web 应用程序都创建一个对…

IOS沙盒Files目录说明和常用操作

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 读取Documents目录代码 NSArray *pathsDocumentsNSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *pathDocu…

iOS一些实用的技巧

获取触摸的点- (CGPoint)locationInView:(UIView *)view; - (CGPoint)previousLocationInView:(UIView *)view;自动适应父视图大小self.view.autoresizesSubviews YES;self.view.autoresizingMask UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;把pli…

在公共区块链中通过加密保护数据

链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载。 隐私限制 在处理或交换业务文件时,贸易伙伴可能需要某些隐私因素。 (1)交易数据的隐私性: 交易数据仅供交易双方阅读。 (2)交…

python xml模块学习

xml打开方式 # xml有两种打开方式 # 1. 打开文件,读取XML内容 str_xml open(xman.xml, r).read() print(str_xml)# 将字符串解析成xml特殊对象,root代指xml文件的根节点 root ET.XML(str_xml) # 读取字符串,将字符串转为Element对象 pri…

实例 - 购物车 (列表、循环)

salary int(input(Please input your money:))product [(iphone6s,5800),(mac bood,9000),(coffee,32),(python book,80),(bicyle,1500), ]shopping []while True:#打印商品内容n 1for i,v in product:print(n,.,i,v)n 1#引导用户选择商品choice input(选择购买商品编号:…

右滑手势导航返回的相关设置

iOS7之后提供了右滑返回上一级界面的手势,但是自定义返回按钮会失效,解决办法如下: -(void)viewWillAppear:(BOOL)animated{ [superviewWillAppear:animated]; if([self.navigationController respondsToSelector:selector(interacti…

区块链编程完全指南:平台、语言与结论

链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载。 区块链,代表着未来的发展方向。是的,在文章开头,我们首先给出这样的结论。当然,认定未来将围…

基于QProbe创建基本Android图像处理框架

先来看一个GIF 这个GIF中有以下几个值得注意的地方这个界面是基本的主要界面所应该在的地方。其右下角有一个“”号,点击后,打开图像采集界面在这个界面最上面的地方,显示的是当前图像处理的状态。(一般来说,是成功/不…

iOS三种拨打电话的方法

1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示NSMutableString* str[[ NSMutableStringalloc ] initWithFormat : "tel:%" , "xxxxxxxxxxx" ];[[UIApplica…

查询今天是周几?

<?php $wdate(w); $weekarray( "0">"星期日", "1">"星期一", "2">"星期二", "3">"星期三", "4">"星期四", "5">"星期五",…

区块链学习之-发布合约

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自链客区块链技术问答社区&#xff0c;未经允许拒绝转载。 命令行编译&#xff0c;发布合约1. 编译合约&#xff0c;编译不了curl --data ‘{“jsonrpc”:“2.0”,“method”: “eth_compileSolidi…

Codeforces 900D Unusual Sequences:记忆化搜索

题目链接&#xff1a;http://codeforces.com/problemset/problem/900/D 题意&#xff1a; 给定x,y&#xff0c;问你有多少个数列a满足gcd(a[i]) x 且 ∑(a[i]) y。 题解&#xff1a; 由于gcd(a[i]) x&#xff0c;所以y一定是x的倍数&#xff0c;否则无解。 那么原题就等价于…

对AFNetworking的简单封装

#import "YGLoadDataManager.h"#import "AFNetworking.h"implementation YGLoadDataManager#pragma mark -- GET请求 -- (void)getWithURLString:(NSString *)URLStringparameters:(id)parameterssuccess:(void (^)(id))successfailure:(void (^)(NSError …

js原型链prototype与__proto__以及new表达式

对象模型的细节 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Details_of_the_Object_Model转载于:https://www.cnblogs.com/imust2008/p/5621751.html

公有链和联盟链的本质不同

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自链客区块链技术问答社区&#xff0c;未经允许拒绝转载。 区块链是生命体、经济体。未来的区块链世界离不开自己的价值尺度建设 公有链和联盟链的本质不同 区块链受到大家广泛关注应该是2015年10月…

C++ 重载运算符简单举例

我们可以重定义或重载大部分 C 内置的运算符。这样&#xff0c;就能使用自定义类型的运算符。 重载的运算符是带有特殊名称的函数&#xff0c;函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样&#xff0c;重载运算符有一个返回类型和一个参数列表。…

ApacheBench(ab)使用详解

ab命令原理 Apache的ab命令模拟多线程并发请求&#xff0c;测试服务器负载压力&#xff0c;也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低&#xff0c;既不会占用很多CPU&#xff0c;也不会占用太多的内存&#xff0c;但却会给目…

ios如何实现静音模式下声音仍然可以外放

AVAudioSession *audioSession [AVAudioSession sharedInstance]; [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];

创建数据目录及多节点目录

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自链客区块链技术问答社区&#xff0c;未经允许拒绝转载。 创建数据目录及多节点目录 mkdir -p ~/workmeta/EduEthereumServerDeploy/deploy_2/{node1,node2} > cd ~/workmeta/EduEthereumServerD…

卷积神经网络学习笔记与心得(4)池化

图片经过卷积、激活后的结果一般带有大量原图信息。 上图中卷积核提取的是竖直方向上的连续像素&#xff0c;但是&#xff0c;被增强的像素只占了结果的1/3&#xff0c;对于多层网络&#xff0c;其余重要性较低的信息也被传入了下一层网络&#xff0c;造成了不必要的浪费&#…

mina、netty消息边界问题(采用换行符)

在TCP连接开始到结束连接&#xff0c;之间可能会多次传输数据&#xff0c;也就是服务器和客户端之间可能会在连接过程中互相传输多条消息。理想状况是一方每发送一条消息&#xff0c;另一方就立即接收到一条&#xff0c;也就是一次write对应一次read。但是&#xff0c;现实不总…

关于延时操作的使用

延时操作主要有4种方式 1.sleep方式 [NSThread sleepForTimeInterval:1.0f]; [self delayMethod]; 使用sleep方式在主线程和子线程中均可执行,但是这是中阻塞线程的方式,所以建议放到子线程中使用,以免卡住主线程使界面卡住. 没有发现取消执行的方法. 2.NSTimer定时器方式 …

CGpoint,CGSize,CGRect,NSRange

NSRange (范围);(location,位置 length&#xff0c;长度; NSPoint /CGpoint&#xff08;点&#xff09;; NSSize /CGSize&#xff08;大小&#xff09; CGPoint p1 CGPointZero CGPointMake(0, 0)代表原点 CGSizeZero CGSizeMake(0, 0);代表大小为0 CGRect rec CGRectMake…

Linux之socket套接字编程20160704

介绍套接字之前&#xff0c;我们先看一下传输层的协议TCP与UDP&#xff1a; TCP协议与UDP协议的区别 首先咱们弄清楚&#xff0c;TCP协议和UCP协议与TCP/IP协议的联系&#xff0c;很多人犯糊涂了&#xff0c;一直都是说TCP/IP协议与UDP协议的 区别&#xff0c;我觉得这是没有从…

WebViewJavascriptBridge的简单使用

- (void)viewDidLoad { UIWebView* webView [[UIWebView alloc] initWithFrame:self.view.bounds]; webView.backgroundColor [UIColor whiteColor]; [self.view addSubview:webView]; // 打开输出日志[WebViewJavascriptBridge enableLogging]; // 设置关联…

区块链架构详解

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自链客区块链技术问答社区&#xff0c;未经允许拒绝转载。 准备工作 区块链不是一种技术实现&#xff0c;而是一个系统的架构设计&#xff0c;使用一系列的技术组合用于完成去中心化的数据存储。比特…

Git详解之九 Git内部原理

以下内容转载自&#xff1a;http://www.open-open.com/lib/view/open1328070620202.html Git 内部原理 不管你是从前面的章节直接跳到了本章&#xff0c;还是读完了其余各章一直到这&#xff0c;你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解…

Hadoop2.6.0伪分布环境搭建

用到的软件&#xff1a; 一、安装jdk&#xff1a; 1、要安装的jdk&#xff0c;我把它拷在了共享文件夹里面。 &#xff08;用优盘拷也可以&#xff09; 2、我把jdk拷在了用户文件夹下面。 &#xff08;其他地方也可以&#xff0c;不过路径要相应改变&#xff09; 3、执行复制安…

ios 设置tableview左滑删除按钮的相关属性

自定义cell时在layoutSubviews处理 - (void)layoutSubviews { [super layoutSubviews]; [self dealDeleteButton]; } - (void)dealDeleteButton{ for (UIView *subView in self.subviews) { if ([subView isKindOfClass:NSClassFromString("…