by th3o6a1d on 3/11/21, 7:28 PM with 71 comments
by paulhallett on 3/11/21, 10:19 PM
I once heard about a team that rebuilt a whole suite of micro services using names from Lord of the Rings, but the names didn't reflect the service's functions at all, so the system was instantly unusable due to the confusing terminology.
Keep the terminology simple.
by qqii on 3/11/21, 11:04 PM
I think the terminology used here does a pretty decent job of trying to explain what's going on behind the scenes.
The diagrams in the litepaper (https://sarcophagus.io/assets/pdf/sarcophagus_litepaper_v0.2...) do a good job too.
by theamk on 3/11/21, 11:26 PM
Here is a simple hypothetical:
Let's say me + my partner have a DeFi startup, and we have $1,000,000 worth of cryptocurrency in cold storage, protected by multisig. In order to prevent money from being lost if something happens, I want my partner to get a key if I die. A regular centralized safety deposit box is $100/year, but I don't trust it, so I set up this "sarcophagus" thing with $10,000 as bounty, to incentivize the archeologist nodes.
Assume that my partner is not actually trustworthy, and they want to steal the money. So they contact Archeologists nodes directly, and offer them 10% of "corpse" value if they unwrap early.
What would a rational economic actor do? From my reading the paper, it would be in their interest to _defect_ and unwrap earlier. They are going to lose their bond ($10,000 + 10%) and their reserve requirement will raise a bit -- but not too much if they don't do this frequently. And they will gain 10% of corpse value, or $100,000 in this example.
So it looks like this scheme is really not useful for any sort of high-value secrets?
by BrandoElFollito on 3/11/21, 9:54 PM
Should I become incapacited, the decision on how I end wild beef truly mine.
by Imnimo on 3/11/21, 10:33 PM
by SahAssar on 3/11/21, 10:35 PM
"After spinning up an Archaeologist server, the operator must set their own parameters for minimum digging fees, minimum bounty, and maximum resurrection time. This will allow the Embalmer to see the minimum price in SARCO that an Archaeologist will accept in order to be cursed."
I really don't know if this is real or parody
by nonameiguess on 3/11/21, 11:40 PM
I guess this is great if you're a drug lord or living in a failed state and honest to God can't trust anyone.
by chanandler_bong on 3/11/21, 10:18 PM
by 22c on 3/12/21, 12:11 AM
My biggest criticism is WHY tie yourself into Arweave? It seems to me like it would be MUCH better for the contents of your sarcophagus to be something small like a 32kb TXT file, which could itself be JSON or whatever you want it to be that then points to where the files are actually stored + a decryption key.
Tying yourself to one specific storage technology instead of generic metadata that could be used for any purpose, to me seems to detract from the possibilities of what this could be used for.
Why shouldn't I just be able to put links to a google drive in here, or the password to my iCloud, or the coordinates to my buried treasure, etc.?
I understand the value proposition of Arweave, I get that, but why not let the user make the decision to use a "permanent file storage" of their choice instead of making that decision for them?
by harryf on 3/11/21, 9:27 PM
by tyingq on 3/11/21, 10:34 PM
by tired-dev on 3/11/21, 10:45 PM
by JonnyRingo on 3/11/21, 11:43 PM
by EGreg on 3/11/21, 9:38 PM
One of the building blocks was the ControlContract. It was designed to be a drop-in replacement for any address that might have some ability to manage a balance or call some methods of other contract. Like a multisig wallet on Bitcoin, but much enhanced.
ControlContract basically referred to an existing CommunityContract (which was responsible for managing roles and permissions), and the owner could call something like
addMethod(contractAddress, method, rolesForInvoking, rolesForEndorsing, minimum, fraction=0)
Basically, it would let some roles in the community invoke the calls, and others to endorse the all. As long as the minimum number of people with the right role endorsed (including the invoker) and at least the right fraction of people with that role, the contract would then CALL that method with the parameters of the invoker. We even allowed people with simple wallets to send a tiny amount of ethereum, like 0.0000001928 where 1928 was the invokeId, to endorse a call.Anyway, we then said, what if we had "succession". So the owner of the contract could itself be a ControlContract. Or they might set up some groups and then renounceOwnership(). The first group would call the shots, but if they didn't successfully call a method in a certain timeout, not even calling heartbeat() before the timeout ,then the second group became empowered. If the first group came back later then they could still get everything done immediately, and the second group would be depowered until the next time. And so on down the line. This would be like a "vice president" etc.
So yeah, we built an entire system for governing communities, that would basically be flexible enough for any sort of things like that.
And you can see the code here: https://github.com/Intercoin