如何让比特币支付过程加快,除了激进的不需要 6 个确认外 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Skmgo
V2EX    Bitcoin

如何让比特币支付过程加快,除了激进的不需要 6 个确认外

  •  
  •   Skmgo 2021-01-15 05:27:45 +08:00 1374 次点击
    这是一个创建于 1800 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个问题我想了很久想不明白,谁能指点下?

    26 条回复    2021-03-10 20:25:54 +08:00
    wysnylc
        1
    wysnylc  
       2021-01-15 10:23:47 +08:00
    安全和便捷不可皆得
    uqin
        2
    uqin  
       2021-01-15 23:46:41 +08:00
    闪电网络啊
    Skmgo
        3
    Skmgo  
    OP
       2021-01-16 00:18:25 +08:00
    @uqin 愿问详情,方便发个微信请教下吗?
    Skmgo
        4
    Skmgo  
    OP
       2021-01-16 00:18:54 +08:00
    @wysnylc 币安就很激进: https://www.binance.com/cn/support/faq/115003736451 具体如何做还在研究.
    uqin
        5
    uqin  
       2021-01-16 14:55:21 +08:00
    @Skmgo 技术方面信息很多你自己网上搜一下了解。就我个人使用体验基本上就是实时的,也几乎不用手续费,你自己找个支持 Lightning Network 的钱包(我用的是国内的 bitpie )用一下就知道了。
    acess
        6
    acess  
       2021-01-16 23:49:17 +08:00
    @uqin bitpie 我记得是中心化托管的吧,“派银行”。就是个交易所账户余额。
    非托管的钱包也有不少,最傻瓜的应该是 ACINQ 公司出品的 Phoenix 。

    @Skmgo 有一说一,闪电网络局限性蛮大的……不然的话 BTC 一直那么堵,秒速确认不拥堵的闪电网络为啥还一直不火呢……也就真爱粉会感觉“诶,秒速确认啊,不错不错,能用,甚至还蛮好用”;一般人感觉大概率是“什么辣鸡玩意儿,麻烦陷阱那么多,还动不动就失败,这压根不能用啊”。
    Skmgo
        7
    Skmgo  
    OP
       2021-01-17 00:32:36 +08:00
    @acess 朋友要做个在线支付插件,必须要解决支付速度问题,没办法.
    acess
        8
    acess  
       2021-01-17 00:56:15 +08:00
    我个人有种模糊的理解……

    有人问中本聪,说你这系统扩展性堪忧啊,每个节点都要(从头)下载完整账本,这还得了。中本聪他当然不愿意自己的作品被说有问题啊,所以他就说,没事没事,只有矿工才需要跑(全)节点,一般用户不需要管那么多,账本那么大,交给矿工去搞就行,一般用户就用轻量级客户端。

    但是……“比特币扩展性不行”“未来可能出现‘比特币银行’负责分流处理交易”这种观点,也是源远流长,Hal Finney 就这么说过(不过老实说,我不知道他老人家后来有没有改变看法……而且他老人家很多年前就已经去世了)。

    闪电网络呢,它的很多麻烦(甚至说是陷阱),其实归根到底就是:本来由矿工担任的记账工作,被用户自己给揽过来了。

    就比如闪电网络的备份,很蛋疼,必须保证备份是最新的;不像链上钱包那样一劳永逸,有个 HD 种子就够了(也有看上去比较“一劳永逸”的办法,不过需要信任通道对端不会作恶)。
    为啥链上钱包备份能一劳永逸呢?因为交易记录都在区块链账本上啊,即便用户自己不想折腾全节点,一般也总有别人会跑,还有区块浏览器、钱包服务器这样的服务,不仅跑了全节点,还给区块链账本编制了各种索引,(用占硬盘更多的代价换来)实现查询秒速返回结果。至少至少,原则上矿工(现实中就是矿池)需要跑全节点。
    闪电网络的通道,里面的交易是双方“私下协商”的,不需要登记到区块链账本(所以才能秒速确认,还不占区块空间)。既然是私下里完成的,那交易凭据就只能是双方自己保存好了,即便自己懒得保存、托管给别人保存,也总得有个人要保存。

    再比如闪电网络理论上需要用户至少保持定期上线,这样万一通道对端作弊偷钱(撤回交易,等效于偷钱)了,才能及时抓住、并执行罚没。类似地,即使用户自己懒得进行这个工作,外包给第三方“监视塔”,也总得有人完成这个工作。
    链上交易,表面上看起来,SPV 轻钱包有“密码学上的证明”,但实际上 SPV 钱包是盲信矿工(多数算力)的,是在绝大多数算力诚实的情况下,SPV 才可靠。
    密码学并不是魔法,比特币归根到底是用了最笨的办法,也就是每一个全节点,都[独立地]把所有交易(重复)完整验证一遍,才得已排除凭空造币、(没有数字签名)强行偷币等违规行为,这个工作总得有人做,按照设计就是矿工们去做。按照目前 BTC 社区主流的观点,用户自己也得跑全节点来验证账本,防止自己收到打破规则的“假比特币”。
    闪电网络归根到底还是依赖于这一段上述对区块链账本的“笨办法”验证,它的意义就在于给区块链账本分流减负,同时还仍然保有“自己掌控私钥”的去中心化属性。
    acess
        9
    acess  
       2021-01-17 01:11:19 +08:00
    @Skmgo 诶,我好像一知半解地扯了很多,都是理论上的……

    其实 6 个确认我觉得都不算什么,只要有了第 1 个确认,“上车”了,那等到 6 个确认一般情况下只是时间问题。比特币最麻烦的问题不是拥堵么,卡在零确认好几天,等到第 1 个确认很难,前面掏钱付更贵矿工费的交易排队太长……

    关于零确认,我以前听说过一种解释,为什么有些地方愿意接受零确认呢,因为收款方有办法把发出去的货品收回,所以不怕自己被恶意付款方坑到钱货两空。(不过我印象里这方面也存在一个误解,或者陷阱:就比如各种 dice 站,恶意玩家可以把赌输的交易双花作废,只留下赢钱的交易等确认,这样网站就会亏惨了)

    也许有些地方接受不到 6 个确认的收款,也是类似的情况吧。就像你说的币安,其实存款不是 1 确认到账,1 确认资金是冻结的,至少还是得等 2 确认后才会解冻(然后,还说不定提款需要不需要什么人工审核呢)。
    比特币网络即便没有有意攻击的恶意矿工,每过个十天半月也会自然产生 1 个区块的分叉,我猜币安设定 1 确认到账、2 确认解冻,就是排除自然 /无意产生的分叉,并且假定矿工不会为了眼前的利益执行双花攻击、从而破坏比特币的品牌形象(然后还是会伤害到矿工自己的利益)。
    acess
        10
    acess  
       2021-01-17 01:18:26 +08:00
    除了闪电网络(作为收款方,也有中心化托管的方案,比如……OpenNode,不过这个我没真正用过,看上去需要 KYC 实名认证),BTC 还有侧链,比如 Liquid 侧链、RSK 侧链。
    但是侧链现在并不是去中心化的,本质上还是 N 个大佬坐在一起组了一个多重签名钱包。而且主链 /侧链币的互相兑换也有点麻烦。(原则上侧链币和主链币是 1:1 锚定的,但 peg in 或 peg out 都耗时比较长(目前还需要 N 个大佬的认证),所以我印象里,交易所也有上架 L-BTC/BTC 、RBTC/BTC 这样的交易对)
    Skmgo
        11
    Skmgo  
    OP
       2021-01-17 04:38:08 +08:00
    @acess 方便加个微信吗? T21uYWVfQ2hpbmE=
    uqin
        12
    uqin  
       2021-01-17 14:46:18 +08:00
    @acess bitpie 钱包本身是链上的,但“派银行”什么的这种涉及增值服务肯定是托管的,我一般也不想用。闪电网络局限性是很大,但作为使用者我个人感受到的就是快速方便啊。至于为什么用的人不多我的想法是,把 btc 作为支付工具的人本来就微乎其微吧,比 btc 更侧着支付的项目成千上万。btc 至少现阶段还是以储值投资避险大额转移等方面为需要吧,
    Skmgo
        13
    Skmgo  
    OP
       2021-01-17 18:56:26 +08:00
    @acess 我们简单,直接扣除手续费然后转给接受,不做任何停留,这是设计的初衷.
    acess
        14
    acess  
       2021-01-17 19:41:47 +08:00
    @uqin 啊,是我表达不好。我想说的是,bitpie 的闪电网络钱包是中心化托管的,闪电网络余额就是派银行的余额。
    比特派的链上钱包确实不是托管的,但是这一点和本帖关系不大。
    Skmgo
        15
    Skmgo  
    OP
       2021-01-18 03:22:30 +08:00
    @acess
    @uqin 我们想做个在线的钱包管理系统, 收到买家转来的币后扣除手续费然后直接转给卖家,不做任何停留,所以转账速度会是考虑的重要性.
    acess
        16
    acess  
       2021-01-18 14:02:22 +08:00
    @Skmgo
    (不好意思……其实继续跟我聊我也只能聊比较理论的东西)
    “收到买家转来的币后扣除手续费然后直接转给卖家,不做任何停留”其实闪电网络的中间节点就是这样的。但是付款方未必会选择你的节点来转发(闪电网络的支付路径是付款方决定的),除非到收款方只有你这一条路能走通。

    不过,你说“做个在线的钱包管理系统”……不知道这样有什么意义呢?是不是说,卖家自己没有能力维护钱包(尤其是自己的闪电网络收款节点),你这个系统帮他们维护,但是要收费?
    感觉有点奇怪啊,如果不涉及兑换成法币或其他币,那中间加这一道有什么意义呢?如果转给卖家的还是比特币,那卖家不还是要维护好自己的钱包么。
    uqin
        17
    uqin  
       2021-01-18 16:13:05 +08:00 via iPad
    我基本同意 @acess 说的,不做停留的管理系统的价值在哪儿呢?何况你光靠承诺不做停留是难以让人信任的,要么你就做智能合约。 那么你就没必要自己用 btc 支付,用 wbtc 之类的即可。
    Skmgo
        18
    Skmgo  
    OP
       2021-01-18 18:24:33 +08:00
    @acess 比如在线商城的支付通道,买家通过我们提供的支付通道,这样你就明白了吧.
    @uqin
    acess
        19
    acess  
       2021-01-18 19:46:47 +08:00
    哎……我侃了那么多,好像也没能力真正帮到你……

    你们自己做一个中心化托管的钱包,类似于交易所,卖家在你们的这里注册账户,你们替卖家保管币(卖家不掌控私钥),买家买东西时进行付款,就类似于交易所充值,充值到卖家的账户里(这里可以在你们自己的系统里扣除手续费),卖家可以随时选择提币?
    然后,也许你们还可以提供担保交易,在出现纠纷时提供仲裁?

    听你说的,好像是上面这样?
    uqin
        20
    uqin  
       2021-01-18 20:47:05 +08:00
    Skmgo
        21
    Skmgo  
    OP
       2021-01-18 23:35:48 +08:00
    @acess 卖家自己的钱包,可以在我们这,也可以不在我们这.
    uqin
        22
    uqin  
       2021-01-18 23:56:24 +08:00
    https://www.coinpayments.net/ 的服务似乎跟你想的差不多
    Skmgo
        23
    Skmgo  
    OP
       2021-01-19 08:44:34 +08:00
    @uqin 基本就是这个,谢谢,方便留个联系方式吗?
    @uqin 你也留个呗,互相沟通学习下.
    frienmo
        24
    frienmo  
       2021-01-19 19:13:20 +08:00
    @acess acinq 出的是 eclaire,我用的就是这个,通道信息备份是自动在 google drive 上的。

    我觉得闪电网络现在最大的问题是开完通道得先花钱( eclaire 有收费服务,提供有接收容量的通道开启),但是收闪电网络的地方有很少(我是开完之后发了一笔去 bfx )。

    另外一个问题问下大佬?闪电网络的收款地址是不是有过期这一说,反正 bfx 上想用闪电网络取 btc 一直没成功,不知道是地址过期还是接受的时候 eclaire 要一直开着。
    acess
        25
    acess  
       2021-01-19 19:59:05 +08:00
    @frienmo 我不算大佬……只能算话痨。
    不止 Eclair,Phoenix 也是 ACINQ 出的,你可以试试,不过目前拥堵貌似还是蛮严重,矿工费蛮高,最好还是等等。

    走闪电网络收款的 invoice (应该是你说的“地址”,但它不叫“地址”)好像也不太好翻译,直译应该是“发票”,但是貌似很多时候说“发票”都是“收据”的意思,是钱已经收到了;而 invoice 实际上是请求付款的,付款还没发生。
    invoice 确实是有过期时间的,不过我刚刚去 bitcoin stackexchange 看了一下,这个过期时间其实没有特别硬性的技术理由,只是为了规避一些可能存在的问题(比如币价波动,毕竟绝大多数时候还是法币标价)才设计成这样。
    还有,invoice 是不能重复使用的,这也是闪电网络的一个不方便之处。开发者有在研究解决这个问题,比如 keysend,但是我记得仍然不能离线收款所以没错,eclair 在收款时确实必须开着。
    还有,如果你没有公网 IP,即便钱包 /节点开着( eclair 或 phoenix 本身也算一个闪电网络节点,只不过它不广播自己的存在),我记得也无法付款,这个问题可以通过在 invoice 里加 routing hint,指定和自己开通道的其他节点 IP 来解决,eclair 默认就加了 routing hint 。

    你说的支付通道刚打开时,只有付款额度没有收款额度,导致只能付款、不能收款Phoenix 用户就不会受这个问题打扰,它是“纯闪电网络”钱包,完全不需要手动管理通道,直接拿着 invoice 就可以收款,收款过来的时候,ACINQ 公司的节点会自动开一个通道给你,而且在打开通道的 funding tx 还是零确认状态的时候,你也可以直接走闪电网络把刚刚收到的币花出去。

    不过很显然,Phoenix 钱包的种种便利,包括自动通道管理(尤其是自动提供有收款额度的新通道),无需自己操心通道数据备份( ACINQ 的服务器负责随时备份),其实都依赖于 ACINQ 的服务器,包括支付寻路也是交给 ACINQ 的服务器完成的,所以理论上隐私性也存在问题,去中心化程度也大大降低。不过我记得 ACINQ 也没有打算垄断 Phoenix 的钱包服务器,他们打算把这种钱包服务器搞成公开的技术标准。
    Skmgo
        26
    Skmgo  
    OP
       2021-03-10 20:25:54 +08:00
    @acess @uqin 再次读你们的回复,收获很多,方便加我微信吗? base64: U0tNR084OA==

    @frienmo 请问您方便也加下微信沟通下.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2688 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 13:19 PVG 21:19 LAX 05:19 JFK 08:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86