53a83 - 2y
哦多签确实能防止跑路,但是问题还是无法保证这个过程一定会按照约定发生。 比如一个输钱的耍赖就是不签。 可能需要一个可信的第三方来确保,在智能合约里能让矿工担任这个第三方,没有智能合约只能想想别的办法了。
7214d - 2y
拉斯诺登来,或者其他大佬,盈利一部分捐助公益
a4ea4 - 2y
只要不是一半以上不签 就成 可以设置签名通过人数 类似于民主投票的半数票 哈哈 这不就是DAO么
d543c - 2y
完整的设计不论,仅仅说耍赖不签这个问题很好解决,不需要计算型智能合约也不需要矿工:你先签名,然后才能参与游戏。即预先签名承诺交易。跟闪电通道一样。
赌博分两个阶段: 1. 把钱放上赌桌,赌局不结束谁也不准拿走。 2. 赌博胜利者产生,大家一致同意他把钱拿走。 你只能保证1这个过程如约发生,那么2这个过程如何避免耍赖?
赌池是个多签名合约。如果你不预先为 2 这个过程提供签名,就无法参与 1 这个过程。你的钱还没上赌桌之前,你就要先签名所有可能结果的交易(不止一笔),每个人都独自验证这些交易的合理性并签名,不签名的踢出去。都签完了大家才把钱放入赌池。 这个过程难的不在于某些人会耍赖,在于保证只有代表对的那个结果的交易才会得到执行。 表面上看计算型智能合约的好处在于阻止抵赖,实际上它的优势在于这个计算过程。我认为,如果合约的结果是有限的,那么计算型智能合约并不更有优势。 赌博产生结果的过程需要在参与者之间执行计算。这个完整的设计我还没想好。
你的思路是对的,耍赖确实不是本质,其实我是想说对结果达不成共识怎么办。 等你想好整个方案我们可以再聊一聊。 👀因为你本质上是想做一个智能合约的平替,相信 #[3] 也会非常感兴趣。
69dfc - 2y
不守合约是可以的,后果是不能参与玩耍(赌博或者记账),因为后面的会与遵守合约的别的玩家冲突的,当除了这一个玩家之外的所有玩家都不认可的时候,也就被踢出局了。 既无法参与下一局,也可能无法兑现上一局赢了之后的获利。
无法参与下一局是小事,因为公钥不要钱。 拿不到钱也是小事,因为他本来就输了。 钱都锁在赌桌上是大事👀
所以是想:即便我输了也交出去了筹码, 但是即便输了,也不愿让失去的筹码,跑到赢家手里,是这样吧? 一句话需要送给这样的玩家:得不到的,就要毁掉。 那这样的话,只需要赢家参与筹码分配即可。 这是赌场这个场景需要考虑的问题,赌场如果要持续经营,必然需要实现这一点,否则一锤子买卖,无人参与的赌场,反而是赔本的买卖。 p.s. 全部回帖太长,并没有读完,只做赌局的假设。
困难点在于,赌局开始前,我们并不知道谁是赢家。 所以需要有人把这个赢家是谁的概念输入到赌局中。 这个人,也需要被信任,也许是中心化机构,也许是区块链矿工。 但最好不是赌桌上的人👀因为共识不一定能达成。 你说要赌球,结果你赢了,但是球场上有明显的那种作弊情况裁判也视而不见,所以我宁可把钱封在赌桌上,很合理吧? 不能靠人性来做公证的赌局,只能靠可信第三方。
这是信任问题,以及信任链的传递问题。 支付宝是如何解决这个信任问题的?也是引入第三方,至于第三方是否值得信任问题,说到底第三方是否信任最开始其实是一个先有鸡还是先有蛋的问。 只能假设是值得信任的,而且也是赌场应用场景的前提。 支付宝初期,也是面临一样的问题,谁知道支付宝是不是一起做局骗买家的钱,当然一旦支付宝(赌场)实现了盈利,取得了信任。这个问题就得到了解决。 这个问题在https的签名证书中也有一样的困扰,只能默认浏览器自带的根ca是可靠的,基于这个可靠的根,做二次信任签约(信任链传递),就能够实现一起快乐的玩耍了。 有的用户代理(没错,说的就是curl,可以用参数直接跳过ca检查),也能一起玩耍。 但是现实中,也有发生过根ca里面的大号玩家,被踢出局,这就很尬了,赌场自己作弊等于作死。 也就是,这个假设其实并不能百分百保证解决信任问题,但是目测能够保证95%+
对,但是智能合约能做到100%,只需要两个因素: 1. 智能合约代码没有bug。所有人都完全审计了代码。 2. 智能合约底层的链共识存在。
不希望引入第三方,就只能依赖自治。 而单纯依靠自治就无法避免51%攻击。 所以,鸡和蛋谁先来?
所以需要一个强大的共识。来这里的人应该都不太信有永远可靠的第三方。 赌桌上的51%很好破坏,但是链上的51%却很难破坏,能够传递这个信任,就让破坏共识的收益远低于成本,已经称得上安全了。 当然可靠第三方的“百年老字号”也可以视为成本,但毕竟决策过程也没有智能合约这么绝对公开透明,如果你没法100%证明他是错的,比如仅仅依靠统计学发现赌场老板的亲戚更容易中奖,是没法砸掉这块招牌的。
恭喜恭喜 问题得到完美解决
说到这个51%难以达到的事情。 想起一个词“黑天鹅”,纳西姆·塔勒布还写了本同名书。 一旦发生,极具摧毁力。 很多人希望阻止它的发生, 但是利益诱惑下,瞬间翻翻的利益诱惑。也有很多人动心极力促成它发生。 现实中51%的过半攻击,可以在投票的桌游“狼人杀”中得到模拟:十二位玩家,四位狼人,每人一票,取得警长队伍多半票。 这个游戏从最开始的除了好人队伍的预言家没人要警长,到回来狼人冒充预言家也要争夺警长的半票。 很多时候,拿到警长的狼人,极容易开启过半攻击的屠杀模式。
1. 什么是 “达不成共识怎么办”?在这种方案之下,输家不承认结果并不能阻止合约执行。以太坊是怎么 “达成共识” 的呢? 2. 这不是平替,这就是 “智能合约”。这是基于验证的智能合约。并不是只有举办计算能力的才叫智能合约。而且这种合约的链上开销更小,因为不执行赌博本身的计算。 3. 不需要依赖于声誉上的损失来推动合约执行,因为你们都签名过了。 一种简单的方案是由 11-of-15 的门限委员会使用门限签名发布赌博结果。这个门限签名可用来激发你们之前签过名(但还无法执行)的交易的其中一条,让对应正确结果的资金分配得到执行。这是使用 “适配器签名” 实现的(注意,这个委员会的签名不能用来解锁赌池的资金)。 使用 11 和 15 这两个数字是图简单,可以再提高。但它会受制于门限签名的计算复杂性限制,可能实现不了几百个参与者。 不知道结果不会影响这种合约的可实现性。有影响的只是结果的可能性数量。 如同你认为的在以太坊上做到免信任性的关键是代码可验证以及冗余式执行。在这种模式中,你同样可以验证委员会的构成、赌博结果与资金分配的匹配正确性。这都是靠你们预先签名的交易锁定的。 至于冗余式执行。如果参与者认为 11-of-15 的冗余不够多,如上所述,可以继续增加。现在还做不到几千个冗余这么多,这需要密码学协议本身的突破。
牛 这是技术理论专业 虽然门外汉没有完全看懂 但有个外行人的看法 就是门限委员会可以不用来执行博彩赌约的执行,只需进行奖池资金管理即可 这样保证资金的存储和发放安全即可 参与投注的参与者进入多签 直接投注将赌注进入奖池即可 无论是智能合约还是多签门限委员会 其目的都是为了保证安全下的信任 只要实现信任的基础 能够运行即可 或者说只要投注参与者信任这个模式下的规则即可
你把投注的参与者地位提升的太高了 这跟现实场景不符 买彩票或者赌博的人 几乎不会参与规则的制定 只要规则能够让投注的参与者相信公平公正公开即可 对于投注的参与者 不会去管你的逻辑理论 他们只关心中奖的概率与奖金以及能够获得奖金的可能性 (现实场景是无论是智能合约的赌博还是现实的赌场,参与者很少去研究合约代码和赌局的概率公式,他们只要有安全性承诺和足够诱惑的奖金即可参与) 你思考的赌局 更类似于赌场的运营人和投资人