Bitcoin Forum
May 14, 2024, 05:05:10 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Contract Providing a Deposit Problem?  (Read 176 times)
Staizita (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 4


View Profile
April 19, 2019, 12:12:16 PM
Merited by d5000 (1), ABCbits (1)
 #1

According to the example of the Providing a deposit in the bitcoin wiki, https://en.bitcoin.it/wiki/Contract#Example_1:_Providing_a_deposit

I found that even if the user is malicious, the malicious user can't be punished (no loss of money).

Code:
Obviously, if the user turns out to be abusive (i.e., a spammer), the website will not allow an early close of the contract. 

Are there contract methods that can punish the malicious user?
1715663110
Hero Member
*
Offline Offline

Posts: 1715663110

View Profile Personal Message (Offline)

Ignore
1715663110
Reply with quote  #2

1715663110
Report to moderator
1715663110
Hero Member
*
Offline Offline

Posts: 1715663110

View Profile Personal Message (Offline)

Ignore
1715663110
Reply with quote  #2

1715663110
Report to moderator
1715663110
Hero Member
*
Offline Offline

Posts: 1715663110

View Profile Personal Message (Offline)

Ignore
1715663110
Reply with quote  #2

1715663110
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715663110
Hero Member
*
Offline Offline

Posts: 1715663110

View Profile Personal Message (Offline)

Ignore
1715663110
Reply with quote  #2

1715663110
Report to moderator
ABCbits
Legendary
*
Offline Offline

Activity: 2870
Merit: 7497


Crypto Swap Exchange


View Profile
April 19, 2019, 05:04:41 PM
Merited by d5000 (1)
 #2

It's impossible on permission-less/decentralized system such as Bitcoin unless the malicious act happens on Bitcoin network and can be verified by Bitcoin full-node client.

For example, on LN if a dishonest-party attempt to broadcast older transaction commitment, another party can activate/broadcast "punishment" transaction which takes all dishonest-party coins.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
d5000
Legendary
*
Offline Offline

Activity: 3906
Merit: 6270


Decentralization Maximalist


View Profile
April 19, 2019, 05:42:07 PM
Merited by ABCbits (1)
 #3

ETFBitcoin is right, a total "loss" (as punishment) for the abuser is only possible if the abuse can be verified by the Bitcoin client.

The only way I see is to set nLockTime so late in the future that de facto it will become a loss (e.g. several years) and the "normal" way would be to close the contract earlier.

You could slightly improve (but not completely solve) the incentive problem: Imagine an agreement between user and service owner where you initially agree to a very high nLocktime value, but with every week or so you use the service without abusing it, the service owner signs a transaction with a nLocktime value that expires earlier. However, this depends on the good-will of the service owner.

Making the abuse "verifiable" like in LN, however, in most cases is not practical. Imagine an e-mail service that is set up in a way that a public message, verifiable by every Bitcoin client, is broadcasted with every e-mail the user sends (you could even set up that in a way that the user must sign this message with every mail he sends, so the service owner couldn't cheat). If the user exceeds a certain "quota" he then could lose his Bitcoins. But in this particular case the service owner could simply configure his service in a way that prohibits exceeding the mail quota. It's hard to imagine a case where preventing "overuse" with a simple configuration is not possible.

(This anti-spam solution I posted last year is very similar to the example in the Wiki, with the difference that no multisig is required.)

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!