Comments (3)
I'm going to hijack this and make it about transactions in general instead of just the miner fee.
Transactions are weirdly complicated b/c there's so many ways to build them and so many ways for things to go wrong.
We could just make them dirt simple, which might be the best idea. This would remove the fee, and you sign inputs and outputs but don't have an option to sign all of them.
The things that we really want though:
- Adjustable miner fees, but only up
- assurance contracts
Assurance contracts are potentially useful to us because you can sign a contribution to a contract, and know that your funds are going directly to the contract. Without signing all potential outputs though, you can't be certain that the target goal won't be overshot and some malicious guy will run away with the spillover.
If you do sign all outputs, it means that people can't add refund outputs, which is annoying but not fatal. I think that the only time it's a real problem is when you have multiple people adding inputs to a contract without adding new outputs that weren't previously specified. Idk it seems like a really complicated problem so I'm going to make the potentially-fatal mistake of keeping things simple and not allowing you to sign all outputs.
But I think that I will add multiple miner fees because that's the only way that people can arbitrarily add to the miner fee without screwing up others who have signed the miner fee.
from sia.
The ultra simple thing to do is just get rid of CoveredFields entirely and just have every single signature sign the entire transaction - which means everyone has to agree on the final state of the txn including the fees before making any signatures. More of a pain for people trying to make transactions... but makes implementation a lot simpler. Also potentially a lot safer.
The only dangers I can think of from having malleability that prevents you from signing all outputs and all inputs is that if multiple people are adding funds to the same contract, but don't know that each other exist, then they could be duped and some middle-guy could take whatever funds overlap.
So I guess the solution is to avoid situations where you are adding funds to a transaction along with unknown other parties. If you do that, then you should be safe even though you can't sign every output and guarantee that someone isn't adding more.
from sia.
I guess we just need to make sure that the flexibility justifies the complexity, since the vast majority of transactions would be just fine without a CoveredFields object.
from sia.
Related Issues (20)
- localhost:9980/consensus HOT 3
- how to launch SIA daemon using SiaJs?
- A critical error loading Sia has occured: Siad unexpectedly exited. Error log: Sia Daemon v1.3.3
- Can't use wallet with SiaCoins - Siad has exited unexpectedly.
- A critical error loading Sia has occured: Siad unexpectedly exited. "are you running another instance of siad?" HOT 1
- Crash upon non bootstrapped blockchain download
- 'A critical error loading Sia has occurred: Siad unexpectedly exited.'
- ./siac wallet transactions method issue HOT 1
- Siad has exited unexpectedly. Please submit a bug report including the error log here.
- How to run ./siad daemon on testnet ?
- Changehero_get listed at the list of exchanges
- siad loading transaction pool HOT 2
- Siad has exited unexpectedly. Please submit a bug report including the error log here. HOT 3
- BUG REPORT Sia Daemon v1.3.3 Git Revision 94ea84e Loading... (0/6) Loading siad... (1/6) Loading gateway... (2/6) Loading consensus... (3/6) Loading transaction pool... (4/6) Loading wallet... (5/6) Loading host... (6/6) Loading renter... Finished loading in 1.6310935 seconds
- error while loading the WAL at startup: failed to recover WAL: walFile metadata mismatch
- siad.exe error
- you 1.3 update locked my wallet and the password i used before does not work. you are to send me a way to unlock may wallet and no I am not redownloading anything else!!!!
- typographic error "shudown"
- WAL file is still present after clean shutdown/ causes WARN messages in log
- the password I created does not work and the long list of encryption words does not work. my walet is locked. I have been running JSE miner for days and have nowhere to put my coins. I had faith in JSE as like a cround floor botcoin, then you locked my wallet and screwed me. Thank God I had put no coins in it. YOU WILL PROVIDE ME A WAY TP UNLOCK MY WALLET OR I WILL ERASE JSE AND AGREE WITH MANY EXPERTS THAT SAY CYBERCURRENY IF JUST ANOTHER FIAT CURRENCY AS USELESS AS THE U.S. DOLLAR WITH NOT BACKING OTHER THAN THE FAITH FOOLS LIKE ME PUT IN IT! I do not want instructions to redowload this or that. I did everything you told me to do. You JSE Siacoin wil fix my wallet.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sia.