පරිශීලක ඉඩ කඩන්න එපා!

By Bitcoin සඟරාව - මාස 3 කට පෙර - කියවීමේ වේලාව: විනාඩි 5 යි

පරිශීලක ඉඩ කඩන්න එපා!

“Mauro, SHUT THE FUCK UP!It's a bug alright - in the kernel. How long have you been a maintainer? And you *still* haven't learnt the first rule of kernel maintenance?If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to Understand?” -Linus Torvalds

පරිශීලක අවකාශය බිඳ නොදමන්න. Linux kernel සංවර්ධනය සඳහා Linus Torvald ගේ ස්වර්ණමය රීතිය මෙයයි. මෙය කියවන ඔබට ලිනක්ස් හෝ සාමාන්‍යයෙන් මෙහෙයුම් පද්ධතිවල ස්වභාවය ගැන නොදන්නා අයට, කර්නලය යනු මෙහෙයුම් පද්ධතියක හදවත සහ ආත්මයයි. කර්නලය යනු ඇත්ත වශයෙන්ම දෘඩාංග කළමනාකරණය කරයි, ගබඩාව සහ RAM අතර, RAM සහ CPU අතර දේවල් ගණනය කරන විට, සහ දෘඪාංග මට්ටමින් පාලනය කළ යුතු සැබෑ පරිගණකයේ කුඩා උපාංග සහ කෑලි සියල්ලම චලනය කරයි.

මෙහෙයුම් පද්ධතියක් සඳහා ලියා ඇති සෑම යෙදුමක් හෝ වැඩසටහනක් කර්නලය සමඟ අන්තර් ක්‍රියා කළ යුතුය. ඔබ ෆොටෝෂොප් හෝ ටෙලිග්‍රාම් බාගත කරන විට, ක්‍රමලේඛනය කරන සෑම දෙයක්ම කර්නලය ඇමතීම දක්වා පහළ යයි. "හේයි කර්නලය, මම දැන් ටයිප් කළ දේ ගෙන එය සකස් කර ජාල සම්බන්ධතාවයක් හරහා සේවාදායකයට යවන්න." "හේයි කර්නලය, මම මෙම තණතීරුවට කළ වර්ණ මාරුව ගන්න, එය RAM එකෙන් ඉවත් කර එය වෙනස් කිරීමට CPU වෙත යවන්න, පසුව එය නැවත RAM වෙත දමන්න."

When the kernel is changed, in a somewhat similar fashion to Bitcoin, the chief goal of developers is to ensure that existing applications that assume a specific way to interact with the kernel do not break because of a change to the kernel. Sounds very familiar to Bitcoin and the necessity to maintain backwards compatibility for network consensus upgrades doesn’t it?

“Seriously. How hard is this rule to understand? We particularly don't break user space with TOTAL CRAP. I'm angry, because your whole email was so _horribly_ wrong, and the patch that broke things was so obviously crap. The whole patch is incredibly broken shit. It adds an insane error code (ENOENT), and then because it's so insane, it adds a few places to fix it up ("ret == -ENOENT ? -EINVAL : ret").

The fact that you then try to make *excuses* for breaking user space, and blaming some external program that *used* to work, is just shameful. It's not how we work.Fix your f*cking "compliance tool", because it is obviously broken. And fix your approach to kernel programming.” -Linus Torvalds

ලිනක්ස් යනු මුළු ලෝකයේම වඩාත්ම වැදගත්, නොඑසේ නම්, විවෘත මූලාශ්‍ර ව්‍යාපෘතියකි. ඇන්ඩ්‍රොයිඩ් ලිනක්ස් මත ක්‍රියාත්මක වේ, පසුපෙළ යටිතල ව්‍යුහයෙන් අඩක් (එසේ නොවේ නම්) ලිනක්ස් මත ධාවනය වේ. ඔබ Linux මත ධාවනය කිරීම ගැන නොසිතන ඔබේ ජීවිතයේ පසුබිම තුළ සියලුම ආකාරයේ පරිගණකගත දේවල් පාලනය කරන Embedded පද්ධති. ලෝකය වචනාර්ථයෙන් ලිනක්ස් මත ධාවනය වේ. බොහෝ ඔටිසම් ලිනක්ස් භාවිතා කරන්නන්ට සිදුවීම දැකීමට අවශ්‍ය පරිදි එය ඩෙස්ක්ටොප් එක භාර නොගන්නට ඇත, නමුත් එය කිසිවකුට නොදැනෙන ලෙස පසුබිමේ ඇති අනෙක් සියල්ල පාහේ නිහඬව අනුභව කළේය.

