比特幣腳本含義
Ⅰ BTC 比特幣 內涵
1、區塊鏈和比特幣的概念、內涵、本質等。
2、區塊鏈相關法律法規、規定規劃、通知公告等。
第一,筆者眼中的區塊鏈:
如同它名字一般,是指一個區域連接成一塊,最終形成很多區塊的拼接,而每一個區塊都有一個節點可以承載不同的事物,比如說你買一箱蘋果在這個節點上銷售者給你賣100塊,你就可以通過這個鏈條知道上一個種蘋果的農戶是50塊賣給銷售者的,信息公開並且透明化,可以揭開交易、服務、溝通過程中的層層面紗;個人認為區塊鏈不是去中心化,而是所有中心化的聯合,因為每一個節點就是一個小中心,將所有中心連接起來形成一整個區塊鏈資料庫,而不是傳統的將一個事物孤立為一點從而發散,是需要每一個節點配合聯動,是一種思想模型,一種載體建立在分布式核算和存儲上,只是不存在中心化的硬體或管理機構,任意節點的權利和義務均等,一個系統中的數據塊由整個系統中具有維護功能的節點來共同維護。
網路和360網路的解釋,和根據我國工業和信息化部《中國區塊鏈技術和應用發展白皮書(2016)》的定義:其是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
2018年3月31日,《區塊鏈技術原理與開發實戰》正式引入高校講堂,首次課程在西安電子 科技 大學南校區開講。2018年4月,一群來自牛津大學的學者宣布創辦世界上第一所區塊鏈大學——伍爾夫大學。5月29日,網路上線區塊鏈新功能,以保證詞條編輯公正透明。
...
第二.筆者眼中的比特幣:
基於區塊鏈技術應用發展起來的數字貨幣,非法定貨幣,向法律規則發起了挑戰,引發諸多 社會 和財產風險。需要我們慎重評估區塊鏈技術應用可能存在的法律問題,思考對策。監管問題...
...
...
狹義區塊鏈,是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。一般說來,區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約是區塊鏈可編程特性的基礎(區塊鏈技術的廣泛應用,離不開智能合約,所謂的智能合約就是以數字編碼的形式定義承諾。交易的雙方無須彼此信任,一切交易都由代碼強制執行。但智能合約的形式及其內容的效力,還沒有得到法律和司法的正式認可,其作為數字編碼的形式體現出來的合同文本,尚無法確知,是否可以構成生效合同的要件,是否可以符合司法擬採信證據的真實性、合法性、有效性。);應用層則封裝了區塊鏈的各種應用場景和案例。
區塊鏈已經從區塊鏈1.0——數字貨幣到2.0——數字資產與智能合約,發展到現在區塊鏈3.0——DAO、DAC(區塊鏈自洽組織、區塊鏈自洽公司)-->區塊鏈大 社會 (科學,醫療,教育,區塊鏈+AI)。從比特幣等加密貨幣到追蹤中國放養肉雞。專門跟加密貨幣相關的專利申請——不包括在區塊鏈專利類別中——在2017年增長了16%,達到602項。中國2017年申請了225項區塊鏈項專利,而2016年為59項,
其次是美國(去年為91項,2016年為21項)。其體系結構的核心優勢:任何節點都可以創建交易,在經過一段時間的確認之後,就可以合理地確認該交易是否為有效,區塊鏈可有效地防止雙方問題的發生。對於試圖重寫或者修改交易記錄而言,它的成本是非常高的。
區塊鏈實現了兩種記錄:交易以及區塊。交易是被存儲在區塊鏈上的實際數據,而區塊則是記錄確認某些交易是在何時,以及以何種順序成為區塊鏈資料庫的一部分。交易是由參與者在正常過程中使用系統所創建的(以加密數字貨幣為例,一筆交易是由b將代幣發送給a所創建的),而區塊則是由我們稱之為礦工的單位負責創建。
...
(部分)區塊鏈的特點:
1. 去中心化:使用分布式核算和存儲,不存在中心化的硬體或管理機構,任意節點的權利和義務都是均等的,系統中的數據塊由整個系統中具有維護功能的節點來共同維護。
2. 開放性:系統開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人公開,任何人都可以通過公開的介面查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。(私有物被加密,公有物透明)
3. 自治性:區塊鏈採用基於協商一致的規范和協議(比如一套公開透明的演算法)使得整個系統中的所有節點能夠在去信任的環境自由安全的交換數據,使得對「人」的信任改成了對機器的信任,任何人為的干預不起作用。
4. 信息不可篡改:一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。
5. 匿名性:由於節點之間的交換遵循固定的演算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),因此交易對手無須通過公開身份的方式讓對方自己產生信任,對信用的累積非常有幫助。
綜上筆者認可的觀點是區塊鏈是一種系統,是一種演算法技術的創新應用,只要不涉及倫理問題和道德風險,本不存在國家監管與法律規制問題。
...
參考文獻
1. 鄭惠敏:《區塊鏈法律:部分國家對虛擬貨幣、數字代幣的性質認定》大風號自媒體。
2. 曹磊:《區塊鏈,金融的另一種可能》.首席財務官.2015年24期。
3. 王文嫣:《安全透明的公共賬本——區塊鏈》.上海證券報·中國證券網.2016年2月26日。
4. 蔣潤祥;魏長江:《區塊鏈的應用進展與價值探討》.金融視界.2016年Z2期。
5. 「區塊鏈」到底是什麼?和普通人有什麼關系?.網易 科技 .2016年8月5日。
6. 劉晉豫:《 香港證監會發布公告提醒數字貨幣風險 稱其會在必要時採取執法行動》鳳凰網 財經 金色 財經 .2018年2月9日。
7. 蘇德棟:試論區塊鏈法律規制與風險.中華全國律師協會.
Ⅱ 比特幣支持智能合約嗎
不支持 比特幣只能點對點傳輸目前
Ⅲ 如何理解區塊鏈的智能合約
智能合約」(smart contract)這個術語至少可以追溯到1995年,是由多產的跨領域法律學者尼克·薩博(Nick Szabo)提出來的。他在發表在自己的網站的幾篇文章中提到了智能合約的理念。他的定義如下:
「一個智能合約是一套以數字形式定義的承諾(promises),包括合約參與方可以在上面執行這些承諾的協議。」
讓我們更加詳細地探討他的定義的意思。
承諾
一套承諾指的是合約參與方同意的(經常是相互的)權利和義務。這些承諾定義了合約的本質和目的。以一個銷售合約為典型例子。賣家承諾發送貨物,買家承諾支付合理的貨款。
數字形式
數字形式意味著合約不得不寫入計算機可讀的代碼中。這是必須的,因為只要參與方達成協定,智能合約建立的權利和義務,是由一台計算機或者計算機網路執行的。
更進一步地說明:
(1)達成協定
智能合約的參與方什麼時候達成協定呢?答案取決於特定的智能合約實施。一般而言,當參與方通過在合約宿主平台上安裝合約,致力於合約的執行時,合約就被發現了。
(2)合約執行
「執行」的真正意思也依賴於實施。一般而言,執行意味著通過技術手段積極實施。
(3)計算機可讀的代碼
另外,合約需要的特定「數字形式」非常依賴於參與方同意使用的協議。
協議
協議是技術實現(technical implementation),在這個基礎上,合約承諾被實現,或者合約承諾實現被記錄下來。選擇哪個協議取決於許多因素,最重要的因素是在合約履行期間,被交易資產的本質。
再次以銷售合約為例。假設,參與方同意貨款以比特幣支付。選擇的協議很明顯將會是比特幣協議,在此協議上,智能合約被實施。因此,合約必須要用到的「數字形式」就是比特幣腳本語言。比特幣腳本語言是一種非圖靈完備的、命令式的、基於棧的編程語言,類似於Forth。
智能合約
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
Ⅳ 4. 比特幣的密鑰、地址和錢包 - 精通比特幣筆記
比特幣的所有權是通過密鑰、比特幣地址和數字簽名共同確定的。密鑰不存在於比特幣網路中,而是用戶自己保存,或者利用管理私鑰的軟體-錢包來生成及管理。
比特幣的交易必須有有效簽名才會被存儲在區塊中,因此擁有密鑰就擁有對應賬戶中的比特幣。密鑰都是成對出現的,由一個公鑰和一個私鑰組成。公鑰相當於銀行賬號,私鑰就相當於銀行卡密碼。通常情況下密鑰由錢包軟體管理,用戶不直接使用密鑰。
比特幣地址通常是由公鑰計算得來,也可以由比特幣腳本得來。
比特幣私鑰通常是數字,由比特幣系統隨機( 因為演算法的可靠性與隨機性正相關,所以隨機性必須是真隨機,不是偽隨機,因此比特幣系統可以作為隨機源來使用 )生成,然後將私鑰作為輸入,使用橢圓曲線演算法這個單向加密函數生成對應的公鑰,再將公鑰作為輸入,使用單向加密哈希函數生成地址。例如,通過公鑰K得到地址A的計算方式為:
其中SHA256和PIPEMD160被稱為雙哈希或者HASH160,Base58Check是帶有驗證功能的Base58編碼,驗證方式為先計算原始數據(編碼前)的驗證碼,再比較編碼後數據的驗證碼,相同則地址有效,否則無效。而在使用Base58Check編碼前,需要對數據做處理。
處理方式為: 版本前綴 + 雙哈希後的數據 + 校驗碼
其中版本前綴是自定義的,如比特幣私鑰的前綴是0x80,校驗碼是把版本前綴和雙哈希後的數據拼接起來,進行兩次SHA256計算,取前4位元組。得到處理的數據後,再進行Base58編碼,得到最終的結果。
下圖是Base58Check版本前綴和Base58編碼後的結果
密鑰可以採用不同的編碼格式,得到的編碼後結果雖然不同,但密鑰本身沒有任何變化,採用哪種編碼格式,就看情況而論了,最終目的都是方便人們准確無誤的使用和識別密鑰。
下圖是相同私鑰採用不同編碼方式的結果:
公鑰也有很多種格式,不過最重要的是公鑰被分為壓縮格式和非壓縮格式,帶04前綴的公鑰為非壓縮格式的公鑰,而03,02開頭的標識壓縮格式的公鑰。
前面說過,公鑰是橢圓曲線上的一個點,由一對坐標(x, y)表示,再加上前綴,公鑰可以表示為:前綴 x y。
比如一個公鑰的坐標為:
以非壓縮格式為例,公鑰為(略長):
壓縮格式的公鑰可以節省一定的存儲,對於每天成千上萬的比特幣交易記錄來說,這一點點的節省能起到很大效果。
因為橢圓曲線實際上是一個方程(y2 mod p = (x3 + 7)mod P, y2是y的平方,x3是x的立方),而公鑰是橢圓曲線上的一個點,那麼公鑰即為方程的一個解,如果公鑰中只保留x,那麼可以通過解方程得到y,而壓縮公鑰格式有兩個前綴是因為對y2開方,會得到正負兩個解,在素數p階的有限域上使用二進制算術計算橢圓曲線的時候,y坐標或奇或偶,所以用02表示y為奇數,03表示y為偶數。
所以壓縮格式的公鑰可以表示為:前綴x
以上述公鑰的坐標為准,y為奇數為例,公鑰K為:
不知道大家發現沒有,這種壓縮方式存在一個問題,即一個私鑰可以得出兩個公鑰,壓縮和非壓縮公鑰,而這兩個公鑰都對應同一個私鑰,都合法,但生成的比特幣地址卻不相同,這就涉及到錢包軟體的實現方式,是使用壓縮公鑰還是非壓縮公鑰,或者二者皆用,這個問題後面來介紹。
比特幣錢包最主要的功能就是替用戶保管比特幣私鑰,比特幣錢包有很多種,比如非確定性(隨機)錢包,確定性(種子)錢包。所謂的非確定性是指錢包運行時會生成足夠的私鑰(比如100個私鑰),每個私鑰僅會使用一次,這樣私鑰管理就很麻煩。確定性錢包擁有一個公共種子,單向離散方程使用種子生成私鑰,種子足夠回收所有私鑰,所以在錢包創建時,簡單備份下,就可以在錢包之間轉移輸入。
這里要特別介紹下助記碼詞彙。助記碼詞彙是英文單詞序列,在BIP0039中提出。這些序列對應著錢包中的種子,種子可以生成隨機數,隨機數生成私鑰,私鑰生成公鑰,便有了你需要的一切。所以單詞的順序就是錢包的備份,通過助記碼詞彙能重建錢包,這比記下一串隨機數要強的多。
BIP0039定義助記碼和種子的創建過程如下:
另外一種重要的錢包叫做HD錢包。HD錢包提供了隨機(不確定性) 鑰匙有兩個主要的優勢。
第一,樹狀結構可以被用來表達額外的組織含義。比如當一個特定分支的子密鑰被用來接收交易收入並且有另一個分支的子密鑰用來負責支付花費。不同分支的密鑰都可以被用在企業環境中,這就可以支配不同的分支部門,子公司,具體功能以及會計類別。
第二,它可以允許讓使用者去建立一個公共密鑰的序列而不需要訪問相對應的私鑰。這可允許HD錢包在不安全的伺服器中使用或者在每筆交易中發行不同的公共鑰匙。公共鑰匙不需要被預先載入或者提前衍生,但是在伺服器中不具有可用來支付的私鑰。
BIP0038提出了一個通用標准,使用一個口令加密私鑰並使用Base58Check對加密的私鑰進行編碼,這樣加密的私鑰就可以安全地保存在備份介質里,安全地在錢包間傳輸,保持密鑰在任何可能被暴露情況下的安全性。這個加密標准使用了AES,這個標准由NIST建立,並廣泛應用於商業和軍事應用的數據加密。
BIP0038加密方案是: 輸入一個比特幣私鑰,通常使用WIF編碼過,base58chek字元串的前綴「5」。此外BIP0038加密方案需要一個長密碼作為口令,通常由多個單詞或一段復雜的數字字母字元串組成。BIP0038加密方案的結果是一個由base58check編碼過的加密私鑰,前綴為6P。如果你看到一個6P開頭的的密鑰,這就意味著該密鑰是被加密過,並需個口令來轉換(解碼) 該密鑰回到可被用在任何錢包WIF格式的私鑰(前綴為5)。許多錢包APP現在能夠識別BIP0038加密過的私鑰,會要求用戶提供口令解碼並導入密鑰。
最通常使用BIP0038加密的密鑰用例是紙錢包一一張紙張上備份私鑰。只要用戶選擇了強口令,使用BIP0038加密的私鑰的紙錢包就無比的安全,這也是一種很棒的比特幣離線存儲方式(也被稱作「冷存儲」)。
P2SH函數最常見的實現時用於多重簽名地址腳本。顧名思義,底層腳本需要多個簽名來證明所有權,然後才能消費資金。這類似在銀行開設一個聯合賬戶。
你可以通過計算,生成特殊的比特幣地址,例如我需要一個Hello開頭的地址,你可以通過腳本來生成這樣一個地址。但是每增加一個字元,計算量會增加58倍,超過7個字元,需要專門的硬體或者礦機來生成,如果是8~10個字元,那麼計算量將無法想像。
Ⅳ 比特幣ETH是什麼意思
比特幣是BTC,而ETH是以太坊。
比特幣(Bitcoin)的概念最初由中本聰在2008年11月1日提出,並於2009年1月3日正式誕生[1]。根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的虛擬的加密數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
以太坊(英文Ethereum)是一個開源的有智能合約功能的公共區塊鏈平台,通過其專用加密貨幣以太幣(Ether,簡稱「ETH」)提供去中心化的以太虛擬機(EthereumVirtualMachine)來處理點對點合約。
溫馨提示:
1、以上信息僅供參考,不作任何建議;
2、根據《關於防範代幣發行融資風險的公告》,我國境內沒有批準的數字貨幣交易平台。根據我國的數字貨幣監管規定,投資者在自擔風險的前提下擁有參與數字貨幣交易的自由。
應答時間:2021-02-01,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
Ⅵ 什麼是腳本挖礦
比特幣的核心原理是「區塊鏈」,每一個區塊對應一個帳單,將所有的區塊鏈接起來就是區塊鏈,任何交易信息和轉賬記錄都記錄在區塊鏈中。要注意的是區塊鏈存在於整個互聯網中,所以任何比特幣持有者都不擔心比特幣遭受損失。
每隔一個時間點,比特幣系統會在系統節點上生成一個隨機代碼,互聯網中的所有計算機都可以去尋找此代碼,誰找到此代碼,就會產生一個區塊,隨即得到一個比特幣,這個過程就是人們常說的挖礦。
比特幣挖礦。
就是用於賺取比特幣的電腦,這類電腦一般有專業的挖礦晶元,多採用燒顯卡的方式工作,耗電量較大。用戶用個人計算機下載軟體然後運行特定演算法,與遠方伺服器通訊後可得到相應比特幣,是獲取比特幣的方式之一。
據最新的外媒報道,隨著數字貨幣呈現不斷上漲的趨勢,為了獲取更多的數字貨幣。黑客入侵網站植入挖礦腳本後利用用戶的CPU挖掘數字貨幣的做法越來越流行。其相關數據統計,目前已有2,496家運行過時軟體的網站遭到黑客植入惡意代碼,並利用訪問者CPU挖掘。非法植入惡意挖礦腳本已成為了黑產的常見途徑。
Ⅶ 比特幣的加密(秘鑰、地址、腳本驗證)
https://en.bitcoin.it/wiki/Address
https://www.cnblogs.com/zhaoweiwei/p/address.html
生成方式:
P2PKH的交易腳本
舉個真實的例子:
ScriptSig:
PUSHDATA(72)[9701] PUSHDATA(33)
[]
這裡面的一個scriptSig由2部分組成,第一部分是簽名,第二部分是公鑰,PUSHDATA(N),表示要壓入棧頂的byte,1個byte表示2個字元,PUSHDATA(72)表示壓入144個字元
Output Scripts
HASH160 PUSHDATA(20)[] EQUAL
DUP HASH160 PUSHDATA(20)[] EQUALVERIFY CHECKSIG
第二個找零output地址因為是P2PKH開頭的,所以格式和描述的一樣
https://www.hibtc.org/2428.html
結合多重簽名一起使用
scriptSig: ..signatures... <serialized script>
scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL
表示一共有n個參與方,只要有m個參與方同意了這筆交易,則這筆交易就生效了,具體的規則是通過scriptHash裡面的腳本內容決定的
m-of-n multi-signature transaction:
scriptSig: 0 <sig1> ... <script>
script: OP_m <pubKey1> ... OP_n OP_CHECKMULTISIG
ScriptSig:
0[] PUSHDATA(72)[1201] PUSHDATA(71)[01] PUSHDATA1[]
HASH160 PUSHDATA(20)[] EQUAL
結合P2SH的新特徵
https://en.bitcoin.it/wiki/Transaction
目前比特幣支持兩種類型的交易:Pay-to-PubkeyHash、Pay-to-Script-Hash
驗證一筆P2PKH交易的一個輸入是否合法:
總結:先驗證這筆output是不是屬於該用戶,再驗證該用戶的簽名是否有效
參考:
https://blog.csdn.net/jerry81333/article/details/56824166
初級版的比特幣交易
https://www.jianshu.com/p/a57795ec562c
Ⅷ btc/ltc/eth/etc是什麼意思
BTC是比特幣
LTC是萊特幣
ETH是以太坊
ETC是以太坊經典
Ⅸ 『學概念找員外』門限密碼與多重簽名
密鑰分存還是有一個問題:密鑰分存之後,如果後面要用原密鑰來簽名,那就需要取得子密鑰,還原成原密鑰,然後才能簽名。這個過程有可能被黑客乘虛而入,盜取密鑰。
密碼學可以解決這個問題。如果子密鑰儲存在不同的設備中,可以以去中心化的方式還原原密鑰,而不是在某台設備上完成,這種技術叫門限簽名(threshold signature)技術。典型的例子就是使用雙重安全機制的電子錢包(N=2且K=2),如果兩個子密鑰分別保存在個人電腦和手機上,你可以在電腦上發起付款,這時,電腦會生成一個簽名片段,並發送到你的手機上,然後,手機會提示你付款信息(包括收款人、金額等),然後等待你確認。如果你確認了付款信息,這時,手機會利用它的子密鑰完成整個簽名,然後廣播到區塊鏈上。萬一黑客控制了你的電腦,試圖把比特幣轉到他的賬戶,你根據手機上的付款信息就知道有問題了,從而不會確認這筆交易。門限密碼涉及的數學細節比較復雜,員外也看不懂,所以就不展開討論了。
門限簽名是密碼學中的一項技術,將一個密鑰切分成不同片段,分別儲存,在交易簽名時無須還原原密鑰。而多重簽名是比特幣腳本的特性,把一個比特幣賬戶的控制權交給多個密鑰,這些密鑰共同保障賬戶安全。門限簽名和多重簽名都能克服密鑰單點保存的缺陷。
還有另外一種方法可以克服密鑰單點保存的缺陷,即多重簽名(multisignatures),這個名詞在第3章曾出現過。通過比特幣腳本,可以直接把一個比特幣賬戶的控制權交給多個密鑰,而不是將密鑰分存。這些密鑰可以保存在不同的地點,並分別生成簽名。當然,最終完成的交易的信息還是會保存在某台設備上,但即使黑客控制了這台設備,他所能做的也只不過阻止這個交易被廣播到整個網路上去。沒有其他設備參與,他無法生成出一個正當有效的多重簽名。
舉例來說,假設A、B、C、D、E是一家公司的創始人,這家公司有許多的比特幣。我們可能會用多重簽名來保護這些比特幣。這5個人,每人都有一對密鑰,我們可以用其中的3個簽名來保護冷儲存,一筆交易需要5個人中至少3個人的簽名才能完成。
這樣,只要我們5個人在不同地方且使用不同的安全措施保存各自的密鑰,那麼比特幣就會相當安全。黑客必須盜取我們當中3個人的密鑰,才能盜取比特幣。即便我們其中一個或兩個背棄了我們,他(們)也無法捲款而逃,因為他們還需要另一個簽名。同時,如果我們其中一個遺失了密鑰,其他人還是可以取出比特幣,並轉到新的賬戶,重新設置密碼。總而言之,多重簽名可以比較妥善地管理在冷儲存端的大額比特幣,任何重大事項都需要多人的參與才能實現。
上文中,我們說到,人們使用門限簽名技術的原因是為了實現雙重安全機制或多重安全機制,使用多重簽名技術的原因是為了實現多人對共同財產實現共同控制。實際上,這兩種技術都可以實現上述兩種目的。