虚拟互换(virtual swap)

虚拟互换(virtual swap)

经济学中的互换(Swap)指的是这么一个东西:有2个交易方A、B需要进行跨国交易,各自都需要另外一个国家的某个商品,他们本来可以通过标准的汇率到各自国家的银行办理外币兑换,然后再到国外去采购什么的,所谓的Swap就是不需要这么做,直接以物物交换的等价原则,同时为对方购买,然后发出货物即可。

实际上这里的货物并不需要是实物,可以是虚拟的某种权利,互换实际上潜在地降低了交易费用(但有时双方不能直接建立信任关系的话,就要通过第三方监管,这样代价可能又变大了),并且有可能逃过政府的监管。

比特币是这么一种数字货币:实际上每笔转移都是可以追踪到的,但是每个比特币拥有者可以隐藏他的私钥(密钥),这样你可能不知道实际的交易人是谁。当然,如果比特币用于实际商品的购买的话,原则上来说,是可以追踪到交易的源头和目标的。

好了,说了这么多废话,其实是想说我最近想到的虚拟互换(virtual swap),它不需要比特币的那种全局的块链技术,它建立在P2P的2个交易方的概念,并可以自主地扩大信任范围。最重要的是,这个技术细节我还无法想出来,所以说的只是“思想”。

假设在这个交易世界里有Alice和Bob两方,彼此都需要对方直接或间接所能够提供的服务。于是他们采用数字的虚拟互换技术,该技术确保了下列要点:

  1. 交易是事务的,要么完全成功,要么完全失败
  2. 交易不可被追踪,一旦交易完成,所有数据都可以被丢弃/否认,这相当于已经完成的事务在系统内是不可撤销的
  3. 虚拟互换提供的是对交易双方所进行的实际世界中的互换操作的会话级认证,并需要交易双方在会话开始时建立信任关系

假如你认为我的想法从来没有人想过,那你肯定错了,事实上,每个想法最终都会发现早就有人想过了,只不过在底层支撑技术没有成熟前,无法得到实际的应用而已。

时间: 2024-08-24 11:17:47

虚拟互换(virtual swap)的相关文章

虚拟方法virtual的用法

unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls; type  TForm1 = class(TForm)    Button1: TButton;    Button2: TButton;    Button3: TButton;    procedure Button1Click(Sender: TO

Oracle 11g 虚拟列 Virtual Column介绍

Oracle 11G 虚拟列 Virtual Column Oracle 11G 在表中引入了虚拟列,虚拟列是一个表达式,在运行时计算,不存储在数据库中,不能更新虚拟列的值. 定义一个虚拟列的语法: column_name [datatype] [GENERATED ALWAYS] AS [expression] [VIRTUAL] 1.虚拟列可以用在select,update,delete语句的where条件中,但是不能用于DML语句 2.可以基于虚拟列来做分区 3. 可以在虚拟列上建索引,o

ORACLE虚拟索引(Virtual Index)

ORACLE虚拟索引(Virtual Index)   虚拟索引概念 虚拟索引(Virtual Indexes)是一个定义在数据字典中的假索引(fake index),它没有相关的索引段.虚拟索引的目的是模拟索引的存在而不用真实的创建一个完整索引.这允许开发者创建虚拟索引来查看相关执行计划而不用等到真实创建完索引才能查看索引对执行计划的影响,并且不会增加存储空间的使用.如果我们观察到优化器生成了一个昂贵的执行计划并且SQL调整指导建议我们对某些的某列创建索引,但在生产数据库环境中创建索引与测试并

虚拟主机 (Virtual Host)

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名. Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站. Redhat Enterpri

CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers

虚拟定时器Virtual Timers CMSIS-RTOS API里有几个向下计数的虚拟定时器,它们实现计数完成时用户的回调功能.每个定时器都可以配置成单次计数或重复计数模式,它们可以在定义定时器结构体的时候被创建: osTimerDef(timer0, led_function); 在上面的代码中给定时器定义了一个名字timer0,并同时定义了回调函数led_function,紧接着必须对这个定时器进行实例化: osTimerId timer0_handle = osTimerCreate(

虚拟DOM (virtual DOM)

1.定义 虚拟dom就是一个简单的对象,包含标签名(tag).属性(attr).子元素(children),通过js操作virtual DOM,最终映射到真实的dom上. 2.为什么要用虚拟dom: 频繁地操作dom,会造成页面的回流和重绘,增加性能开销,降低页面的渲染速度. 把dom的操作放到js中,js运算速度快,提高效率: 跨平台优势,不依赖真实的环境,浏览器.node都可以实现. 3.虚拟dom在Vue中的应用: vue.js通过编译将模板转换成渲染函数render,执行渲染函数就得到一

knockout 虚拟标签(virtual element) 在 table 中的问题

这几天看了MVC4 / 5 的一些东西, 基本上和 MVC 3都一样, 看起来毫不费力气, 项目还没有正式开工, 每天都是看文档,了解技术. 闲着无聊就把 knockout js 给看了一遍. 今天在看 SignalR的时候, 随手写了段测试代码,发现 Knockout 的虚拟标签有点问题, 一开始我是这样写的: <table> <tr data-bind="foreach:msgs"> <td data-bind="text:name"

Oracle 11g新特性之--虚拟列(Virtual Column)

Oracle 11g新特性之--虚拟列(Virtual Column) Oracle 11G虚拟列Virtual Column介绍 Oracle 11G 在表中引入了虚拟列,虚拟列是一个表达式,在运行时计算,不存储在数据库中,不能更新虚拟列的值. 定义一个虚拟列的语法: column_name [datatype] [GENERATED ALWAYS] AS [expression] [VIRTUAL] 1.虚拟列可以用在select,update,delete语句的where条件中,但是不能用

探索C#之虚拟桶分片

阅读目录 背景 虚拟桶(virtual buckets) 实现 总结 背景 关于数据分片讨论最多的是一致性hash,然而它并不是分布式设计中的银弹百试百灵. 在数据稳定性要求比较高的场景下它的缺点是不能容忍的. 比如在Redis分布式缓存设计中,使用一致性Hash进行key分片存储,通过虚拟节点最大化降低添加或删除节点带来的影响.这里强调降低二字,即是它还是有影响的,在一般情况下我们还可以接受. 但是某些场景下要求动态扩容无影响就无法满足了. 上次(探索c#之一致性Hash详解)提到过Hash取