All of these applications and programs people use in the course of their daily lives depend on the assumption that Linux kernel developers will not break backwards compatibility in new versions of the kernel to allow their applications to continue functioning. Otherwise, anything running applications must continue using older versions of the kernel or take on the burden of altering their applications to interact with a breaking change in the kernel.

Bitcoin’s most likely path to success is a very similar road, simply becoming a platform that financial applications and tools are built on top of in such a way that most people using them won’t even realize or consider that “Bitcoin ate the world.” In a similar vein to Linux, that golden rule of “Don’t break userspace” applies tenfold. The problem is the nature of Bitcoin as a distributed consensus system, rather than a single local kernel running on one person’s machine, wildly changes what “breaking userspace” means.

It’s not just developers that can break userspace, users themselves can break userspace. The entire last year of Ordinals, Inscriptions, and BRC-20 tokens should definitively demonstrate that. This offers a very serious quandary when looking at the mantra of “Don’t break userspace” from the point of view of developers. As much as many Bitcoiners in this space do not like Ordinals, and are upset that their own use cases are being disrupted by the network traffic Ordinals users are creating, කණ්ඩායම් දෙකම පරිශීලකයන් වේ.

So how do developers confront this problem? One group of users is breaking userspace for another group of users. To enact a change that prevents the use of Ordinals or Inscriptions explicitly violates the mandates of don’t break userspace. I’m sure people want to say “Taproot broke userspace!” in response to this dilemma, but it did not. Taproot activation, and the allowance for witness data to be as large as the entire blocksize, did not break any pre-existing applications or uses built on top of Bitcoin. All it did was open the door for new applications and use cases.

ඉතින් අපි මෙතන මොකද කරන්නේ? සම්මුති වෙනසකින් උත්සාහ කිරීම සහ පෙරීම හෝ බිඳ දැමීම, ශිලා ලේඛන හෝ වෙළඳාම් කරන පුද්ගලයින් "පරිශීලක අවකාශය බිඳ නොදමන්න" යන උපරිමය මූලික වශයෙන් උල්ලංඝනය කිරීමකි. කිසිවක් නොකිරීමට එක් පරිශීලක පන්තියකට තවත් පරිශීලක පන්තියක පරිශීලක අවකාශය බිඳ දැමීමට ඉඩ සලසයි. ස්වර්ණමය රීතිය උල්ලංඝනය කිරීම හෝ පරිශීලක අවකාශය බිඳී ඇති පරිශීලක පන්තියට ජාලයේ නව යථාර්ථයන්ට අනුවර්තනය වීමට සහ ඔවුන්ගේ යෙදුම්වල ශක්‍ය අනුවාදයක් පවත්වා ගැනීමට සහ භාවිතා කිරීමට ඉඩ සලසන ක්‍රියාකාරීත්වය ක්‍රියාත්මක කිරීම හැර මෙම ගැටලුවට මූලික වශයෙන් විසඳුමක් නොමැත. නඩු.

Not breaking the userspace of Bitcoin is of critical importance for its continued success and functionality, but it is not as simple as “don’t change anything.” Dynamic changes in user behavior, that require no change to the actual protocol itself, can have the same effect at the end of the day as a breaking change to the protocol. Are developers supposed to pick and choose which applications’ userspace is broken to maintain that of another application? I would say no, and go further to say that anyone advocating for such behavior from developers is demanding them to act irresponsibly and in a way that harms users of the system. So what is the answer here?

There is no answer except to push forward and continue adding improvements to the protocol that allow applications being broken by the behavior of certain users to function in the presence of emergent changes in users’ behavior. Otherwise, you are asking developers to throw out the golden rule and effectively play kingmakers in regards to what use cases are viable to build on top of Bitcoin.

අපි ඒ පාරේ ගියොත් ඇත්තටම අපි මෙතන මොකද කරන්නේ? එම අවස්ථාවේදී අප කරන්නේ කුමක්දැයි මට ඔබට පැවසිය නොහැක, නමුත් එය තවදුරටත් බෙදා හරින ලද සහ මධ්‍යස්ථ පද්ධතියක් ගොඩනඟන්නේ නැති බව මට ඔබට පැවසිය හැකිය.

මුල් මූලාශ්රය: Bitcoin සඟරාව