V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
onc
V2EX  ›  程序员

加密货币的去中心化交易方案(附图)

  •  
  •   onc · 2018-03-09 13:18:34 +08:00 · 5778 次点击
    这是一个创建于 2486 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去中心化交易方案,以智能合约为关键点。

    现有的智能合约实现肯定不支持这个模式!

    但未来智能应该合约可以实现。

    分布式交易方案

    第 1 条附言  ·  2018-03-09 17:00:39 +08:00
    以上方案,暂时没有公链支持。

    我们只是建立一种假设。

    大家可以指出这个假设的问题:

    这里我们不考虑政策问题,政策问题不在考虑范围内!(非要说政策不行,那可以考虑其他国家)

    我们只考虑技术是否可以实现,单纯技术方案。
    40 条回复    2018-03-11 17:42:24 +08:00
    rekulas
        1
    rekulas  
       2018-03-09 13:27:16 +08:00
    paypal 会被封的
    只研究币币的去中心化交易好实现点
    HunterPan
        2
    HunterPan  
       2018-03-09 13:32:36 +08:00
    今天还看到云舒在恶心这个。。哈哈
    aijam
        3
    aijam  
       2018-03-09 13:36:52 +08:00
    空想如果能救国,抗日也不用八年了
    nine
        4
    nine  
       2018-03-09 13:42:47 +08:00
    代表智能合约要存储 BTC 钱包的私钥,如何保证该私钥安全
    abcbuzhiming
        5
    abcbuzhiming  
       2018-03-09 14:12:34 +08:00   ❤️ 3
    你依赖 paypal ?那你这谈什么去中心化? paypal 就是这个中心
    kids0cn
        6
    kids0cn  
       2018-03-09 14:15:17 +08:00 via Android
    loopring 路印差不多就是这种吧
    onc
        7
    onc  
    OP
       2018-03-09 16:19:13 +08:00
    @rekulas paypal 只是举例,上面这个例子可以使用任何网络支付平台。

    网络支付宝平台的目的是为了锁定 里面的法币。

    @nine 嗯,这是个问题。需要设计一套进一步的方案来 保障 BTC 钱包的私钥。
    这个钱包应该是临时性的,也就是一次性的生成,用完即刻丢失。
    由智能合约生成就行。


    @abcbuzhiming 这不是依赖 paypal,我们需要外部通道,paypal 就是一个外部通道。
    这个和去中心化没有关心。

    paypal 不是中心,只是整个系统中的一个外部通道。
    slwchs
        8
    slwchs  
       2018-03-09 16:27:08 +08:00
    期待 Bitshares 机制参数的优化吧,作为一条公链已经走在智能合约前列了
    jmc891205
        9
    jmc891205  
       2018-03-09 16:41:10 +08:00
    哪个支付平台会给第三方随意锁定解锁自己用户账户的权限啊 这太危险了
    qdwang
        10
    qdwang  
       2018-03-09 16:48:21 +08:00
    lz 想多了,涉及法币交易的安全性与去中心化,二者不可兼得。
    onc
        11
    onc  
    OP
       2018-03-09 16:57:14 +08:00
    @jmc891205 这个不是支付平台支持,可以通过 web 自动化来完成。锁定很简单,更改账号的密码就行。 这部锁定是为了防止用户再次操作自己的账号,导致系统出错。

    支付平台一般可以设立多个账号。


    @qdwang 不用扯那些名词。 具体说这个方案的不可行性在哪里!
    AlphaTr
        12
    AlphaTr  
       2018-03-09 17:09:58 +08:00
    和比特币的这个方案看着比较类似 https://github.com/bitcoin/bips/blob/master/bip-0199.mediawiki
    jmc891205
        13
    jmc891205  
       2018-03-09 18:03:02 +08:00 via iPhone
    @onc 我就是在说支付平台不希望看到你的这种应用。支付平台都有各种反爬措施和异常账号检测来对付你这种机器人。
    gamecreating
        14
    gamecreating  
       2018-03-09 19:18:06 +08:00
    法币交易 BTC 不合法 先把这个解决了吧
    onc
        15
    onc  
    OP
       2018-03-09 19:20:55 +08:00
    @jmc891205 这个似乎问题不大。支付平台有些会有 api 提供,会提供这样的功能。
    onc
        16
    onc  
    OP
       2018-03-09 19:25:22 +08:00
    法币交易 BTC 不合法,那中国人怎么这么多人有 BTC

    还有就是国外合不合法?

    再说那是政策。我们讨论技术!
    crab
        17
    crab  
       2018-03-09 22:55:02 +08:00
    这图和网游的 1V1 交易啥区别啊
    just1
        18
    just1  
       2018-03-09 23:07:01 +08:00 via Android
    合约需要运行在一个中心化平台。
    再来一个就是,我怎么敢把 paypal 密码给你。
    onc
        19
    onc  
    OP
       2018-03-09 23:14:05 +08:00
    @just1 你需要设立一个空的 paypal 账号,这个账号只是为了合约运行锁定使用。

    这个空账号 不是你平时用的账号!

    paypal 密码输入到合约中,不给任何人!
    pxw2002
        20
    pxw2002  
       2018-03-09 23:29:34 +08:00 via Android
    这没意义 在你控制 pp 或者其他的什么帐号的
    十几分钟里边
    别人在你的 btc 转账开始以后 直接找回密码了
    你的 btc 交易可以撤销吗
    yangqi
        21
    yangqi  
       2018-03-09 23:58:03 +08:00
    楼主想多了,虚拟货币交易没有平台是不可能的,除非变成法币。2 个人虚拟交易,不通过第三方平台是不可能解决信任问题的,这个是技术无法解决的现实问题。
    jmc891205
        22
    jmc891205  
       2018-03-10 00:10:14 +08:00
    @onc 晕 这就回到我第一次回复你的问题了。支付平台根本不会提供这种 api 啊。就拿现在的 paypal 来说好了,他有修改密码的 api 吗?
    jmc891205
        23
    jmc891205  
       2018-03-10 00:13:12 +08:00
    @onc 风险级别这么高的功能 没有一家支付平台会开放给第三方。包括且不限于修改用户名、修改密码、修改手机号邮箱等关键信息等等。
    Zzzzzzzzz
        24
    Zzzzzzzzz  
       2018-03-10 00:14:24 +08:00
    信任的问题先不说

    怎么饶过支付平台的风控

    以及

    怎么应对付款方支付完成后通过账户被盗的理由(毕竟中间平台锁密码是异地的, 而且这种行为不会被支付平台支持)信用卡撤回或者账户险一类的交易追回资金并且锁死收款方的账户?
    smy20011
        25
    smy20011  
       2018-03-10 02:56:02 +08:00
    最大的问题是,要运行智能合约,你需要把所有的信息都 checkin 到共有链,也就是说,你必须把**账户的密码**放到链上。

    攻击方法非常简单,只要我比机器人早一步把钱转出去就行了,这个的攻击难度简直不要太容易。
    smy20011
        26
    smy20011  
       2018-03-10 03:07:16 +08:00
    建议楼主先看一下这篇文章再说

    http://www.8btc.com/beware-the-impossible-smart-contract
    southsala
        27
    southsala  
       2018-03-10 09:40:59 +08:00
    为什么总是惦记做印钞机呢。。。
    onc
        28
    onc  
    OP
       2018-03-10 09:56:16 +08:00
    ok.

    这里大家都说到了一个关键问题:就是 paypal 账号提前被转出钱,或者说 paypal 账号无法被锁定!(这两个问题我认为都是同一个)

    那这就牵扯到了交易的次序问题。

    我说一下办法:

    . 在整个交易中有两方,一方拥有 btc,一方拥有法币。
    . 在智能合约的系统中,拥有 btc 的一方可以被锁定。(将 btc 转入智能合约控制的钱包)
    . 那剩下就是 paypal 账号。
    . 我们首先要进行 paypal 账号的资金转移,当 paypal 账号里的法币成功转移到另一个 paypal 账号时,我们再触发 btc 的转移。(这里不管 paypal 账号能否锁定,转移资金成功 是 判别能否转移 btc 的前提条件)
    . 否则,交易撤回。
    . 交易完成后,我们可以设立一个短暂的窗口期,用来让两方发起异议。 在这期间,btc 会一直被锁定。直到 paypal 收钱方确认交易,或者窗口期到期。
    onc
        29
    onc  
    OP
       2018-03-10 09:57:58 +08:00
    @smy20011 关于智能合约的问题,我很清楚。

    我们现在是要先设立一个基础:去中心化的法币与加密货币的交易方案。

    然后,我们再来说智能合约的问题。

    就是重新设计智能合约。
    smy20011
        30
    smy20011  
       2018-03-10 10:18:15 +08:00
    @onc 你这个做法不就是支付宝么,先锁定钱,收到货物之后再发货。

    问题:
    1. 如果双方有异议,谁来仲裁?
    2. 如果 Paypal 有追偿机制,有人通过 paypal 追回付的现金怎么办?你能追回你的 BTC 么? BTC 一旦给别人了,就不能追回了。

    另外你说重新设计智能合约,合约的基础就是网络上任何一个节点都能执行合约,也就是说这个密钥问题是不可能解决的。
    pengbo37877
        31
    pengbo37877  
       2018-03-10 10:40:54 +08:00
    可以看看 14 年就开发完成的 blackhalo.info
    CMGS
        32
    CMGS  
       2018-03-10 11:23:38 +08:00
    我就说一句。。。CAP 理论里面 3 者只能满足其 2。。
    那么作为一个分布式系统,又是交易系统,CA 互为冲突,那你是想保证 C 呢还是保证 A 呢
    保证了 C 你的交易频度又怎么保证呢?保证了 A 你交易的一致性又怎么办呢?
    onc
        33
    onc  
    OP
       2018-03-10 12:14:53 +08:00
    @smy20011 没有仲裁。 数字世界没有仲裁! btc 提出了这个概念,我们也遵循这个概念。

    如果 paypal 支持追回付的现金,很恐怖! 这可能会成为一个著名的案例! 需要大家进一步的思考!

    现实是:paypal 绝大多数情况下,一般不能追回。

    智能合约的设计下面再说,正常我们还会牵扯到一个公链的设计!

    我们慢慢来!
    onc
        34
    onc  
    OP
       2018-03-10 12:22:01 +08:00
    @CMGS cap 理论。

    但回到现实,首先我们设计系统,不追求绝对!

    就是说:我们追求的是一个相对的东西。 一致性不容易保障,那么我们在保证交易频度的基础上,保障一个相对高的一致性。

    这就是我们的一个设计理念。 设计一个可行的系统,先确保某些方面可行。

    这时某些方面会有问题,我们会尽量减少产生这个问题的情况,直至这个问题可以被忽略。
    CMGS
        35
    CMGS  
       2018-03-10 12:48:33 +08:00
    @onc
    第一,CAP 是所有分布式系统命,既然你要设计分布式系统,一开始就要选好到底要保证什么。不是说这就是个理论我们不 care 就完事了。
    第二,工程落地最重要的是指标,交易频度的指标是多少,相对高的一致性有多高,做强同步异地双活都相当困难,我很难想象你这个交易频度的指标得多低才能保证你们这个相对的一致性,因为你们是公网。另外一点的是,交易系统允许相对高的一致性也就是说能容忍错误率的话,抱歉我无法想象出这种交易系统的「信任」核心在哪里。
    第三,分布式系统不存在可以忽略的问题,只有取舍的问题。但以我做分布式系统的经验来看,要么为了保证效率会逐步收敛成(多)主结构,要么就跟买彩票一样,谁网络闪了下谁自认倒霉。但对于金融系统,摊手,可能真的是对区块链有信仰的人才会去买彩票吧。
    qdwang
        36
    qdwang  
       2018-03-10 12:57:25 +08:00 via iPhone
    lz 你相信你,你一定能做出来,我不应该说你想多了,是我眼界太低。你的构思想法非常完整,一定可以实现的,加油💪。
    onc
        37
    onc  
    OP
       2018-03-10 14:10:46 +08:00
    @CMGS 你说的还是比较实际。 一看就是有较丰富经验的老手,应该在某个知名公司任职吧。

    希望继续关注。

    任何新系统的设计都是在老系统的基础之上。我们肯定也不例外。

    我会参考 btc, eth,bitshares.... 系统的设计方案

    所以,这个可行度是没有问题的。

    唯一的问题是 新系统 有一部分的目标是:提高某些指标例如 tps 值, 可存储数据大小,智能合约规范....

    嗯,我们慢慢来..
    just1
        38
    just1  
       2018-03-10 14:15:58 +08:00 via Android
    智能合约必然运行在中心化平台上。
    这还不叫把密码给别人?
    agee
        39
    agee  
       2018-03-11 17:37:27 +08:00
    这叫什么"智能合约",这不就是担保交易嘛,担保交易的重点难道不是担保方吗。。真是的,唉。
    agee
        40
    agee  
       2018-03-11 17:42:24 +08:00
    无论什么币种,什么网络方式,中心化也好,区块链也好,只要是涉及虚拟币与法币交换,又要保证交易双方安全的。就肯定是担保交易了。扯其它的概念没有任何用。担保交易,就涉及隐私了。隐私又和无中心化是冲突的。。这样扯来扯去,有何意义。。本来就是安全和隐私二选一的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2815 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:20 · PVG 15:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.