Author Topic: Semi-centralized smart contracts on Bitshares  (Read 2978 times)

0 Members and 1 Guest are viewing this topic.

Offline vikram

I've recently been interested in a somewhat similar model Counterparty is using to run EVM contracts off the Bitcoin blockchain: http://counterparty.io/news/counterpartys-evm-port-moves-forward/


Offline svk

It's not really centralized in the sense you think of Thom. It's simply a way to avoid bloating the blockchain with proposed transactions that would get rejected anyway, since you make the verification off chain and only broadcast if it passes your criteria. Also, signatures happen off chain meaning less bloat also. The final transaction still needs to be a valid trx for the blockchain itself, nothing changes there.

In principle I like the idea. One potential issue is that bts transactions don't stay valid very long once signed due to TAPOS, but I'm not sure how long that is.
« Last Edit: March 13, 2017, 05:12:27 am by svk »
Worker: dev.bitsharesblocks

Offline Thom

Why promote a centralized scheme? What value is provided through it that can't be provided in a decentralized way?

The scheme is not centralized, though it makes the involvement of centralized components possible. That being said, what those centralized components would bring are speed and low weight of execution, and convenience in production.

You said:
Quote
Now, the model I propose assumes a central server...

Thus it's centralized. How is it not?
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline llildur

  • Full Member
  • ***
  • Posts: 54
    • View Profile
It's some sort of automated checkpoint only, not centralized, like LN channels

Offline JianJolly

  • Newbie
  • *
  • Posts: 14
    • View Profile
Why promote a centralized scheme? What value is provided through it that can't be provided in a decentralized way?

The scheme is not centralized, though it makes the involvement of centralized components possible. That being said, what those centralized components would bring are speed and low weight of execution, and convenience in production.
« Last Edit: March 12, 2017, 07:56:07 pm by JianJolly »

Offline Thom

Why promote a centralized scheme? What value is provided through it that can't be provided in a decentralized way?
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline JianJolly

  • Newbie
  • *
  • Posts: 14
    • View Profile
I am copying the following text in order not to lose the concise definition of what I have had in mind for some time. It is originally from Bitshares Telegram channel, and written in a rather less elaborate way in a chatting manner.

-

I can summarize it as follows. There is an asset, whose issuer is a multisig account. Each of the keys controlling the account is held by a node running in a separate server. The asset's transfer-restricted flag is on, meaning that each and every transaction involving the asset will have to be approved by the issuer account, which means that each of those separate servers will have to approve the transaction independently.

Now, the model I propose assumes a central server where everyone can propose tx. So, let's say Alice wants to send 10 tokens to Bob. She cannot do it by herself, because the transaction has to be approved by the issuer. How it works is that she proposes the tx in order for the issuer to approve. So, she pushes a proposed tx to the centralized server. That server is just a place to host an unsigned proposed tx list and nothing else. The issuer then comes and sees that there is a proposed tx, by which Alice wants to send 10 tokens to Bob.

When the "issuer nodes" (i.e., the nodes which hold the keys that constitute the multisig issuer account) see the proposed transaction, there are two options. Tx will be approved or not. Now, the issuer nodes can do ANYTHING to decide whether or not to allow the transaction - hence semi-centralized smart contracts.

For instance, let's say that token can only be sent to the VIP members of the service that the issuer provides (one is free to be as imaginative as possible in this phase, since anything is possible, but let me stick with this simplest exampe). So, let's say Alice is a VIP member and Bob isn't - in that case the tx won't be approved. The decision for or against this transaction is done by the nodes. The nodes can use whatever database they wish, and execute the process which checks whether Bob is a VIP member in any programming language that they like.

This I believe is superior to decentralized smart contracts, in that, this one necessitates that the contracts are executed by a number of nodes and not by the entire blockchain participants. Hence, less likelihood of bloating, and super fast execution possibilities. Also, auditability, transparency and immutability stay with us.